1{
2 buildPythonPackage,
3 fetchFromGitHub,
4 lib,
5 pytestCheckHook,
6 setuptools,
7 typing-extensions,
8}:
9
10let
11 version = "0.19.0";
12
13 src = fetchFromGitHub {
14 owner = "projectfluent";
15 repo = "python-fluent";
16 rev = "fluent.syntax@${version}";
17 hash = "sha256-nULngwBG/ebICRDi6HMHBdT+r/oq6tbDL7C1iMZpMsA=";
18 };
19in
20buildPythonPackage {
21 pname = "fluent-syntax";
22 inherit version;
23 pyproject = true;
24
25 inherit src;
26 sourceRoot = "${src.name}/fluent.syntax";
27
28 build-system = [ setuptools ];
29
30 dependencies = [ typing-extensions ];
31
32 nativeCheckInputs = [ pytestCheckHook ];
33
34 pythonImportsCheck = [ "fluent.syntax" ];
35
36 meta = {
37 changelog = "https://github.com/projectfluent/python-fluent/blob/${src.rev}/fluent.syntax/CHANGELOG.md";
38 description = "Parse, analyze, process, and serialize Fluent files";
39 downloadPage = "https://github.com/projectfluent/python-fluent/releases/tag/${src.rev}";
40 homepage = "https://projectfluent.org/python-fluent/fluent.syntax/${version}";
41 license = lib.licenses.asl20;
42 maintainers = with lib.maintainers; [ getpsyched ];
43 };
44}