electrum: fix build, update to 4.5.6 (#349753)

This commit is contained in:
Pavol Rusnak 2024-10-19 15:51:10 +02:00 committed by GitHub
commit 76e497cb6a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,7 +1,7 @@
{ lib
, stdenv
, fetchurl
, fetchFromGitHub
, protobuf
, wrapQtAppsHook
, python3
, zbar
@ -9,28 +9,9 @@
, enableQt ? true
, callPackage
, qtwayland
, fetchPypi
}:
let
version = "4.5.5";
python = python3.override {
self = python;
packageOverrides = self: super: {
# Pin ledger-bitcoin to 0.2.1
ledger-bitcoin = super.ledger-bitcoin.overridePythonAttrs (oldAttrs: rec {
version = "0.2.1";
format = "pyproject";
src = fetchPypi {
pname = "ledger_bitcoin";
inherit version;
hash = "sha256-AWl/q2MzzspNIo6yf30S92PgM/Ygsb+1lJsg7Asztso=";
};
});
};
};
libsecp256k1_name =
if stdenv.hostPlatform.isLinux then "libsecp256k1.so.{v}"
else if stdenv.hostPlatform.isDarwin then "libsecp256k1.{v}.dylib"
@ -41,39 +22,21 @@ let
else if stdenv.hostPlatform.isDarwin then "libzbar.0.dylib"
else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
# Not provided in official source releases, which are what upstream signs.
tests = fetchFromGitHub {
owner = "spesmilo";
repo = "electrum";
rev = version;
sha256 = "sha256-CbhI/q+zjk9odxuvdzpogi046FqkedJooiQwS+WAkJ8=";
postFetch = ''
mv $out ./all
mv ./all/tests $out
'';
};
in
python.pkgs.buildPythonApplication {
python3.pkgs.buildPythonApplication rec {
pname = "electrum";
inherit version;
version = "4.5.6";
src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "1jiagz9avkbd158pcip7p4wz0pdsxi94ndvg5p8afvshb32aqwav";
hash = "sha256-LO2ZUvbDJaIxrdgA+cM3sGgqJ+N+UlA9ObNINQcrorA=";
};
postUnpack = ''
# can't symlink, tests get confused
cp -ar ${tests} $sourceRoot/tests
'';
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
build-system = [ protobuf ] ++ lib.optionals enableQt [ wrapQtAppsHook ];
buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qtwayland;
propagatedBuildInputs = with python.pkgs; [
dependencies = with python3.pkgs; [
aiohttp
aiohttp-socks
aiorpcx
@ -104,7 +67,7 @@ python.pkgs.buildPythonApplication {
qdarkstyle
];
checkInputs = with python.pkgs; lib.optionals enableQt [
checkInputs = with python3.pkgs; lib.optionals enableQt [
pyqt6
];
@ -136,7 +99,7 @@ python.pkgs.buildPythonApplication {
wrapQtApp $out/bin/electrum
'';
nativeCheckInputs = with python.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
nativeCheckInputs = with python3.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
pytestFlagsArray = [ "tests" ];