1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 attrs,
6 fonttools,
7 pytestCheckHook,
8 setuptools-scm,
9
10 # optionals
11 cattrs,
12 lxml,
13 orjson,
14 msgpack,
15}:
16
17buildPythonPackage rec {
18 pname = "ufolib2";
19 version = "0.16.0";
20 format = "pyproject";
21
22 src = fetchPypi {
23 pname = "ufoLib2";
24 inherit version;
25 hash = "sha256-SfDcf3LMrP5/rv4NU9N5cdRWZNiwVj7zaVb6e/pVor0=";
26 };
27
28 nativeBuildInputs = [ setuptools-scm ];
29
30 propagatedBuildInputs = [
31 attrs
32 fonttools
33 ] ++ fonttools.optional-dependencies.ufo;
34
35 passthru.optional-dependencies = {
36 lxml = [ lxml ];
37 converters = [ cattrs ];
38 json = [
39 cattrs
40 orjson
41 ];
42 msgpack = [
43 cattrs
44 msgpack
45 ];
46 };
47
48 nativeCheckInputs = [
49 pytestCheckHook
50 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
51
52 pythonImportsCheck = [ "ufoLib2" ];
53
54 meta = with lib; {
55 description = "Library to deal with UFO font sources";
56 homepage = "https://github.com/fonttools/ufoLib2";
57 license = licenses.mit;
58 maintainers = with maintainers; [ ];
59 };
60}