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