summary refs log tree commit diff
path: root/pkgs/development/python-modules/django-allauth
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/django-allauth')
-rw-r--r--pkgs/development/python-modules/django-allauth/default.nix61
1 files changed, 46 insertions, 15 deletions
diff --git a/pkgs/development/python-modules/django-allauth/default.nix b/pkgs/development/python-modules/django-allauth/default.nix
index 439c4c2cb56..49864b0b9bb 100644
--- a/pkgs/development/python-modules/django-allauth/default.nix
+++ b/pkgs/development/python-modules/django-allauth/default.nix
@@ -1,18 +1,35 @@
 { lib
 , buildPythonPackage
-, django
 , fetchFromGitHub
-, python3-openid
 , pythonOlder
+
+# build-system
+, setuptools
+
+# dependencies
+, django
+, python3-openid
 , requests
 , requests-oauthlib
 , pyjwt
+
+# optional-dependencies
+, python3-saml
+, qrcode
+
+# tests
+, pillow
+, pytestCheckHook
+, pytest-django
+
+# passthru tests
+, dj-rest-auth
 }:
 
 buildPythonPackage rec {
   pname = "django-allauth";
-  version = "0.54.0";
-  format = "setuptools";
+  version = "0.57.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -20,13 +37,12 @@ buildPythonPackage rec {
     owner = "pennersr";
     repo = pname;
     rev = version;
-    hash = "sha256-0yJsHJhYeiCHQg/QzFD/metb97rcUJ+LYlsl7fGYmuM=";
+    hash = "sha256-zhKqvm43rw28UKNFdfJ2C1dIeZfPqmchb1rJykm1lx4=";
   };
 
-  postPatch = ''
-    chmod +x manage.py
-    patchShebangs manage.py
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
 
   propagatedBuildInputs = [
     django
@@ -37,19 +53,34 @@ buildPythonPackage rec {
   ]
   ++ pyjwt.optional-dependencies.crypto;
 
-  checkPhase = ''
-    # test is out of date
-    rm allauth/socialaccount/providers/cern/tests.py
-
-    ./manage.py test
-  '';
+  passthru.optional-dependencies = {
+    saml = [
+      python3-saml
+    ];
+    mfa = [
+      qrcode
+    ];
+  };
 
   pythonImportsCheck = [
     "allauth"
   ];
 
+  nativeCheckInputs = [
+    pillow
+    pytestCheckHook
+    pytest-django
+  ]
+  ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  passthru.tests = {
+    inherit dj-rest-auth;
+  };
+
   meta = with lib; {
+    changelog = "https://github.com/pennersr/django-allauth/blob/${version}/ChangeLog.rst";
     description = "Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication";
+    downloadPage = "https://github.com/pennersr/django-allauth";
     homepage = "https://www.intenct.nl/projects/django-allauth";
     license = licenses.mit;
     maintainers = with maintainers; [ derdennisop ];