1{
2 lib,
3 buildPythonPackage,
4 cliff,
5 fetchFromGitHub,
6 keystoneauth1,
7 openstackdocstheme,
8 oslo-i18n,
9 oslo-serialization,
10 oslo-utils,
11 pbr,
12 requests-mock,
13 requests,
14 setuptools,
15 sphinxcontrib-apidoc,
16 sphinxHook,
17 stestr,
18}:
19
20buildPythonPackage rec {
21 pname = "python-barbicanclient";
22 version = "7.2.0";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "openstack";
27 repo = "python-barbicanclient";
28 tag = version;
29 hash = "sha256-HhWWUM0lK0B0ySItrT6z5QCXzStuiJzDZFoEb+WRodA=";
30 };
31
32 env.PBR_VERSION = version;
33
34 postPatch = ''
35 # Disable rsvgconverter not needed to build manpage
36 substituteInPlace doc/source/conf.py \
37 --replace-fail "'sphinxcontrib.rsvgconverter'," "#'sphinxcontrib.rsvgconverter',"
38 '';
39
40 build-system = [
41 openstackdocstheme
42 pbr
43 setuptools
44 sphinxHook
45 sphinxcontrib-apidoc
46 ];
47
48 sphinxBuilders = [ "man" ];
49
50 dependencies = [
51 cliff
52 keystoneauth1
53 oslo-i18n
54 oslo-serialization
55 oslo-utils
56 requests
57 ];
58
59 nativeCheckInputs = [
60 requests-mock
61 stestr
62 ];
63
64 checkPhase = ''
65 runHook preCheck
66 stestr run
67 runHook postCheck
68 '';
69
70 pythonImportsCheck = [ "barbicanclient" ];
71
72 meta = {
73 homepage = "https://opendev.org/openstack/python-barbicanclient";
74 description = "Client library for OpenStack Barbican API";
75 license = lib.licenses.asl20;
76 mainProgram = "barbican";
77 teams = [ lib.teams.openstack ];
78 };
79}