python3.pkgs.ufo2ft: init at 2.25.2

+193
+65
pkgs/development/python-modules/ufo2ft/default.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchPypi 4 + , setuptools-scm 5 + , fonttools 6 + , defcon 7 + , compreffor 8 + , booleanoperations 9 + , cffsubr 10 + , pytestCheckHook 11 + }: 12 + 13 + buildPythonPackage rec { 14 + pname = "ufo2ft"; 15 + version = "2.25.2"; 16 + 17 + format = "setuptools"; 18 + 19 + src = fetchPypi { 20 + inherit pname version; 21 + sha256 = "ooWIHvyMtrht4WcGPiacY8dfjPSb5uitHnTRTKvf2AA="; 22 + }; 23 + 24 + patches = [ 25 + # Use cu2qu from fonttools. 26 + # https://github.com/googlefonts/ufo2ft/pull/461 27 + ./fonttools-cu2qu.patch 28 + ]; 29 + 30 + nativeBuildInputs = [ 31 + setuptools-scm 32 + ]; 33 + 34 + propagatedBuildInputs = [ 35 + fonttools 36 + defcon 37 + compreffor 38 + booleanoperations 39 + cffsubr 40 + ]; 41 + 42 + checkInputs = [ 43 + pytestCheckHook 44 + ]; 45 + 46 + pytestFlagsArray = [ 47 + # Do not depend on skia. 48 + "--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_CFF_pathops" 49 + "--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_pathops" 50 + "--deselect=tests/preProcessor_test.py::TTFPreProcessorTest::test_custom_filters_as_argument" 51 + "--deselect=tests/preProcessor_test.py::TTFInterpolatablePreProcessorTest::test_custom_filters_as_argument" 52 + ]; 53 + 54 + postPatch = '' 55 + # Does not seem to find 0.2.9.post1 for some reason. 56 + substituteInPlace setup.py \ 57 + --replace '"cffsubr>=0.2.8"' '"cffsubr"' 58 + ''; 59 + 60 + meta = with lib; { 61 + description = "Bridge from UFOs to FontTools objects"; 62 + homepage = "https://github.com/googlefonts/ufo2ft"; 63 + license = licenses.mit; 64 + }; 65 + }
+126
pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch
···
··· 1 + From 0b3631e91c93d56460929f40850f7d8a39a71bde Mon Sep 17 00:00:00 2001 2 + From: Simon Cozens <simon@simon-cozens.org> 3 + Date: Thu, 11 Feb 2021 09:43:41 +0000 4 + Subject: [PATCH 1/2] Rename cu2qu to fontTools.cu2qu 5 + 6 + --- 7 + Lib/ufo2ft/filters/cubicToQuadratic.py | 4 ++-- 8 + Lib/ufo2ft/preProcessor.py | 4 ++-- 9 + requirements.txt | 1 - 10 + setup.py | 1 - 11 + tests/outlineCompiler_test.py | 2 +- 12 + tests/preProcessor_test.py | 2 +- 13 + 6 files changed, 6 insertions(+), 8 deletions(-) 14 + 15 + diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py 16 + index 87d81b1f..4b77144f 100644 17 + --- a/Lib/ufo2ft/filters/cubicToQuadratic.py 18 + +++ b/Lib/ufo2ft/filters/cubicToQuadratic.py 19 + @@ -1,7 +1,7 @@ 20 + import logging 21 + 22 + -from cu2qu.pens import Cu2QuPointPen 23 + -from cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR 24 + +from fontTools.pens.cu2quPen import Cu2QuPointPen 25 + +from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR 26 + 27 + from ufo2ft.filters import BaseFilter 28 + from ufo2ft.fontInfoData import getAttrWithFallback 29 + diff --git a/Lib/ufo2ft/preProcessor.py b/Lib/ufo2ft/preProcessor.py 30 + index 05ac47dc..c796df2e 100644 31 + --- a/Lib/ufo2ft/preProcessor.py 32 + +++ b/Lib/ufo2ft/preProcessor.py 33 + @@ -217,7 +217,7 @@ def __init__( 34 + layerNames=None, 35 + skipExportGlyphs=None, 36 + ): 37 + - from cu2qu.ufo import DEFAULT_MAX_ERR 38 + + from fontTools.cu2qu.ufo import DEFAULT_MAX_ERR 39 + 40 + self.ufos = ufos 41 + self.inplace = inplace 42 + @@ -249,7 +249,7 @@ def __init__( 43 + self.postFilters.append(post) 44 + 45 + def process(self): 46 + - from cu2qu.ufo import fonts_to_quadratic 47 + + from fontTools.cu2qu.ufo import fonts_to_quadratic 48 + 49 + # first apply all custom pre-filters 50 + for funcs, ufo, glyphSet in zip(self.preFilters, self.ufos, self.glyphSets): 51 + diff --git a/setup.py b/setup.py 52 + index 175429af..eef39ee1 100644 53 + --- a/setup.py 54 + +++ b/setup.py 55 + @@ -30,7 +30,6 @@ 56 + tests_require=["pytest>=2.8"], 57 + install_requires=[ 58 + "fonttools[ufo]>=4.28.5", 59 + - "cu2qu>=1.6.7", 60 + "cffsubr>=0.2.8", 61 + "booleanOperations>=0.9.0", 62 + ], 63 + diff --git a/tests/outlineCompiler_test.py b/tests/outlineCompiler_test.py 64 + index 74319184..e7b15a23 100644 65 + --- a/tests/outlineCompiler_test.py 66 + +++ b/tests/outlineCompiler_test.py 67 + @@ -2,7 +2,7 @@ 68 + import os 69 + 70 + import pytest 71 + -from cu2qu.ufo import font_to_quadratic 72 + +from fontTools.cu2qu.ufo import font_to_quadratic 73 + from fontTools.ttLib import TTFont 74 + from fontTools.ttLib.tables._g_l_y_f import USE_MY_METRICS 75 + 76 + diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py 77 + index 64196f92..87b23946 100644 78 + --- a/tests/preProcessor_test.py 79 + +++ b/tests/preProcessor_test.py 80 + @@ -2,7 +2,7 @@ 81 + import os 82 + 83 + import pytest 84 + -from cu2qu.ufo import CURVE_TYPE_LIB_KEY 85 + +from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY 86 + from fontTools import designspaceLib 87 + 88 + import ufo2ft 89 + 90 + From 27c5af88ec2c3314618ecbf65104050a53508bb0 Mon Sep 17 00:00:00 2001 91 + From: Simon Cozens <simon@simon-cozens.org> 92 + Date: Thu, 11 Feb 2021 09:49:28 +0000 93 + Subject: [PATCH 2/2] Sort the imports 94 + 95 + --- 96 + Lib/ufo2ft/filters/cubicToQuadratic.py | 2 +- 97 + tests/preProcessor_test.py | 2 +- 98 + 2 files changed, 2 insertions(+), 2 deletions(-) 99 + 100 + diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py 101 + index 4b77144f..5f28ea42 100644 102 + --- a/Lib/ufo2ft/filters/cubicToQuadratic.py 103 + +++ b/Lib/ufo2ft/filters/cubicToQuadratic.py 104 + @@ -1,7 +1,7 @@ 105 + import logging 106 + 107 + -from fontTools.pens.cu2quPen import Cu2QuPointPen 108 + from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR 109 + +from fontTools.pens.cu2quPen import Cu2QuPointPen 110 + 111 + from ufo2ft.filters import BaseFilter 112 + from ufo2ft.fontInfoData import getAttrWithFallback 113 + diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py 114 + index 87b23946..76ee495a 100644 115 + --- a/tests/preProcessor_test.py 116 + +++ b/tests/preProcessor_test.py 117 + @@ -2,8 +2,8 @@ 118 + import os 119 + 120 + import pytest 121 + -from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY 122 + from fontTools import designspaceLib 123 + +from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY 124 + 125 + import ufo2ft 126 + from ufo2ft.constants import (
+2
pkgs/top-level/python-packages.nix
··· 10063 inherit (pkgs.xorg) libX11 libXext; 10064 }; 10065 10066 ufonormalizer = callPackage ../development/python-modules/ufonormalizer { }; 10067 10068 ufoprocessor = callPackage ../development/python-modules/ufoprocessor { };
··· 10063 inherit (pkgs.xorg) libX11 libXext; 10064 }; 10065 10066 + ufo2ft = callPackage ../development/python-modules/ufo2ft { }; 10067 + 10068 ufonormalizer = callPackage ../development/python-modules/ufonormalizer { }; 10069 10070 ufoprocessor = callPackage ../development/python-modules/ufoprocessor { };