1{
2 lib,
3 buildPythonPackage,
4 cliff,
5 fetchFromGitea,
6 keystoneauth1,
7 openstackdocstheme,
8 os-client-config,
9 osc-lib,
10 oslo-i18n,
11 oslo-serialization,
12 oslo-utils,
13 oslotest,
14 osprofiler,
15 pbr,
16 pythonOlder,
17 pyyaml,
18 requests-mock,
19 requests,
20 setuptools,
21 sphinxcontrib-apidoc,
22 sphinxHook,
23 stestr,
24 stevedore,
25 tempest,
26}:
27
28buildPythonPackage rec {
29 pname = "python-mistralclient";
30 version = "5.4.0";
31 pyproject = true;
32
33 disabled = pythonOlder "3.8";
34
35 src = fetchFromGitea {
36 domain = "opendev.org";
37 owner = "openstack";
38 repo = "python-mistralclient";
39 rev = version;
40 hash = "sha256-c1kMDyRNMZKnDvL993WvZSsjkXgYLM2+9KBmF+I4vnM=";
41 };
42
43 env.PBR_VERSION = version;
44
45 nativeBuildInputs = [
46 openstackdocstheme
47 sphinxHook
48 sphinxcontrib-apidoc
49 ];
50
51 sphinxBuilders = [ "man" ];
52
53 build-system = [
54 setuptools
55 pbr
56 ];
57
58 dependencies = [
59 cliff
60 keystoneauth1
61 osc-lib
62 oslo-i18n
63 oslo-serialization
64 oslo-utils
65 pbr
66 pyyaml
67 requests
68 stevedore
69 ];
70
71 nativeCheckInputs = [
72 os-client-config
73 oslotest
74 osprofiler
75 requests-mock
76 stestr
77 tempest
78 ];
79
80 checkPhase = ''
81 runHook preCheck
82 stestr run
83 runHook postCheck
84 '';
85
86 pythonImportsCheck = [ "mistralclient" ];
87
88 meta = with lib; {
89 description = "OpenStack Mistral Command-line Client";
90 homepage = "https://opendev.org/openstack/python-mistralclient/";
91 license = licenses.asl20;
92 mainProgram = "mistral";
93 teams = [ teams.openstack ];
94 };
95}