1{ lib 2, stdenv 3, apscheduler 4, bitstring 5, buildPythonPackage 6, cffi 7, ecdsa 8, fetchFromGitHub 9, monero 10, poetry-core 11, pypng 12, pyqrcode 13, pyramid 14, pyramid-jinja2 15, pysocks 16, pytestCheckHook 17, pythonOlder 18, pythonRelaxDepsHook 19, requests 20, tzlocal 21, waitress 22, webtest 23, yoyo-migrations 24}: 25 26buildPythonPackage rec { 27 pname = "cypherpunkpay"; 28 version = "1.0.16"; 29 format = "pyproject"; 30 31 disabled = pythonOlder "3.7"; 32 33 src = fetchFromGitHub { 34 owner = "CypherpunkPay"; 35 repo = "CypherpunkPay"; 36 rev = "refs/tags/v${version}"; 37 hash = "sha256-X0DB0PVwR0gRnt3jixFzglWAOPKBMvqTOG6pK6OJ03w="; 38 }; 39 40 pythonRelaxDeps = [ 41 "bitstring" 42 "cffi" 43 "ecdsa" 44 "pypng" 45 "tzlocal" 46 "yoyo-migrations" 47 ]; 48 49 nativeBuildInputs = [ 50 poetry-core 51 pythonRelaxDepsHook 52 ]; 53 54 propagatedBuildInputs = [ 55 apscheduler 56 bitstring 57 cffi 58 ecdsa 59 monero 60 pypng 61 pyqrcode 62 pyramid 63 pyramid-jinja2 64 pysocks 65 requests 66 tzlocal 67 waitress 68 yoyo-migrations 69 ]; 70 71 nativeCheckInputs = [ 72 pytestCheckHook 73 webtest 74 ]; 75 76 pytestFlagsArray = [ 77 "-W" 78 "ignore::DeprecationWarning" 79 ]; 80 81 disabledTestPaths = [ 82 # performance test 83 "tests/unit/tools/pbkdf2_test.py" 84 # tests require network connection 85 "tests/network/explorers/bitcoin" 86 "tests/network/monero/monero_address_transactions_db_test.py" 87 "tests/network/net/http_client" 88 "tests/network/prices" 89 # tests require bitcoind running 90 "tests/network/full_node_clients" 91 # tests require lnd running 92 "tests/network/ln" 93 # tests require tor running 94 "tests/network/monero/monero_test.py" 95 "tests/network/net/tor_client" 96 "tests/network/usecases/calc_monero_address_credits_uc_test.py" 97 "tests/network/usecases/fetch_monero_txs_from_open_node_uc_test.py" 98 # tests require the full environment running 99 "tests/acceptance/views" 100 "tests/acceptance/views_admin" 101 "tests/acceptance/views_donations" 102 "tests/acceptance/views_dummystore" 103 ]; 104 105 pythonImportsCheck = [ 106 "cypherpunkpay" 107 ]; 108 109 meta = with lib; { 110 description = "Modern self-hosted software for accepting Bitcoin"; 111 homepage = "https://github.com/CypherpunkPay/CypherpunkPay"; 112 changelog = "https://github.com/CypherpunkPay/CypherpunkPay/releases/tag/v${version}"; 113 license = with licenses; [ mit /* or */ unlicense ]; 114 maintainers = with maintainers; [ prusnak ]; 115 }; 116}