nixpkgs/pkgs/development/python-modules/cypherpunkpay/default.nix
2024-05-22 17:32:03 +02:00

120 lines
2.4 KiB
Nix

{
lib,
stdenv,
apscheduler,
bitstring,
buildPythonPackage,
cffi,
ecdsa,
fetchFromGitHub,
monero,
poetry-core,
pypng,
pyqrcode,
pyramid,
pyramid-jinja2,
pysocks,
pytestCheckHook,
pythonOlder,
pythonRelaxDepsHook,
requests,
tzlocal,
waitress,
webtest,
yoyo-migrations,
}:
buildPythonPackage rec {
pname = "cypherpunkpay";
version = "1.0.16";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "CypherpunkPay";
repo = "CypherpunkPay";
rev = "refs/tags/v${version}";
hash = "sha256-X0DB0PVwR0gRnt3jixFzglWAOPKBMvqTOG6pK6OJ03w=";
};
pythonRelaxDeps = [
"bitstring"
"cffi"
"ecdsa"
"pypng"
"tzlocal"
"yoyo-migrations"
"waitress"
];
nativeBuildInputs = [
poetry-core
pythonRelaxDepsHook
];
propagatedBuildInputs = [
apscheduler
bitstring
cffi
ecdsa
monero
pypng
pyqrcode
pyramid
pyramid-jinja2
pysocks
requests
tzlocal
waitress
yoyo-migrations
];
nativeCheckInputs = [
pytestCheckHook
webtest
];
pytestFlagsArray = [
"-W"
"ignore::DeprecationWarning"
];
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"
];
pythonImportsCheck = [ "cypherpunkpay" ];
meta = with lib; {
description = "Modern self-hosted software for accepting Bitcoin";
homepage = "https://github.com/CypherpunkPay/CypherpunkPay";
changelog = "https://github.com/CypherpunkPay/CypherpunkPay/releases/tag/v${version}";
license = with licenses; [
mit # or
unlicense
];
maintainers = with maintainers; [ prusnak ];
};
}