1{ lib 2, buildPythonPackage 3, fetchPypi 4, installShellFiles 5, mock 6, openstacksdk 7, pbr 8, python-keystoneclient 9, pythonOlder 10, stestr 11}: 12 13buildPythonPackage rec { 14 pname = "python-swiftclient"; 15 version = "4.4.0"; 16 format = "setuptools"; 17 18 disabled = pythonOlder "3.6"; 19 20 src = fetchPypi { 21 inherit pname version; 22 hash = "sha256-p32Xqw5AEsZ4cy5XW9/u0oKzSJuRdegsRqR6yEke7oQ="; 23 }; 24 25 # remove duplicate script that will be created by setuptools from the 26 # entry_points section of setup.cfg 27 postPatch = '' 28 sed -i '/^scripts =/d' setup.cfg 29 sed -i '/bin\/swift/d' setup.cfg 30 ''; 31 32 nativeBuildInputs = [ 33 installShellFiles 34 ]; 35 36 propagatedBuildInputs = [ 37 pbr 38 python-keystoneclient 39 ]; 40 41 nativeCheckInputs = [ 42 mock 43 openstacksdk 44 stestr 45 ]; 46 47 postInstall = '' 48 installShellCompletion --cmd swift \ 49 --bash tools/swift.bash_completion 50 installManPage doc/manpages/* 51 ''; 52 53 checkPhase = '' 54 stestr run 55 ''; 56 57 pythonImportsCheck = [ 58 "swiftclient" 59 ]; 60 61 meta = with lib; { 62 homepage = "https://github.com/openstack/python-swiftclient"; 63 description = "Python bindings to the OpenStack Object Storage API"; 64 license = licenses.asl20; 65 maintainers = teams.openstack.members; 66 }; 67}