about summary refs log tree commit diff
path: root/pkgs/development/python-modules/pykwalify/default.nix
blob: 991e822d42a225fc98aa47e98326a5e188bea60d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{ 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 ];
  };
}