1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5
6# build
7, poetry-core
8
9# propagates
10, pathable
11, pyyaml
12, referencing
13, requests
14
15# tests
16, pytestCheckHook
17, responses
18}:
19
20buildPythonPackage rec {
21 pname = "jsonschema-spec";
22 version = "0.2.4";
23 format = "pyproject";
24
25 disabled = pythonOlder "3.8";
26
27 src = fetchFromGitHub {
28 owner = "p1c2u";
29 repo = pname;
30 rev = "refs/tags/${version}";
31 hash = "sha256-1Flb3XQCGhrAYzTvriSVhHDb/Z/uvCyZdbav2u7f3sg=";
32 };
33
34 postPatch = ''
35 sed -i "/^--cov/d" pyproject.toml
36
37 substituteInPlace pyproject.toml \
38 --replace 'referencing = ">=0.28.0,<0.30.0"' 'referencing = ">=0.28.0"'
39 '';
40
41 nativeBuildInputs = [
42 poetry-core
43 ];
44
45 propagatedBuildInputs = [
46 pathable
47 pyyaml
48 referencing
49 requests
50 ];
51
52 nativeCheckInputs = [
53 pytestCheckHook
54 responses
55 ];
56
57 meta = with lib; {
58 changelog = "https://github.com/p1c2u/jsonschema-spec/releases/tag/${version}";
59 description = "JSONSchema Spec with object-oriented paths";
60 homepage = "https://github.com/p1c2u/jsonschema-spec";
61 license = licenses.asl20;
62 maintainers = with maintainers; [ hexa ];
63 };
64}