diff --git a/pkgs/development/python-modules/python-openstackclient/default.nix b/pkgs/development/python-modules/python-openstackclient/default.nix index d54b7d906d2f..ffa0017a6e2f 100644 --- a/pkgs/development/python-modules/python-openstackclient/default.nix +++ b/pkgs/development/python-modules/python-openstackclient/default.nix @@ -18,6 +18,7 @@ python-neutronclient, python-openstackclient, python-zaqarclient, + python-zunclient, requests-mock, requests, setuptools, @@ -81,6 +82,7 @@ buildPythonPackage rec { python-mistralclient python-neutronclient python-zaqarclient + python-zunclient ]; }; tests.version = testers.testVersion { diff --git a/pkgs/development/python-modules/python-zunclient/default.nix b/pkgs/development/python-modules/python-zunclient/default.nix new file mode 100644 index 000000000000..f538cdbac638 --- /dev/null +++ b/pkgs/development/python-modules/python-zunclient/default.nix @@ -0,0 +1,92 @@ +{ + lib, + buildPythonPackage, + docker, + fetchFromGitHub, + keystoneauth1, + openstackdocstheme, + osc-lib, + oslo-i18n, + oslo-log, + oslo-utils, + pbr, + prettytable, + pythonOlder, + setuptools, + sphinxHook, + stestr, + websocket-client, +}: + +buildPythonPackage rec { + pname = "python-zunclient"; + version = "5.0.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "openstack"; + repo = "python-zunclient"; + rev = "refs/tags/${version}"; + hash = "sha256-EVfrxSc/eHYZR0FGFnNAxFCiXangt8uRkAC2zpwWqcA="; + }; + + env.PBR_VERSION = version; + + build-system = [ + pbr + setuptools + ]; + + nativeBuildInputs = [ + openstackdocstheme + sphinxHook + ]; + + sphinxBuilders = [ "man" ]; + + # python-openstackclient is unused upstream + # and will cause infinite recursion in openstackclient-full package. + pythonRemoveDeps = [ "python-openstackclient" ]; + + dependencies = [ + docker + keystoneauth1 + osc-lib + oslo-i18n + oslo-log + oslo-utils + prettytable + websocket-client + ]; + + nativeCheckInputs = [ stestr ]; + + checkPhase = '' + runHook preCheck + stestr run -e <(echo " + zunclient.tests.unit.test_shell.ShellTest.test_main_endpoint_internal + zunclient.tests.unit.test_shell.ShellTest.test_main_endpoint_public + zunclient.tests.unit.test_shell.ShellTest.test_main_env_region + zunclient.tests.unit.test_shell.ShellTest.test_main_no_region + zunclient.tests.unit.test_shell.ShellTest.test_main_option_region + zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_endpoint_internal + zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_endpoint_public + zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_env_region + zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_no_region + zunclient.tests.unit.test_shell.ShellTestKeystoneV3.test_main_option_region + ") + runHook postCheck + ''; + + pythonImportsCheck = [ "zunclient" ]; + + meta = { + homepage = "https://opendev.org/openstack/python-zunclient"; + description = "Client library for OpenStack Zun API"; + license = lib.licenses.asl20; + mainProgram = "zun"; + maintainers = lib.teams.openstack.members; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a5f76ffe5856..90e1360cdd14 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22915,6 +22915,7 @@ with pkgs; mistralclient = with python311Packages; toPythonApplication python-mistralclient; swiftclient = with python311Packages; toPythonApplication python-swiftclient; troveclient = with python311Packages; toPythonApplication python-troveclient; + zunclient = with python311Packages; toPythonApplication python-zunclient; openvdb = callPackage ../development/libraries/openvdb { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 07bbb8a3f241..acac2234ca16 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12860,6 +12860,8 @@ self: super: with self; { python-zbar = callPackage ../development/python-modules/python-zbar { }; + python-zunclient = callPackage ../development/python-modules/python-zunclient { }; + pythran = callPackage ../development/python-modules/pythran { inherit (pkgs.llvmPackages) openmp; };