1{ 2 lib, 3 buildPythonPackage, 4 docker, 5 fetchFromGitHub, 6 keystoneauth1, 7 openstackdocstheme, 8 osc-lib, 9 oslo-i18n, 10 oslo-log, 11 oslo-utils, 12 pbr, 13 prettytable, 14 pythonOlder, 15 setuptools, 16 sphinxHook, 17 stestr, 18 websocket-client, 19}: 20 21buildPythonPackage rec { 22 pname = "python-zunclient"; 23 version = "5.3.0"; 24 pyproject = true; 25 26 disabled = pythonOlder "3.8"; 27 28 src = fetchFromGitHub { 29 owner = "openstack"; 30 repo = "python-zunclient"; 31 tag = version; 32 hash = "sha256-qBpsahkVZEQwsVcNJFtRSJvvxGITauAJ6Zv8p+70hh0="; 33 }; 34 35 env.PBR_VERSION = version; 36 37 build-system = [ 38 pbr 39 setuptools 40 ]; 41 42 nativeBuildInputs = [ 43 openstackdocstheme 44 sphinxHook 45 ]; 46 47 sphinxBuilders = [ "man" ]; 48 49 # python-openstackclient is unused upstream 50 # and will cause infinite recursion in openstackclient-full package. 51 pythonRemoveDeps = [ "python-openstackclient" ]; 52 53 dependencies = [ 54 docker 55 keystoneauth1 56 osc-lib 57 oslo-i18n 58 oslo-log 59 oslo-utils 60 prettytable 61 websocket-client 62 ]; 63 64 nativeCheckInputs = [ stestr ]; 65 66 checkPhase = '' 67 runHook preCheck 68 stestr run -e <(echo " 69 zunclient.tests.unit.test_shell.ShellTest.test_main_endpoint_internal 70 zunclient.tests.unit.test_shell.ShellTest.test_main_endpoint_public 71 zunclient.tests.unit.test_shell.ShellTest.test_main_env_region 72 zunclient.tests.unit.test_shell.ShellTest.test_main_no_region 73 zunclient.tests.unit.test_shell.ShellTest.test_main_option_region 74 zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_endpoint_internal 75 zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_endpoint_public 76 zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_env_region 77 zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_no_region 78 zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_option_region 79 ") 80 runHook postCheck 81 ''; 82 83 pythonImportsCheck = [ "zunclient" ]; 84 85 meta = { 86 homepage = "https://github.com/openstack/python-zunclient"; 87 description = "Client library for OpenStack Zun API"; 88 license = lib.licenses.asl20; 89 mainProgram = "zun"; 90 teams = [ lib.teams.openstack ]; 91 }; 92}