1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 keystoneauth1,
6 openstackdocstheme,
7 osc-lib,
8 oslo-serialization,
9 oslo-utils,
10 oslotest,
11 pbr,
12 pythonOlder,
13 setuptools,
14 sphinxHook,
15 stestr,
16}:
17
18buildPythonPackage rec {
19 pname = "osc-placement";
20 version = "4.7.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.9";
24
25 src = fetchFromGitHub {
26 owner = "openstack";
27 repo = "osc-placement";
28 tag = version;
29 hash = "sha256-OLvi/eIgEEUoZKxowU7On5m2OkRsCEsU/Me7rPruIdM=";
30 };
31
32 env.PBR_VERSION = version;
33
34 build-system = [
35 pbr
36 setuptools
37 ];
38
39 nativeBuildInputs = [
40 openstackdocstheme
41 sphinxHook
42 ];
43
44 sphinxBuilders = [ "man" ];
45
46 dependencies = [
47 keystoneauth1
48 osc-lib
49 oslo-utils
50 pbr
51 ];
52
53 nativeCheckInputs = [
54 oslo-serialization
55 oslotest
56 stestr
57 ];
58
59 checkPhase = ''
60 runHook preCheck
61 stestr run
62 runHook postCheck
63 '';
64
65 pythonImportsCheck = [ "osc_placement" ];
66
67 meta = {
68 homepage = "https://github.com/openstack/osc-placement";
69 description = "OpenStackClient plugin for the Placement service";
70 license = lib.licenses.asl20;
71 teams = [ lib.teams.openstack ];
72 };
73}