nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 cliff,
5 fetchPypi,
6 keystoneauth1,
7 makePythonPath,
8 openstackdocstheme,
9 installer,
10 osc-lib,
11 oslo-serialization,
12 oslo-utils,
13 pbr,
14 python-neutronclient,
15 requests,
16 setuptools,
17 sphinx,
18 sphinxcontrib-apidoc,
19 callPackage,
20}:
21
22buildPythonPackage rec {
23 pname = "python-octaviaclient";
24 version = "3.12.0";
25 pyproject = true;
26
27 src = fetchPypi {
28 pname = "python_octaviaclient";
29 inherit version;
30 hash = "sha256-5brfxkpJQousEcXl0YerzYDjrfl0XyWV0RXPTz146Y4=";
31 };
32
33 # NOTE(vinetos): This explicit dependency is removed to avoid infinite recursion
34 pythonRemoveDeps = [ "python-openstackclient" ];
35
36 build-system = [
37 setuptools
38 pbr
39 ];
40
41 nativeBuildInputs = [
42 openstackdocstheme
43 sphinx
44 sphinxcontrib-apidoc
45 ];
46
47 dependencies = [
48 cliff
49 keystoneauth1
50 python-neutronclient
51 osc-lib
52 oslo-serialization
53 oslo-utils
54 requests
55 ];
56
57 # Checks moved to 'passthru.tests' to workaround infinite recursion
58 doCheck = false;
59
60 passthru.tests = {
61 tests = callPackage ./tests.nix { };
62 };
63
64 pythonImportsCheck = [ "octaviaclient" ];
65
66 meta = {
67 description = "OpenStack Octavia Command-line Client";
68 homepage = "https://github.com/openstack/python-octaviaclient";
69 license = lib.licenses.asl20;
70 teams = [ lib.teams.openstack ];
71 };
72}