1{
2 lib,
3 appdirs,
4 buildPythonPackage,
5 click,
6 diskcache,
7 fetchPypi,
8 jinja2,
9 jsonschema,
10 pytestCheckHook,
11 pyyaml,
12 setuptools,
13 setuptools-scm,
14}:
15
16buildPythonPackage rec {
17 pname = "glean-parser";
18 version = "14.5.2";
19 pyproject = true;
20
21 src = fetchPypi {
22 pname = "glean_parser";
23 inherit version;
24 hash = "sha256-7EZtFRYYk477A/F8FsrrEmZr2InGRWK440vNLZXgcvc=";
25 };
26
27 postPatch = ''
28 substituteInPlace setup.py \
29 --replace-fail "pytest-runner" ""
30 '';
31
32 build-system = [
33 setuptools
34 setuptools-scm
35 ];
36
37 dependencies = [
38 appdirs
39 click
40 diskcache
41 jinja2
42 jsonschema
43 pyyaml
44 ];
45
46 nativeCheckInputs = [ pytestCheckHook ];
47
48 preCheck = ''
49 export HOME=$TMPDIR
50 '';
51
52 disabledTests = [
53 # Network access
54 "test_validate_ping"
55 "test_logging"
56 # Fails since yamllint 1.27.x
57 "test_yaml_lint"
58 ];
59
60 pythonImportsCheck = [ "glean_parser" ];
61
62 meta = {
63 description = "Tools for parsing the metadata for Mozilla's glean telemetry SDK";
64 mainProgram = "glean_parser";
65 homepage = "https://github.com/mozilla/glean_parser";
66 changelog = "https://github.com/mozilla/glean_parser/blob/v${version}/CHANGELOG.md";
67 license = lib.licenses.mpl20;
68 maintainers = [ ];
69 };
70}