1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 ddt,
6 installShellFiles,
7 openstackdocstheme,
8 osc-lib,
9 pbr,
10 python-cinderclient,
11 python-keystoneclient,
12 python-novaclient,
13 requests-mock,
14 sphinx,
15 sphinxcontrib-apidoc,
16 stestr,
17}:
18
19buildPythonPackage rec {
20 pname = "python-openstackclient";
21 version = "6.6.0";
22 format = "setuptools";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-u+8e00gpxBBSsuyiZIDinKH3K+BY0UMNpTQexExPKVw=";
27 };
28
29 nativeBuildInputs = [
30 installShellFiles
31 openstackdocstheme
32 sphinx
33 sphinxcontrib-apidoc
34 ];
35
36 propagatedBuildInputs = [
37 osc-lib
38 pbr
39 python-cinderclient
40 python-keystoneclient
41 python-novaclient
42 ];
43
44 postInstall = ''
45 sphinx-build -a -E -d doc/build/doctrees -b man doc/source doc/build/man
46 installManPage doc/build/man/openstack.1
47 '';
48
49 nativeCheckInputs = [
50 ddt
51 stestr
52 requests-mock
53 ];
54
55 checkPhase = ''
56 stestr run
57 '';
58
59 pythonImportsCheck = [ "openstackclient" ];
60
61 meta = with lib; {
62 description = "OpenStack Command-line Client";
63 mainProgram = "openstack";
64 homepage = "https://github.com/openstack/python-openstackclient";
65 license = licenses.asl20;
66 maintainers = teams.openstack.members;
67 };
68}