From 4bc8335bb4e33456284682459fe15c4dbdd5bcaf Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 7 Apr 2023 19:35:32 +0200 Subject: [PATCH 1/4] maintainers: add derdennisop --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4f0dc0531b2f..f599ed191611 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3679,6 +3679,12 @@ githubId = 706758; name = "Christian Gerbrandt"; }; + derdennisop = { + email = "dennish@wuitz.de"; + github = "derdennisop"; + githubId = 52411861; + name = "Dennis"; + }; derekcollison = { email = "derek@nats.io"; github = "derekcollison"; From 373e52bcfe59d8d1aef4ec72c184930a81605e45 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 7 Apr 2023 19:32:13 +0200 Subject: [PATCH 2/4] python310Packages.django-phonenumber-field: add optional-dependencies, move babel to tests babel is optional --- .../python-modules/django-phonenumber-field/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/django-phonenumber-field/default.nix b/pkgs/development/python-modules/django-phonenumber-field/default.nix index e056b32426b2..e646d69303f6 100644 --- a/pkgs/development/python-modules/django-phonenumber-field/default.nix +++ b/pkgs/development/python-modules/django-phonenumber-field/default.nix @@ -32,11 +32,10 @@ buildPythonPackage rec { propagatedBuildInputs = [ django - phonenumbers - babel - ]; + ] ++ passthru.optional-dependencies.phonenumbers; nativeCheckInputs = [ + babel djangorestframework ]; @@ -48,6 +47,10 @@ buildPythonPackage rec { ${python.interpreter} -m django test --settings tests.settings ''; + passthru.optional-dependencies = { + phonenumbers = [ phonenumbers ]; + }; + meta = with lib; { description = "A django model and form field for normalised phone numbers using python-phonenumbers"; homepage = "https://github.com/stefanfoulis/django-phonenumber-field/"; From ea0fe11aea5b14dce8838f58c8381e0dc4c8d75d Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 7 Apr 2023 17:56:21 +0200 Subject: [PATCH 3/4] python3.pkgs.mercadopago: init at 2.2.0 --- .../python-modules/mercadopago/default.nix | 40 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 42 insertions(+) create mode 100644 pkgs/development/python-modules/mercadopago/default.nix diff --git a/pkgs/development/python-modules/mercadopago/default.nix b/pkgs/development/python-modules/mercadopago/default.nix new file mode 100644 index 000000000000..aebb28c185a5 --- /dev/null +++ b/pkgs/development/python-modules/mercadopago/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, requests +}: + +buildPythonPackage rec { + pname = "mercadopago"; + version = "2.2.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "mercadopago"; + repo = "sdk-python"; + rev = "refs/tags/${version}"; + hash = "sha256-HtPyIwip/cjvnBDZ0qGpLKJOkwETGSqXvTkH2pcd6cc="; + }; + + propagatedBuildInputs = [ + requests + ]; + + # require internet + doCheck = false; + + pythonImportsCheck = [ + "mercadopago" + ]; + + meta = with lib; { + description = "This library provides developers with a simple set of bindings to help you integrate Mercado Pago API to a website and start receiving payments."; + homepage = "https://www.mercadopago.com"; + changelog = "https://github.com/mercadopago/sdk-python/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ derdennisop ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 627b11b5ad99..136f5bb2cc43 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5961,6 +5961,8 @@ self: super: with self; { meraki = callPackage ../development/python-modules/meraki { }; + mercadopago = callPackage ../development/python-modules/mercadopago { }; + mercantile = callPackage ../development/python-modules/mercantile { }; mercurial = toPythonModule (pkgs.mercurial.override { From bddff58799c11c7f52684022c4c012eeb5ddc355 Mon Sep 17 00:00:00 2001 From: Dennis Date: Fri, 7 Apr 2023 17:56:51 +0200 Subject: [PATCH 4/4] python3.pkgs.django-payments: init at 2.0.0 --- .../django-payments/default.nix | 73 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 75 insertions(+) create mode 100644 pkgs/development/python-modules/django-payments/default.nix diff --git a/pkgs/development/python-modules/django-payments/default.nix b/pkgs/development/python-modules/django-payments/default.nix new file mode 100644 index 000000000000..577a2ca5132e --- /dev/null +++ b/pkgs/development/python-modules/django-payments/default.nix @@ -0,0 +1,73 @@ +{ lib +, buildPythonPackage +, braintree +, cryptography +, django +, django-phonenumber-field +, fetchFromGitHub +, mercadopago +, pythonOlder +, requests +, setuptools-scm +, sphinx-rtd-theme +, stripe +, xmltodict +}: + +buildPythonPackage rec { + pname = "django-payments"; + version = "2.0.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "jazzband"; + repo = "django-payments"; + rev = "refs/tags/v${version}"; + hash = "sha256-6WPV08CV+rko/tRnsT5GyTGYaJbiIKTvpisfRwizBIo="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace "django-phonenumber-field[phonenumberslite]" "django-phonenumber-field" + ''; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + django + django-phonenumber-field + requests + ] ++ django-phonenumber-field.optional-dependencies.phonenumbers; + + # require internet connection + doCheck = false; + + pythonImportsCheck = [ + "payments" + ]; + + passthru.optional-dependencies = { + all = [ braintree /* suds-community */ mercadopago cryptography xmltodict stripe ]; + braintree = [ braintree ]; + cybersource = [ /* suds-community */ ]; + docs = [ sphinx-rtd-theme ]; + mercadopago = [ mercadopago ]; + sagepay = [ cryptography ]; + sofort = [ xmltodict ]; + stripe = [ stripe ]; + }; + + meta = with lib; { + description = "Universal payment handling for Django."; + homepage = "https://github.com/jazzband/django-payments/"; + changelog = "https://github.com/jazzband/django-payments/releases/tag/v${version}"; + license = licenses.bsd3; + maintainers = with maintainers; [ derdennisop ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 136f5bb2cc43..1d09b2970961 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2681,6 +2681,8 @@ self: super: with self; { django-pattern-library = callPackage ../development/python-modules/django-pattern-library { }; + django-payments = callPackage ../development/python-modules/django-payments { }; + django-pglocks = callPackage ../development/python-modules/django-pglocks { }; django-phonenumber-field = callPackage ../development/python-modules/django-phonenumber-field { };