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