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