diff --git a/pkgs/development/python-modules/dogpile-cache/default.nix b/pkgs/development/python-modules/dogpile-cache/default.nix index 0f0c8c5a4c1e..a68fcad4bdb3 100644 --- a/pkgs/development/python-modules/dogpile-cache/default.nix +++ b/pkgs/development/python-modules/dogpile-cache/default.nix @@ -6,6 +6,7 @@ pytestCheckHook, mako, decorator, + stdenv, stevedore, typing-extensions, }: @@ -34,6 +35,19 @@ buildPythonPackage rec { mako ]; + disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [ + # AssertionError: != 'some value 1' + "test_expire_override" + # flaky + "test_get_value_plus_created_long_create" + "test_get_value_plus_created_registry_safe_cache_quick" + "test_get_value_plus_created_registry_safe_cache_slow" + "test_get_value_plus_created_registry_unsafe_cache" + "test_quick" + "test_return_while_in_progress" + "test_slow" + ]; + meta = { description = "Caching front-end based on the Dogpile lock"; homepage = "https://github.com/sqlalchemy/dogpile.cache"; diff --git a/pkgs/development/python-modules/python-novaclient/default.nix b/pkgs/development/python-modules/python-novaclient/default.nix index c45c8ea95b7a..8ccc43b6825f 100644 --- a/pkgs/development/python-modules/python-novaclient/default.nix +++ b/pkgs/development/python-modules/python-novaclient/default.nix @@ -1,35 +1,56 @@ { lib, buildPythonPackage, - fetchPypi, - ddt, - iso8601, + fetchFromGitHub, + pbr, + setuptools, + + # direct keystoneauth1, - openssl, - openstackdocstheme, + iso8601, oslo-i18n, oslo-serialization, - pbr, + oslo-utils, prettytable, + stevedore, + + # tests + stestrCheckHook, + versionCheckHook, + coverage, + fixtures, requests-mock, - setuptools, - sphinxcontrib-apidoc, - sphinxHook, - stestr, + openstacksdk, + osprofiler, + openssl, testscenarios, + testtools, + tempest, + + # docs + sphinxHook, + openstackdocstheme, + sphinxcontrib-apidoc, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "python-novaclient"; - version = "18.11.0"; + version = "18.12.0"; pyproject = true; - src = fetchPypi { - pname = "python_novaclient"; - inherit version; - hash = "sha256-CjGuIHedTNFxuynB/k5rIrnH2Xx5Zw21FJu9+sA/V9w="; + 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 @@ -38,43 +59,57 @@ buildPythonPackage rec { sphinxBuilders = [ "man" ]; - build-system = [ setuptools ]; + build-system = [ + pbr + setuptools + ]; dependencies = [ - iso8601 keystoneauth1 + iso8601 oslo-i18n oslo-serialization + oslo-utils pbr prettytable + stevedore ]; nativeCheckInputs = [ - ddt - openssl + stestrCheckHook + coverage + fixtures requests-mock - stestr + openstacksdk + osprofiler + openssl testscenarios + testtools + tempest ]; - checkPhase = '' - runHook preCheck - stestr run -e <(echo " - novaclient.tests.unit.test_shell.ParserTest.test_ambiguous_option - novaclient.tests.unit.test_shell.ParserTest.test_not_really_ambiguous_option - novaclient.tests.unit.test_shell.ShellTest.test_osprofiler - novaclient.tests.unit.test_shell.ShellTestKeystoneV3.test_osprofiler - ") - runHook postCheck - ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; - pythonImportsCheck = [ "novaclient" ]; + 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://github.com/openstack/python-novaclient"; + 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 ]; }; -} +}) diff --git a/pkgs/development/python-modules/python-novaclient/fix-setup-cfg.patch b/pkgs/development/python-modules/python-novaclient/fix-setup-cfg.patch new file mode 100644 index 000000000000..c3b3cd49340a --- /dev/null +++ b/pkgs/development/python-modules/python-novaclient/fix-setup-cfg.patch @@ -0,0 +1,21 @@ +diff --git a/setup.cfg b/setup.cfg +index d78f2950..50a0f7cd 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -25,9 +25,13 @@ classifier = + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: Implementation :: CPython + +-[files] +-packages = +- novaclient ++[options] ++packages=find: ++ ++[options.packages.find] ++exclude = ++ releasenotes ++ releasenotes.* + + [entry_points] + console_scripts =