python-packages/joinmarket: update

- Add `doCheck = false` and `pythonImportsCheck` where appropriate.
  This is good practice in general, but specifically works around a
  `buildPythonPackage` bug where the test phase fails due to a
  requirements check that is unrelated to testing.

- Enable tests for `jmbitcoin`.

- Patch some requirements. I've checked the release notes of the
  required deps for backwards compatibility.
This commit is contained in:
Erik Arvstedt 2023-12-02 23:26:56 +01:00
parent de51f20ccb
commit dc1033f1c8
No known key found for this signature in database
GPG key ID: 33312B944DD97846
7 changed files with 71 additions and 72 deletions

View file

@ -1,4 +1,23 @@
{ version, src, lib, buildPythonPackage, fetchurl, future, configparser, joinmarketbase, joinmarketdaemon, mnemonic, argon2_cffi, bencoderpyx, joinmarketbitcoin, klein, pyjwt, autobahn, werkzeug }:
{
pipBuildHook
, version
, src
, lib
, buildPythonPackage
, argon2_cffi
, autobahn
, bencoderpyx
, configparser
, fetchurl
, future
, joinmarketbase
, joinmarketbitcoin
, joinmarketdaemon
, klein
, mnemonic
, pyjwt
, werkzeug
}:
buildPythonPackage rec {
pname = "joinmarketclient";
@ -6,17 +25,39 @@ buildPythonPackage rec {
postUnpack = "sourceRoot=$sourceRoot/jmclient";
checkInputs = [ joinmarketbitcoin joinmarketdaemon ];
propagatedBuildInputs = [ future configparser joinmarketbase mnemonic argon2_cffi bencoderpyx klein pyjwt autobahn werkzeug ];
propagatedBuildInputs = [
argon2_cffi
autobahn
bencoderpyx
configparser
future
joinmarketbase
joinmarketbitcoin
joinmarketdaemon
klein
mnemonic
pyjwt
werkzeug
];
patchPhase = ''
substituteInPlace setup.py \
--replace "'klein==20.6.0'" "'klein>=20.6.0'"
substituteInPlace setup.py \
--replace "'pyjwt==2.4.0'" "'pyjwt==2.6.0'"
--replace "'argon2_cffi==21.3.0'" "'argon2_cffi==23.1.0'"
substituteInPlace setup.py \
--replace "'pyjwt==2.4.0'" "'pyjwt==2.8.0'"
substituteInPlace setup.py \
--replace "'werkzeug==2.2.3'" "'werkzeug==2.3.7'"
'';
# The unit tests can't be run in a Nix build environment
doCheck = false;
pythonImportsCheck = [
"jmclient"
];
meta = with lib; {
description = "Client library for Bitcoin coinjoins";
homepage = "https://github.com/Joinmarket-Org/joinmarket-clientserver";