diff options
author | Yarny0 <41838844+Yarny0@users.noreply.github.com> | 2024-05-06 16:37:39 +0200 |
---|---|---|
committer | Yarny0 <41838844+Yarny0@users.noreply.github.com> | 2024-05-06 16:37:39 +0200 |
commit | 0e513f0435b2edb2c53412df873b46c583b0f9b5 (patch) | |
tree | 48a9a7d089ac38028bd2aa85cee3ee481e96f78e /pkgs/applications/misc | |
parent | 25865a40d14b3f9cf19f19b924e2ab4069b09588 (diff) |
electrum: add patch for aiorpcx compatibility
electrum is quite strict about the aiorpcx version is accepts. With commit 97b53be7078dc8938fcedfb244459bd82884145c , aiorpcx got updated to 0.23.1 which is too much for electrum. Upstream already has a patch to extend the range of aiorpcx versions it permits. We apply that patch until a the next release of electrum. Unfortunatelly, the patch -- which we take from the GitHub source repository -- does not patch every file that that is needed to be patched in the distribution tarball. Hence we have to copy the patched file over another file in the `postPatch` hook of the build process. See the comments there for more information.
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r-- | pkgs/applications/misc/electrum/default.nix | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index eb24885ca1425..8250ebfe289b9 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchurl , fetchFromGitHub +, fetchpatch , wrapQtAppsHook , python3 , zbar @@ -109,7 +110,30 @@ python.pkgs.buildPythonApplication { pyqt6 ]; + patches = [ + # aiorpcx 0.23.1 compatibility + # Note: this patches `/run_electrum`. + # In the source repo, `/electrum/electrum` + # is a symlink to `../run_electrum`, + # so that path would also be affected by the patch. + # However, in the distribution tarball used here, + # `/electrum/electrum` is simply an exact copy of + # `/run_electrum` and is thereby *not* affected. + # So we have to manually copy the patched `/run_electrum` + # over `/electrum/electrum` after the patching (see below). + # XXX remove the copy command in `postPatch` + # as soon as the patch itself is removed! + (fetchpatch { + url = "https://github.com/spesmilo/electrum/commit/5f95d919dfa9868eaf82889903b94faa8c6443e0.patch"; + hash = "sha256-cEkduLsL6A8qPhXS2KPQWzVtkQPYQhHSbuwQ2SnanHw="; + }) + ]; + postPatch = '' + # copy the patched `/run_electrum` over `/electrum/electrum` + # so the aiorpcx compatibility patch is used + cp run_electrum electrum/electrum + # make compatible with protobuf4 by easing dependencies ... substituteInPlace ./contrib/requirements/requirements.txt \ --replace "protobuf>=3.20,<4" "protobuf>=3.20" |