{ stdenv, buildPythonPackage, fetchFromGitHub, libxml2 , m2crypto, ply, pyyaml, six , httpretty, lxml, mock, pytest, requests }: buildPythonPackage rec { pname = "pywbem"; version = "0.10.0"; src = fetchFromGitHub { owner = "pywbem"; repo = "pywbem"; rev = "v${version}"; sha256 = "0jcwklip03xcni0dvsk9va8ilqz21g4fxwqd5kzvv91slaadfcym"; }; patches = [ # fix timezone handling so the tests pass again. Can go when 0.10.1 is released # https://github.com/pywbem/pywbem/issues/755#issuecomment-327508681 ./make_cimdatetime_timezone_aware.patch ]; propagatedBuildInputs = [ m2crypto ply pyyaml six ]; checkInputs = [ httpretty lxml mock pytest requests ]; # 1 test fails because it doesn't like running in our sandbox. Deleting the # whole file is admittedly a little heavy-handed but at least the vast # majority of tests are run. checkPhase = '' rm testsuite/testclient/networkerror.yaml substituteInPlace makefile \ --replace "PYTHONPATH=." "" \ --replace '--cov $(package_name) --cov-config coveragerc' "" for f in testsuite/test_cim_xml.py testsuite/validate.py ; do substituteInPlace $f --replace "'xmllint" "'${stdenv.lib.getBin libxml2}/bin/xmllint" done make PATH=$PATH:${stdenv.lib.getBin libxml2}/bin test ''; meta = with stdenv.lib; { description = "Support for the WBEM standard for systems management."; homepage = http://pywbem.github.io/pywbem/; license = licenses.gpl2; maintainers = with maintainers; [ peterhoeg ]; }; }