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