1{ lib
2, buildPythonPackage
3, fetchPypi
4
5# build
6, setuptools-scm
7
8# runtime
9, booleanoperations
10, cffsubr
11, compreffor
12, cu2qu
13, defcon
14, fonttools
15, skia-pathops
16, ufoLib2
17
18# tests
19, pytestCheckHook
20}:
21
22buildPythonPackage rec {
23 pname = "ufo2ft";
24 version = "2.33.4";
25 format = "setuptools";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-e6p/H1Vub0Ln0VhQvwsVLuD/p8uNG5oCPhfQPCTl1nY=";
30 };
31
32 nativeBuildInputs = [
33 setuptools-scm
34 ];
35
36 propagatedBuildInputs = [
37 cu2qu
38 fonttools
39 defcon
40 compreffor
41 booleanoperations
42 cffsubr
43 ufoLib2
44 skia-pathops
45 ]
46 ++ fonttools.optional-dependencies.lxml
47 ++ fonttools.optional-dependencies.ufo;
48
49 nativeCheckInputs = [
50 pytestCheckHook
51 ];
52
53 pytestFlagsArray = [
54 # Do not depend on skia.
55 "--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_CFF_pathops"
56 "--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_pathops"
57 "--deselect=tests/preProcessor_test.py::TTFPreProcessorTest::test_custom_filters_as_argument"
58 "--deselect=tests/preProcessor_test.py::TTFInterpolatablePreProcessorTest::test_custom_filters_as_argument"
59 ];
60
61 pythonImportsCheck = [ "ufo2ft" ];
62
63 meta = with lib; {
64 description = "Bridge from UFOs to FontTools objects";
65 homepage = "https://github.com/googlefonts/ufo2ft";
66 license = licenses.mit;
67 maintainers = with maintainers; [ ];
68 };
69}