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