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