electron-cash: use pyproject = true

This commit is contained in:
oxalica 2025-06-24 19:11:29 -04:00
parent 87d6077818
commit 0ccdb32d4f

View File

@ -10,6 +10,7 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "electron-cash"; pname = "electron-cash";
version = "4.4.2"; version = "4.4.2";
pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Electron-Cash"; owner = "Electron-Cash";
@ -20,9 +21,10 @@ python3Packages.buildPythonApplication rec {
build-system = with python3Packages; [ build-system = with python3Packages; [
cython cython
setuptools
]; ];
propagatedBuildInputs = with python3Packages; [ dependencies = with python3Packages; [
# requirements # requirements
pyaes pyaes
ecdsa ecdsa
@ -60,7 +62,7 @@ python3Packages.buildPythonApplication rec {
buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland; buildInputs = [ ] ++ lib.optional stdenv.hostPlatform.isLinux qt5.qtwayland;
# If secp256k1 wasn't added to the library path, the following warning is given: # 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. # Electron Cash was unable to find the secp256k1 library on this system.
# Elliptic curve cryptography operations will be performed in slow # Elliptic curve cryptography operations will be performed in slow
@ -70,11 +72,17 @@ python3Packages.buildPythonApplication rec {
# `libsecp256k1.so.5`. The only breaking change is the removal of two # `libsecp256k1.so.5`. The only breaking change is the removal of two
# functions which seem not used by electron-cash. # functions which seem not used by electron-cash.
# See: <https://github.com/Electron-Cash/Electron-Cash/issues/3009> # 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 = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace-fail "(share_dir" '("share"' --replace-fail "(share_dir" '("share"'
substituteInPlace electroncash/secp256k1.py \ substituteInPlace electroncash/secp256k1.py \
--replace-fail "libsecp256k1.so.0" "${secp256k1}/lib/libsecp256k1.so.5" --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 = '' preFixup = ''