Revert "electron-cash: remove" (partially) (#419708)
This commit is contained in:
commit
07b143237d
119
pkgs/by-name/el/electron-cash/package.nix
Normal file
119
pkgs/by-name/el/electron-cash/package.nix
Normal file
@ -0,0 +1,119 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
qt5,
|
||||
secp256k1,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "electron-cash";
|
||||
version = "4.4.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Electron-Cash";
|
||||
repo = "Electron-Cash";
|
||||
tag = version;
|
||||
sha256 = "sha256-hqaPxetS6JONvlRMjNonXUGFpdmnuadD00gcPzY07x0=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
cython
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
# requirements
|
||||
pyaes
|
||||
ecdsa
|
||||
requests
|
||||
qrcode
|
||||
protobuf
|
||||
jsonrpclib-pelix
|
||||
pysocks
|
||||
qdarkstyle
|
||||
python-dateutil
|
||||
stem
|
||||
certifi
|
||||
pathvalidate
|
||||
dnspython
|
||||
bitcoinrpc
|
||||
|
||||
# requirements-binaries
|
||||
pyqt5
|
||||
psutil
|
||||
pycryptodomex
|
||||
cryptography
|
||||
zxing-cpp
|
||||
|
||||
# requirements-hw
|
||||
trezor
|
||||
keepkey
|
||||
btchip-python
|
||||
hidapi
|
||||
pyopenssl
|
||||
pyscard
|
||||
pysatochip
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland;
|
||||
|
||||
# 1. If secp256k1 wasn't added to the library path, the following warning is given:
|
||||
#
|
||||
# Electron Cash was unable to find the secp256k1 library on this system.
|
||||
# Elliptic curve cryptography operations will be performed in slow
|
||||
# Python-only mode.
|
||||
#
|
||||
# Upstream hardcoded `libsecp256k1.so.0` where we provides
|
||||
# `libsecp256k1.so.5`. The only breaking change is the removal of two
|
||||
# functions which seem not used by electron-cash.
|
||||
# See: <https://github.com/Electron-Cash/Electron-Cash/issues/3009>
|
||||
#
|
||||
# 2. The code should be compatible with python-dateutil 2.10 which is the
|
||||
# version we have in nixpkgs. Changelog:
|
||||
# <https://dateutil.readthedocs.io/en/latest/changelog.html#version-2-9-0-post0-2024-03-01>
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail "(share_dir" '("share"'
|
||||
substituteInPlace electroncash/secp256k1.py \
|
||||
--replace-fail "libsecp256k1.so.0" "${secp256k1}/lib/libsecp256k1.so.5"
|
||||
substituteInPlace contrib/requirements/requirements.txt \
|
||||
--replace-fail "python-dateutil<2.9" "python-dateutil<2.10"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
output="$($out/bin/electron-cash help 2>&1)"
|
||||
if [[ "$output" == *"failed to load"* ]]; then
|
||||
echo "$output"
|
||||
echo "Forbidden text detected: failed to load"
|
||||
exit 1
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Bitcoin Cash SPV Wallet";
|
||||
mainProgram = "electron-cash";
|
||||
longDescription = ''
|
||||
An easy-to-use Bitcoin Cash client featuring wallets generated from
|
||||
mnemonic seeds (in addition to other, more advanced, wallet options)
|
||||
and the ability to perform transactions without downloading a copy
|
||||
of the blockchain.
|
||||
'';
|
||||
homepage = "https://www.electroncash.org/";
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
nyanloutre
|
||||
oxalica
|
||||
];
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
||||
@ -595,7 +595,6 @@ mapAliases {
|
||||
eidolon = throw "eidolon was removed as it is unmaintained upstream."; # Added 2025-05-28
|
||||
eintopf = lauti; # Project was renamed, added 2025-05-01
|
||||
elasticsearch7Plugins = elasticsearchPlugins;
|
||||
electron-cash = throw "'electron-cash' has been removed due to lack of maintenance."; # Added 2025-06-17
|
||||
electronplayer = throw "'electronplayer' has been removed as it had been discontinued upstream since October 2024"; # Added 2024-12-17
|
||||
|
||||
element-desktop-wayland = throw "element-desktop-wayland has been removed. Consider setting NIXOS_OZONE_WL=1 via 'environment.sessionVariables' instead"; # Added 2024-12-17
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user