add Electron Cash
This commit is contained in:
parent
da165bcf5d
commit
cb83f0e4c9
6 changed files with 318 additions and 0 deletions
133
.github/workflows/electron-cash.yml
vendored
Normal file
133
.github/workflows/electron-cash.yml
vendored
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
name: electron-cash
|
||||
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 6 * * 6' # 6 am on Saturdays
|
||||
push:
|
||||
paths:
|
||||
- 'containers/cachyos/electron-cash/**'
|
||||
|
||||
env:
|
||||
# Use docker.io for Docker Hub if empty
|
||||
REGISTRY: ghcr.io
|
||||
# github.repository as <account>/<repo>
|
||||
IMAGE_NAME: ${{ github.repository_owner }}/containers/cachyos/electron-cash
|
||||
IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }}
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
# This is used to complete the identity challenge
|
||||
# with sigstore/fulcio when running outside of PRs.
|
||||
id-token: write
|
||||
|
||||
steps:
|
||||
- name: Maximize build space
|
||||
uses: AdityaGarg8/remove-unwanted-software@v1
|
||||
with:
|
||||
remove-dotnet: 'true'
|
||||
remove-android: 'true'
|
||||
remove-haskell: 'true'
|
||||
|
||||
- name: Get current date
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y%m%d')"
|
||||
|
||||
- name: Test with environment variables
|
||||
run: echo $DATE
|
||||
env:
|
||||
DATE: ${{ steps.date.outputs.date }}
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Install the cosign tool except on PR
|
||||
# https://github.com/sigstore/cosign-installer
|
||||
- name: Install cosign
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: sigstore/cosign-installer@6e04d228eb30da1757ee4e1dd75a0ec73a653e06 #v3.1.1
|
||||
with:
|
||||
cosign-release: 'v2.1.1'
|
||||
|
||||
# Login against a Docker registry except on PR
|
||||
# https://github.com/docker/login-action
|
||||
- name: Log into registry ${{ env.REGISTRY }}
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Extract metadata (tags, labels) for Docker
|
||||
# https://github.com/docker/metadata-action
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
|
||||
|
||||
# Build image using Buildah action
|
||||
- name: Build Image
|
||||
id: build_image
|
||||
uses: redhat-actions/buildah-build@v2
|
||||
with:
|
||||
containerfiles: |
|
||||
./containers/cachyos/electron-cash/Dockerfile
|
||||
image: ${{ env.IMAGE_NAME }}
|
||||
tags: ${{ steps.meta.outputs.tags }} ${{ steps.meta.outputs.tags }}.${{ steps.date.outputs.date }}
|
||||
oci: false
|
||||
layers: false
|
||||
|
||||
# Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR.
|
||||
# https://github.com/macbre/push-to-ghcr/issues/12
|
||||
- name: Lowercase Registry
|
||||
id: registry_case
|
||||
uses: ASzc/change-string-case-action@v5
|
||||
with:
|
||||
string: ${{ env.IMAGE_REGISTRY }}
|
||||
|
||||
# Push the image to GHCR (Image Registry)
|
||||
- name: Push To GHCR
|
||||
uses: redhat-actions/push-to-registry@v2
|
||||
id: push
|
||||
if: github.event_name != 'pull_request'
|
||||
env:
|
||||
REGISTRY_USER: ${{ github.actor }}
|
||||
REGISTRY_PASSWORD: ${{ github.token }}
|
||||
with:
|
||||
image: ${{ steps.build_image.outputs.image }}
|
||||
tags: ${{ steps.build_image.outputs.tags }}
|
||||
registry: ${{ steps.registry_case.outputs.lowercase }}
|
||||
username: ${{ env.REGISTRY_USER }}
|
||||
password: ${{ env.REGISTRY_PASSWORD }}
|
||||
extra-args: |
|
||||
--disable-content-trust
|
||||
|
||||
|
||||
|
||||
# Sign the resulting Docker image digest except on PRs.
|
||||
# This will only write to the public Rekor transparency log when the Docker
|
||||
# repository is public to avoid leaking data. If you would like to publish
|
||||
# transparency data even for private images, pass --force to cosign below.
|
||||
# https://github.com/sigstore/cosign
|
||||
- name: Sign the published Docker image
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
env:
|
||||
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
|
||||
TAGS: ${{ steps.meta.outputs.tags }}
|
||||
DIGEST: ${{ steps.push.outputs.digest }}
|
||||
# This step uses the identity token to provision an ephemeral certificate
|
||||
# against the sigstore community Fulcio instance.
|
||||
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}
|
||||
17
containers/cachyos/electron-cash/Dockerfile
Normal file
17
containers/cachyos/electron-cash/Dockerfile
Normal 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
|
||||
|
||||
52
containers/cachyos/electron-cash/electron-cash/.SRCINFO
Normal file
52
containers/cachyos/electron-cash/electron-cash/.SRCINFO
Normal 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
|
||||
105
containers/cachyos/electron-cash/electron-cash/PKGBUILD
Normal file
105
containers/cachyos/electron-cash/electron-cash/PKGBUILD
Normal 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:
|
||||
|
|
@ -61,3 +61,12 @@ pull=true
|
|||
root=false
|
||||
replace=false
|
||||
home="~/containers/lbry"
|
||||
|
||||
[electron-cash]
|
||||
image=ghcr.io/andersrh/containers/cachyos/electron-cash:main
|
||||
init=false
|
||||
#nvidia=true
|
||||
pull=true
|
||||
root=false
|
||||
replace=false
|
||||
home="~/containers/electron-cash"
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ podman rm -f ledgerlive2
|
|||
podman rm -f development
|
||||
podman rm -f bitwarden
|
||||
podman rm -f lbry
|
||||
podman rm -f electron-cash
|
||||
|
||||
distrobox assemble create --file /etc/distrobox.ini
|
||||
|
||||
|
|
@ -22,3 +23,4 @@ distrobox enter development -- distrobox-export --app codium
|
|||
|
||||
distrobox enter bitwarden -- distrobox-export --app bitwarden-desktop
|
||||
distrobox enter lbry -- distrobox-export --app lbry
|
||||
distrobox enter electron-cash -- distrobox-export --app electron-cash
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue