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