From 769f992fbcc8257cc89e74db1add01796c9c0909 Mon Sep 17 00:00:00 2001 From: arcnmx Date: Thu, 11 Jul 2019 08:20:27 -0700 Subject: [PATCH 1/2] electrum: 3.3.7 -> 3.3.8 --- pkgs/applications/misc/electrum/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 0de055df569..61819f15f3a 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -14,14 +14,14 @@ }: let - version = "3.3.7"; + version = "3.3.8"; # Not provided in official source releases, which are what upstream signs. tests = fetchFromGitHub { owner = "spesmilo"; repo = "electrum"; rev = version; - sha256 = "1g2kbbsi6k105q6s0la20h12gz8dzka5kdcjbdhs12jqsjfx3lr0"; + sha256 = "1di8ba77kgapcys0d7h5nx1qqakv3s60c6sp8skw8p69ramsl73c"; extraPostFetch = '' mv $out ./all @@ -36,7 +36,7 @@ python3Packages.buildPythonApplication rec { src = fetchurl { url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; - sha256 = "13ahc4zqpgzmck2r663sqqgz86xsd83r5qqi26mh2vazy1i6pykz"; + sha256 = "1g00cj1pmckd4xis8r032wmraiv3vd3zc803hnyxa2bnhj8z3bg2"; }; postUnpack = '' From 36f9da4ec43b849f913faefa52db49900ce59d53 Mon Sep 17 00:00:00 2001 From: arcnmx Date: Thu, 11 Jul 2019 07:08:57 -0700 Subject: [PATCH 2/2] electrum: optional qt5 and darwin fixes qt5 is often broken on darwin, and it's a massive closure when there's a curses interface and CLI to use instead. --- pkgs/applications/misc/electrum/default.nix | 28 +++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 61819f15f3a..5233aaf8fcd 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 +, enableQt ? !stdenv.isDarwin # for updater.nix @@ -16,6 +17,15 @@ let version = "3.3.8"; + libsecp256k1_name = + if stdenv.isLinux then "libsecp256k1.so.0" + else if stdenv.isDarwin then "libsecp256k1.0.dylib" + else "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}"; + + libzbar_name = + if stdenv.isLinux then "libzbar.so.0" + else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}"; + # Not provided in official source releases, which are what upstream signs. tests = fetchFromGitHub { owner = "spesmilo"; @@ -56,9 +66,7 @@ python3Packages.buildPythonApplication rec { protobuf pyaes pycryptodomex - pyqt5 pysocks - qdarkstyle qrcode requests tlslite-ng @@ -70,15 +78,20 @@ python3Packages.buildPythonApplication rec { # TODO plugins # amodem - ]; + ] ++ stdenv.lib.optionals enableQt [ pyqt5 qdarkstyle ]; preBuild = '' sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py - sed -i "s|name = 'libzbar.*'|name='${zbar}/lib/libzbar.so'|" electrum/qrscanner.py - substituteInPlace ./electrum/ecc_fast.py --replace libsecp256k1.so.0 ${secp256k1}/lib/libsecp256k1.so.0 - ''; + substituteInPlace ./electrum/ecc_fast.py \ + --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary} + '' + (if enableQt then '' + substituteInPlace ./electrum/qrscanner.py \ + --replace ${libzbar_name} ${zbar}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary} + '' else '' + sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt + ''); - postInstall = '' + postInstall = stdenv.lib.optionalString stdenv.isLinux '' # Despite setting usr_share above, these files are installed under # $out/nix ... mv $out/${python3.sitePackages}/nix/store"/"*/share $out @@ -123,6 +136,7 @@ python3Packages.buildPythonApplication rec { ''; homepage = https://electrum.org/; license = licenses.mit; + platforms = platforms.all; maintainers = with maintainers; [ ehmry joachifm np ]; }; }