nixpkgs/pkgs/development/python-modules/python-novaclient/default.nix
Vinetos 017cd20dac
python3Packages.python-novaclient: 18.11.0 -> 18.12.0
Update package to latest version, build from sources,
use stestrCheckHook and versionCheckHook
Update non-working tests
2026-02-28 22:37:59 +01:00

115 lines
2 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
pbr,
setuptools,
# direct
keystoneauth1,
iso8601,
oslo-i18n,
oslo-serialization,
oslo-utils,
prettytable,
stevedore,
# tests
stestrCheckHook,
versionCheckHook,
coverage,
fixtures,
requests-mock,
openstacksdk,
osprofiler,
openssl,
testscenarios,
testtools,
tempest,
# docs
sphinxHook,
openstackdocstheme,
sphinxcontrib-apidoc,
}:
buildPythonPackage (finalAttrs: {
pname = "python-novaclient";
version = "18.12.0";
pyproject = true;
src = fetchFromGitHub {
owner = "openstack";
repo = "python-novaclient";
tag = finalAttrs.version;
hash = "sha256-ZVJXGGceY7tnD/rkMkZjn5zifATeLYRGEVI2iLKERJ8=";
};
patches = [
./fix-setup-cfg.patch
];
env.PBR_VERSION = finalAttrs.version;
nativeBuildInputs = [
openstackdocstheme
sphinxcontrib-apidoc
sphinxHook
];
sphinxBuilders = [ "man" ];
build-system = [
pbr
setuptools
];
dependencies = [
keystoneauth1
iso8601
oslo-i18n
oslo-serialization
oslo-utils
pbr
prettytable
stevedore
];
nativeCheckInputs = [
stestrCheckHook
coverage
fixtures
requests-mock
openstacksdk
osprofiler
openssl
testscenarios
testtools
tempest
];
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
pythonImportsCheck = [
"novaclient"
"novaclient.v2"
"novaclient.tests"
"novaclient.tests.functional"
"novaclient.tests.functional.api"
"novaclient.tests.functional.v2"
"novaclient.tests.functional.v2.legacy"
"novaclient.tests.unit"
"novaclient.tests.unit.fixture_data"
"novaclient.tests.unit.v2"
];
meta = {
description = "Client library for OpenStack Compute API";
mainProgram = "nova";
homepage = "https://docs.openstack.org/python-novaclient/latest/";
downloadPage = "https://github.com/openstack/python-novaclient/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
teams = [ lib.teams.openstack ];
};
})