diff --git a/pkgs/development/python-modules/openshift/default.nix b/pkgs/development/python-modules/openshift/default.nix index cf604ea38181..78e0c53c9112 100644 --- a/pkgs/development/python-modules/openshift/default.nix +++ b/pkgs/development/python-modules/openshift/default.nix @@ -1,23 +1,33 @@ -{ - lib - , buildPythonPackage - , fetchPypi - , jinja2 - , kubernetes - , ruamel-yaml - , six - , python-string-utils +{ lib +, buildPythonPackage +, fetchFromGitHub +, jinja2 +, kubernetes +, ruamel-yaml +, six +, python-string-utils +, pytest-bdd +, pytestCheckHook }: buildPythonPackage rec { pname = "openshift"; version = "0.12.1"; - src = fetchPypi { - inherit pname version; - sha256 = "a38957684b17ad0e140a87226249bf26de7267db0c83a6d512b48be258052e1a"; + src = fetchFromGitHub { + owner = "openshift"; + repo = "openshift-restclient-python"; + rev = "v${version}"; + sha256 = "1di55xg3nl4dwrrfw314p4mfm6593kdi7ia517v1sm6x5p4hjl78"; }; + postPatch = '' + substituteInPlace requirements.txt \ + --replace "kubernetes ~= 12.0" "kubernetes" + + sed -i '/--cov/d' setup.cfg + ''; + propagatedBuildInputs = [ jinja2 kubernetes @@ -26,10 +36,18 @@ buildPythonPackage rec { six ]; - # tries to connect to the network - doCheck = false; pythonImportsCheck = ["openshift"]; + checkInputs = [ + pytest-bdd + pytestCheckHook + ]; + + disabledTestPaths = [ + # requires docker + "test/functional" + ]; + meta = with lib; { description = "Python client for the OpenShift API"; homepage = "https://github.com/openshift/openshift-restclient-python";