68 lines
1.8 KiB
Nix
68 lines
1.8 KiB
Nix
{
|
|
lib,
|
|
buildPythonPackage,
|
|
fetchpatch,
|
|
python-dateutil,
|
|
docopt,
|
|
fetchPypi,
|
|
pytestCheckHook,
|
|
ruamel-yaml,
|
|
testfixtures,
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
version = "1.8.0";
|
|
format = "setuptools";
|
|
pname = "pykwalify";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-eWsq0+1MuZuIMItTP7L1WcMPpu+0+p/aETR/SD0kWIQ=";
|
|
};
|
|
|
|
patches = [
|
|
# fix test failures with ruamel.yaml 0.18+
|
|
(fetchpatch {
|
|
name = "pykwalify-fix-tests-ruamel-yaml-0.18.patch";
|
|
url = "https://github.com/Grokzen/pykwalify/commit/57bb2ba5c28b6928edb3f07ef581a5a807524baf.diff";
|
|
hash = "sha256-XUiebDzFSvNrPpRMoc2lv9m+30cfFh0N0rznMiSdQ/0=";
|
|
})
|
|
];
|
|
|
|
propagatedBuildInputs = [
|
|
python-dateutil
|
|
docopt
|
|
ruamel-yaml
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
pytestCheckHook
|
|
testfixtures
|
|
];
|
|
|
|
pythonImportsCheck = [ "pykwalify" ];
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/Grokzen/pykwalify";
|
|
description = "YAML/JSON validation library";
|
|
mainProgram = "pykwalify";
|
|
longDescription = ''
|
|
This framework is a port with a lot of added functionality
|
|
of the Java version of the framework kwalify that can be found at
|
|
http://www.kuwata-lab.com/kwalify/
|
|
|
|
The original source code can be found at
|
|
http://sourceforge.net/projects/kwalify/files/kwalify-java/0.5.1/
|
|
|
|
The source code of the latest release that has been used can be found at
|
|
https://github.com/sunaku/kwalify.
|
|
Please note that source code is not the original authors code
|
|
but a fork/upload of the last release available in Ruby.
|
|
|
|
The schema this library is based on and extended from:
|
|
http://www.kuwata-lab.com/kwalify/ruby/users-guide.01.html#schema
|
|
'';
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ siriobalmelli ];
|
|
};
|
|
}
|