1{ 2 lib, 3 buildPythonPackage, 4 click, 5 diskcache, 6 fetchPypi, 7 jinja2, 8 jsonschema, 9 platformdirs, 10 pytestCheckHook, 11 pyyaml, 12 setuptools, 13 setuptools-scm, 14}: 15 16buildPythonPackage rec { 17 pname = "glean-parser"; 18 version = "17.1.0"; 19 pyproject = true; 20 21 src = fetchPypi { 22 pname = "glean_parser"; 23 inherit version; 24 hash = "sha256-pZq2bdc0qL6n16LLYyJ2YC3YmUEe4cHLifQ5qDO6FZg="; 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 click 39 diskcache 40 jinja2 41 jsonschema 42 pyyaml 43 platformdirs 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}