depot/third_party/nixpkgs/pkgs/development/python-modules/cypherpunkpay/default.nix

104 lines
2.3 KiB
Nix
Raw Normal View History

{ stdenv
, lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, apscheduler
, bitstring
, cffi
, ecdsa
, monero
, pypng
, pyqrcode
, pyramid
, pyramid_jinja2
, pysocks
, requests
, tzlocal
, waitress
, yoyo-migrations
, pytestCheckHook
, pytest-cov
, webtest
}:
buildPythonPackage rec {
pname = "cypherpunkpay";
version = "1.0.16";
format = "pyproject";
src = fetchFromGitHub {
owner = "CypherpunkPay";
repo = "CypherpunkPay";
rev = "refs/tags/v${version}";
hash = "sha256-X0DB0PVwR0gRnt3jixFzglWAOPKBMvqTOG6pK6OJ03w=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "bitstring = '^3.1.9'" "bitstring = '>=3.1.9'" \
--replace 'cffi = "1.15.0"' 'cffi = ">=1.15.0"' \
--replace 'ecdsa = "^0.17.0"' 'ecdsa = ">=0.17.0"' \
--replace 'pypng = "^0.0.20"' 'pypng = ">=0.0.20"' \
--replace 'tzlocal = "2.1"' 'tzlocal = ">=2.1"'
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
apscheduler
bitstring
cffi
ecdsa
monero
pypng
pyqrcode
pyramid
pyramid_jinja2
pysocks
requests
tzlocal
waitress
yoyo-migrations
];
nativeCheckInputs = [
pytestCheckHook
pytest-cov
webtest
];
disabledTestPaths = [
# performance test
"tests/unit/tools/pbkdf2_test.py"
# tests require network connection
"tests/network/explorers/bitcoin"
"tests/network/monero/monero_address_transactions_db_test.py"
"tests/network/net/http_client"
"tests/network/prices"
# tests require bitcoind running
"tests/network/full_node_clients"
# tests require lnd running
"tests/network/ln"
# tests require tor running
"tests/network/monero/monero_test.py"
"tests/network/net/tor_client"
"tests/network/usecases/calc_monero_address_credits_uc_test.py"
"tests/network/usecases/fetch_monero_txs_from_open_node_uc_test.py"
# tests require the full environment running
"tests/acceptance/views"
"tests/acceptance/views_admin"
"tests/acceptance/views_donations"
"tests/acceptance/views_dummystore"
];
meta = with lib; {
description = "Modern self-hosted software for accepting Bitcoin";
homepage = "https://cypherpunkpay.org";
license = with licenses; [ mit /* or */ unlicense ];
maintainers = with maintainers; [ prusnak ];
};
}