1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 defusedxml,
6 django,
7 pysaml2,
8 pythonOlder,
9 setuptools,
10}:
11
12buildPythonPackage rec {
13 pname = "djangosaml2";
14 version = "1.11.1-1";
15 pyproject = true;
16
17 disabled = pythonOlder "3.9";
18
19 src = fetchFromGitHub {
20 owner = "IdentityPython";
21 repo = "djangosaml2";
22 tag = "v${version}";
23 hash = "sha256-f7VgysfGpwt4opmXXaigRsOBS506XB/jZV1zRiYwZig=";
24 };
25
26 build-system = [ setuptools ];
27
28 dependencies = [
29 django
30 defusedxml
31 pysaml2
32 ];
33
34 # Falsely complains that 'defusedxml>=0.4.1 not satisfied by version 0.8.0rc2'
35 pythonRelaxDeps = [ "defusedxml" ];
36
37 pythonImportsCheck = [ "djangosaml2" ];
38
39 checkPhase = ''
40 runHook preCheck
41
42 python tests/run_tests.py
43
44 runHook postCheck
45 '';
46
47 meta = {
48 description = "Django SAML2 Service Provider based on pySAML2";
49 homepage = "https://github.com/IdentityPython/djangosaml2";
50 changelog = "https://github.com/IdentityPython/djangosaml2/releases/tag/${src.tag}";
51 license = lib.licenses.asl20;
52 maintainers = with lib.maintainers; [ melvyn2 ];
53 };
54}