1{ lib 2, buildPythonPackage 3, braintree 4, cryptography 5, django 6, django-phonenumber-field 7, fetchFromGitHub 8, mercadopago 9, pythonOlder 10, requests 11, setuptools-scm 12, sphinx-rtd-theme 13, stripe 14, xmltodict 15}: 16 17buildPythonPackage rec { 18 pname = "django-payments"; 19 version = "2.0.0"; 20 format = "setuptools"; 21 22 disabled = pythonOlder "3.7"; 23 24 src = fetchFromGitHub { 25 owner = "jazzband"; 26 repo = "django-payments"; 27 rev = "refs/tags/v${version}"; 28 hash = "sha256-6WPV08CV+rko/tRnsT5GyTGYaJbiIKTvpisfRwizBIo="; 29 }; 30 31 postPatch = '' 32 substituteInPlace setup.py \ 33 --replace "django-phonenumber-field[phonenumberslite]" "django-phonenumber-field" 34 ''; 35 36 env.SETUPTOOLS_SCM_PRETEND_VERSION = version; 37 38 nativeBuildInputs = [ 39 setuptools-scm 40 ]; 41 42 propagatedBuildInputs = [ 43 django 44 django-phonenumber-field 45 requests 46 ] ++ django-phonenumber-field.optional-dependencies.phonenumbers; 47 48 # require internet connection 49 doCheck = false; 50 51 pythonImportsCheck = [ 52 "payments" 53 ]; 54 55 passthru.optional-dependencies = { 56 all = [ braintree /* suds-community */ mercadopago cryptography xmltodict stripe ]; 57 braintree = [ braintree ]; 58 cybersource = [ /* suds-community */ ]; 59 docs = [ sphinx-rtd-theme ]; 60 mercadopago = [ mercadopago ]; 61 sagepay = [ cryptography ]; 62 sofort = [ xmltodict ]; 63 stripe = [ stripe ]; 64 }; 65 66 meta = with lib; { 67 description = "Universal payment handling for Django."; 68 homepage = "https://github.com/jazzband/django-payments/"; 69 changelog = "https://github.com/jazzband/django-payments/releases/tag/v${version}"; 70 license = licenses.bsd3; 71 maintainers = with maintainers; [ derdennisop ]; 72 }; 73}