1{
2 fetchurl,
3 lib,
4 newCatalog,
5}:
6
7newCatalog {
8 name = "json-schema";
9 displayName = "JSON Schema Metaschemas";
10 groups = {
11 "JSON Schema" = {
12 "http://json-schema.org/draft-04/schema#" = fetchurl {
13 name = "json-schema-draft-04";
14 url = "https://json-schema.org/draft-04/schema";
15 hash = "sha256-4UidC0dV8CeTMCWR0/y48Htok6gqlPJIlfjk7fEbguI=";
16 };
17 "http://json-schema.org/draft-06/schema#" = fetchurl {
18 name = "json-schema-draft-06";
19 url = "https://json-schema.org/draft-06/schema";
20 hash = "sha256-AGTogLohS/8c7lEeZ4++SMmCbdNZ6R4kI/w23mey6+E=";
21 };
22 "http://json-schema.org/draft-07/schema#" = fetchurl {
23 name = "json-schema-draft-07";
24 url = "https://json-schema.org/draft-07/schema";
25 hash = "sha256-aS4dFl5Hr8tfEbLOHGOWNf+oNANdbstrzzCHSB2uhAQ=";
26 };
27 # Unclear how newer metaschemas should be handled, so leaving them out for now.
28 # https://github.com/roberth/json-schema-catalog-rs/issues/8
29 };
30 };
31 meta = {
32 maintainers = with lib.maintainers; [ roberth ];
33 # https://github.com/json-schema-org/json-schema-spec/blob/main/LICENSE
34 license = [
35 lib.licenses.bsd3
36 lib.licenses.afl3
37 ];
38 };
39}