net-misc/electrum: Use signed release tarballs

Closes: https://bugs.gentoo.org/947176
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2025-01-01 07:42:28 +01:00
parent 64d917608b
commit 20e7f5a3eb
2 changed files with 131 additions and 0 deletions

View File

@@ -1 +1,3 @@
DIST Electrum-4.5.8.tar.gz 13752500 BLAKE2B e8995e98c90dde3ae758df7e2a959d33c91ddddba5c950e24b3ca2d216f3aaa06e2186db02240f739ac76778affcc952671e7bde3e6bf86ff0f2f9a820e60ac6 SHA512 ccf45dc5e3a615d446e0714ddaa9ef74b96829bdf9a5236e18efff5f014ca18c48502a375ec98c9bc170f1db69e846b7015ca715b9cac8d77afde9f1939bc403
DIST Electrum-4.5.8.tar.gz.asc 2499 BLAKE2B a2cd9a2ab2b071bd5fea37bc9aa8a42bae68671d850d762753955bb43be562e25a4d3bdefcd3d7c1840e5e19e16237d7516a110d759733f73c0d66a67f9703f5 SHA512 f15a7b68fa2039f75d99729a34c207f31181afeb865db7cf5b27b68f9a7a4054e9d7ea46bda39fa3441cc6d1c798ae0c797dfdf1c178d2121ba2aff3b434d09a
DIST electrum-4.5.8.gh.tar.gz 5896794 BLAKE2B a58a62adfdfe9d3f033033f9120e697cb2c2441076abfc7e914ad7185b9bbe63d81e2c305b80ab57cd0649274f9077f3c4ae59d6236a0bb23ad6838553186894 SHA512 0e7b15747fcce94ad60f068c013a5f6051402b049bb63493179768f6a4c6cb7b8d1b7b1750861afd89f7ed6a83313dee6d40022098ed2dbb9897fbf31e978350

View File

@@ -0,0 +1,129 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="ncurses?"
inherit distutils-r1 verify-sig xdg-utils
MY_P=${P^}
DESCRIPTION="User friendly Bitcoin client"
HOMEPAGE="
https://electrum.org/
https://github.com/spesmilo/electrum/
"
SRC_URI="
https://download.electrum.org/${PV}/${MY_P}.tar.gz
verify-sig? (
https://download.electrum.org/${PV}/${MY_P}.tar.gz.asc
)
"
S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="cli ncurses qrcode +qt5"
REQUIRED_USE="|| ( cli ncurses qt5 )"
RDEPEND="
${PYTHON_DEPS}
<dev-libs/libsecp256k1-0.6
>=dev-python/aiohttp-socks-0.8.4[${PYTHON_USEDEP}]
=dev-python/aiorpcx-0.23*[${PYTHON_USEDEP}]
>=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
>=dev-python/dnspython-2[${PYTHON_USEDEP}]
dev-python/jsonpatch[${PYTHON_USEDEP}]
dev-python/pbkdf2[${PYTHON_USEDEP}]
dev-python/pyperclip[${PYTHON_USEDEP}]
dev-python/pysocks[${PYTHON_USEDEP}]
dev-python/qrcode[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
>=dev-python/protobuf-3.20[${PYTHON_USEDEP}]
qrcode? ( media-gfx/zbar[v4l] )
qt5? (
dev-python/pyqt5[gui,widgets,${PYTHON_USEDEP}]
)
ncurses? ( $(python_gen_impl_dep 'ncurses') )
"
BDEPEND="
test? (
dev-python/pyaes[${PYTHON_USEDEP}]
dev-python/pycryptodome[${PYTHON_USEDEP}]
)
verify-sig? (
sec-keys/openpgp-keys-electrum
)
"
distutils_enable_tests pytest
EPYTEST_IGNORE=(
# test for qml/PyQt6 GUI that doesn't work anyway
tests/test_qml_types.py
)
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/electrum.asc
src_prepare() {
distutils-r1_src_prepare
# remove bundled dependencies
rm -r packages || die
# use backwards-compatible cryptodome API
sed -i -e 's:Cryptodome:Crypto:' electrum/crypto.py || die
# make qdarkstyle dep optional
sed -i -e '/qdarkstyle/d' contrib/requirements/requirements.txt || die
# remove upper bounds from deps
sed -i -e 's:,<[0-9.]*::' contrib/requirements/requirements.txt || die
local bestgui
if use qt5; then
bestgui=qt
elif use ncurses; then
bestgui=text
else
bestgui=stdio
fi
sed -i 's/^\([[:space:]]*\)\(config_options\['\''cwd'\''\] = .*\)$/\1\2\n\1config_options.setdefault("gui", "'"${bestgui}"'")\n/' ${PN}/${PN} || die
xdg_environment_reset
}
src_install() {
dodoc RELEASE-NOTES
distutils-r1_src_install
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
local v
for v in ${REPLACING_VERSIONS}; do
ver_test "${v}" -ge 4.3.4 && return
done
ewarn "If you are new to BitCoin, please be aware that:"
ewarn "1. Cryptocurrencies are volatile. BTC has been subject to rapid"
ewarn " changes of value in the past."
ewarn "2. Cryptocurrency ownership is determined solely by the access to"
ewarn " the private key. If the key is lost or stolen, BTC are unrevocably"
ewarn " lost."
ewarn "3. Proof-of-work based cryptocurrencies have negative environmental"
ewarn " impact. BTC mining is consuming huge amounts of electricity."
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
}