From bf2a71631fdeb5719492bfeaf9f0fca6170f2c2e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 23 Sep 2021 22:09:25 +0200 Subject: [PATCH] python3Packages.kubernetes: fix build, refactor --- .../python-modules/kubernetes/default.nix | 72 ++++++++++++------- 1 file changed, 48 insertions(+), 24 deletions(-) diff --git a/pkgs/development/python-modules/kubernetes/default.nix b/pkgs/development/python-modules/kubernetes/default.nix index e90f72b0fd25..da3c36f6ce04 100644 --- a/pkgs/development/python-modules/kubernetes/default.nix +++ b/pkgs/development/python-modules/kubernetes/default.nix @@ -1,34 +1,58 @@ -{ lib, buildPythonPackage, fetchPypi, pythonAtLeast, - ipaddress, websocket-client, urllib3, pyyaml, requests_oauthlib, python-dateutil, google-auth, adal, - isort, pytest, coverage, mock, sphinx, autopep8, pep8, codecov, recommonmark, nose }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder + +# propgatedBuildInputs +, adal +, certifi +, google-auth +, python-dateutil +, pyyaml +, requests +, requests_oauthlib +, urllib3 +, websocket-client + +# tests +, pytestCheckHook +, mock +}: buildPythonPackage rec { pname = "kubernetes"; version = "18.20.0"; + format = "setuptools"; + disabled = pythonOlder "3.6"; - prePatch = '' - sed -e 's/sphinx>=1.2.1,!=1.3b1,<1.4 # BSD/sphinx/' -i test-requirements.txt - - # This is used to randomize tests, which is not reproducible. Drop it. - sed -e '/randomize/d' -i test-requirements.txt - '' - # This is a python2 and python3.2 only requiremet since it is a backport of a python-3.3 api. - + (if (pythonAtLeast "3.3") then '' - sed -e '/ipaddress/d' -i requirements.txt - '' else ""); - - doCheck = pythonAtLeast "3"; - checkPhase = '' - py.test --ignore=kubernetes/dynamic/test_client.py - ''; - - src = fetchPypi { - inherit pname version; - sha256 = "0c72d00e7883375bd39ae99758425f5e6cb86388417cf7cc84305c211b2192cf"; + src = fetchFromGitHub { + owner = "kubernetes-client"; + repo = "python"; + rev = "v${version}"; + sha256 = "1sawp62j7h0yksmg9jlv4ik9b9i1a1w9syywc9mv8x89wibf5ql1"; + fetchSubmodules = true; }; - checkInputs = [ isort coverage pytest mock sphinx autopep8 pep8 codecov recommonmark nose ]; - propagatedBuildInputs = [ ipaddress websocket-client urllib3 pyyaml requests_oauthlib python-dateutil google-auth adal ]; + propagatedBuildInputs = [ + adal + certifi + google-auth + python-dateutil + pyyaml + requests + requests_oauthlib + urllib3 + websocket-client + ]; + + pythonImportsCheck = [ + "kubernetes" + ]; + + checkInputs = [ + mock + pytestCheckHook + ]; meta = with lib; { description = "Kubernetes python client";