nixpkgs/pkgs/development/python-modules/pywbem/default.nix

50 lines
1.5 KiB
Nix

{ stdenv, buildPythonPackage, fetchFromGitHub, fetchpatch, libxml2
, m2crypto, ply, pyyaml, six
, httpretty, lxml, mock, pytest, requests
}:
buildPythonPackage rec {
name = "pywbem-${version}";
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 ];
};
}