{ lib
, buildPythonPackage
, fetchPypi
, attrs
, pyrsistent
, setuptools
, six
, functools32
, setuptools_scm
, perf
, twisted
, python
}:

buildPythonPackage rec {
  pname = "jsonschema";
  version = "3.0.1";

  src = fetchPypi {
    inherit pname version;
    sha256 = "03g20i1xfg4qdlk4475pl4pp7y0h37g1fbgs5qhy678q9xb822hc";
  };

  nativeBuildInputs = [
    setuptools_scm
  ];

  propagatedBuildInputs = [
    attrs
    pyrsistent
    setuptools
    six
    functools32
  ];

  checkInputs = [
    twisted
    perf
  ];

  checkPhase = ''
    ${python.interpreter} setup.py test --test-suite=jsonschema.tests
  '';

  meta = with lib; {
    description = "An implementation of JSON Schema validation for Python";
    homepage = https://github.com/Julian/jsonschema;
    license = licenses.mit;
    maintainers = with maintainers; [ costrouc domenkozar ];
  };
}

{ stdenv, buildPythonPackage, fetchPypi, python
, nose, mock, vcversioner, functools32 }:

buildPythonPackage rec {
  pname = "jsonschema";
  version = "2.6.0";

  src = fetchPypi {
    inherit pname version;
    sha256 = "00kf3zmpp9ya4sydffpifn0j0mzm342a2vzh82p6r0vh10cg7xbg";
  };

  checkInputs = [ nose mock vcversioner ];
  propagatedBuildInputs = [ functools32 ];

  postPatch = ''
    substituteInPlace jsonschema/tests/test_jsonschema_test_suite.py \
      --replace "python" "${python.pythonForBuild.interpreter}"
  '';

  checkPhase = ''
    nosetests
  '';

  meta = with stdenv.lib; {
    homepage = https://github.com/Julian/jsonschema;
    description = "An implementation of JSON Schema validation for Python";
    license = licenses.mit;
    maintainers = with maintainers; [ domenkozar ];
  };
}

Revert "pythonPackages.jsonschema: 2.6.0 -> 3.0.1"
Revert "pythonPackages.jsonschema: 2.6.0 -> 3.0.1"

Too soon. We need to wait till it is better supported.

This reverts commit ba4384d8650de330fd218f08e8679e1d486bd1dc.
