1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 installShellFiles,
6 mock,
7 openstacksdk,
8 pbr,
9 python-keystoneclient,
10 pythonOlder,
11 stestr,
12}:
13
14buildPythonPackage rec {
15 pname = "python-swiftclient";
16 version = "4.8.0";
17 pyproject = true;
18
19 src = fetchPypi {
20 pname = "python_swiftclient";
21 inherit version;
22 hash = "sha256-RBYsq0aTaMr9wl4MjE6VornbGkRFakjOCA/iyppLOGM=";
23 };
24
25 nativeBuildInputs = [ installShellFiles ];
26
27 build-system = [
28 pbr
29 ];
30
31 dependencies = [
32 python-keystoneclient
33 ];
34
35 nativeCheckInputs = [
36 mock
37 openstacksdk
38 stestr
39 ];
40
41 postInstall = ''
42 installShellCompletion --cmd swift \
43 --bash tools/swift.bash_completion
44 installManPage doc/manpages/*
45 '';
46
47 checkPhase = ''
48 stestr run
49 '';
50
51 pythonImportsCheck = [ "swiftclient" ];
52
53 meta = with lib; {
54 homepage = "https://github.com/openstack/python-swiftclient";
55 description = "Python bindings to the OpenStack Object Storage API";
56 mainProgram = "swift";
57 license = licenses.asl20;
58 teams = [ teams.openstack ];
59 };
60}