1{ lib
2, buildPythonPackage
3, fetchPypi
4, betamax
5, hacking
6, iso8601
7, lxml
8, oauthlib
9, os-service-types
10, oslo-config
11, oslo-utils
12, pbr
13, pycodestyle
14, pyyaml
15, requests
16, requests-kerberos
17, requests-mock
18, six
19, stestr
20, stevedore
21, testresources
22, testtools
23}:
24
25buildPythonPackage rec {
26 pname = "keystoneauth1";
27 version = "5.3.0";
28
29 src = fetchPypi {
30 inherit pname version;
31 hash = "sha256-AXwrm1mUU8kpQHUO27IPF2hxIbKJARS/nTbfFKBicRc=";
32 };
33
34 postPatch = ''
35 # only a small portion of the listed packages are actually needed for running the tests
36 # so instead of removing them one by one remove everything
37 rm test-requirements.txt
38 '';
39
40 propagatedBuildInputs = [
41 betamax
42 iso8601
43 lxml
44 oauthlib
45 os-service-types
46 pbr
47 requests
48 requests-kerberos
49 six
50 stevedore
51 ];
52
53 nativeCheckInputs = [
54 hacking
55 oslo-config
56 oslo-utils
57 pycodestyle
58 pyyaml
59 requests-mock
60 stestr
61 testresources
62 testtools
63 ];
64
65 # test_keystoneauth_betamax_fixture is incompatible with urllib3 2.0.0
66 # https://bugs.launchpad.net/keystoneauth/+bug/2020112
67 checkPhase = ''
68 stestr run \
69 -E "keystoneauth1.tests.unit.test_betamax_fixture.TestBetamaxFixture.test_keystoneauth_betamax_fixture"
70 '';
71
72 pythonImportsCheck = [ "keystoneauth1" ];
73
74 meta = with lib; {
75 description = "Authentication Library for OpenStack Identity";
76 homepage = "https://github.com/openstack/keystoneauth";
77 license = licenses.asl20;
78 maintainers = teams.openstack.members;
79 };
80}