1{
2 lib,
3 booleanoperations,
4 buildPythonPackage,
5 cffsubr,
6 compreffor,
7 cu2qu,
8 defcon,
9 fetchPypi,
10 fontmath,
11 fonttools,
12 pytestCheckHook,
13 pythonOlder,
14 setuptools-scm,
15 skia-pathops,
16 syrupy,
17 ufolib2,
18}:
19
20buildPythonPackage rec {
21 pname = "ufo2ft";
22 version = "3.6.0";
23 pyproject = true;
24
25 disabled = pythonOlder "3.8";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-hKqTjD8cTgyxHZnaojPAT5JY11okvLiNOnemoULnpmw=";
30 };
31
32 build-system = [
33 setuptools-scm
34 ];
35
36 pythonRelaxDeps = [ "cffsubr" ];
37
38 dependencies = [
39 cu2qu
40 fontmath
41 fonttools
42 defcon
43 compreffor
44 booleanoperations
45 cffsubr
46 ufolib2
47 skia-pathops
48 ]
49 ++ fonttools.optional-dependencies.lxml
50 ++ fonttools.optional-dependencies.ufo;
51
52 nativeCheckInputs = [
53 pytestCheckHook
54 syrupy
55 ];
56
57 disabledTests = [
58 # Do not depend on skia.
59 "test_removeOverlaps_CFF_pathops"
60 "test_removeOverlaps_pathops"
61 "test_custom_filters_as_argument"
62 "test_custom_filters_as_argument"
63 # Some integration tests fail
64 "test_compileVariableCFF2"
65 "test_compileVariableTTF"
66 "test_drop_glyph_names_variable"
67 "test_drop_glyph_names_variable"
68 ];
69
70 pythonImportsCheck = [ "ufo2ft" ];
71
72 meta = with lib; {
73 description = "Bridge from UFOs to FontTools objects";
74 homepage = "https://github.com/googlefonts/ufo2ft";
75 changelog = "https://github.com/googlefonts/ufo2ft/releases/tag/v${version}";
76 license = licenses.mit;
77 maintainers = [ ];
78 };
79}