1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, fetchpatch
5, freezegun
6, isodate
7, lxml
8, pythonOlder
9, xmlsec
10}:
11
12buildPythonPackage rec {
13 pname = "python3-saml";
14 version = "1.15.0";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "onelogin";
21 repo = "python3-saml";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-xPPR2z3h8RpoAROpKpu9ZoDxGq5Stm9wQVt4Stj/6fg=";
24 };
25
26 patches = [
27 (fetchpatch {
28 name = "test-expired.patch";
29 url = "https://github.com/SAML-Toolkits/python3-saml/commit/bd65578e5a21494c89320094c61c1c77250bea33.diff";
30 hash = "sha256-9Trew6R5JDjtc0NRGoklqMVDEI4IEqFOdK3ezyBU6gI=";
31 })
32 ];
33
34 propagatedBuildInputs = [
35 isodate
36 lxml
37 xmlsec
38 ];
39
40 nativeCheckInputs = [
41 freezegun
42 ];
43
44 pythonImportsCheck = [
45 "onelogin.saml2"
46 ];
47
48 meta = with lib; {
49 description = "OneLogin's SAML Python Toolkit";
50 homepage = "https://github.com/onelogin/python3-saml";
51 changelog = "https://github.com/SAML-Toolkits/python3-saml/blob/v${version}/changelog.md";
52 license = licenses.mit;
53 maintainers = with maintainers; [ zhaofengli ];
54 };
55}