1{ lib, buildPythonPackage, fetchPypi, python, pythonOlder
2, fonttools, lxml, fs, unicodedata2
3, defcon, fontpens, fontmath, booleanoperations
4, pytest, setuptools-scm
5}:
6
7buildPythonPackage rec {
8 pname = "fontParts";
9 version = "0.11.0";
10
11 disabled = pythonOlder "3.7";
12
13 src = fetchPypi {
14 inherit pname version;
15 hash = "sha256-He3BAIWxwDIM80ixmYjyAHlwDK9bBe/qS8P4+TVEkEg=";
16 extension = "zip";
17 };
18
19 nativeBuildInputs = [ setuptools-scm ];
20
21 propagatedBuildInputs = [
22 booleanoperations
23 fonttools
24 unicodedata2 # fonttools[unicode] extra
25 lxml # fonttools[lxml] extra
26 fs # fonttools[ufo] extra
27 defcon
28 fontpens # defcon[pens] extra
29 fontmath
30 ];
31
32 checkPhase = ''
33 runHook preCheck
34 ${python.interpreter} Lib/fontParts/fontshell/test.py
35 runHook postCheck
36 '';
37 nativeCheckInputs = [ pytest ];
38
39 meta = with lib; {
40 description = "An API for interacting with the parts of fonts during the font development process.";
41 homepage = "https://github.com/robotools/fontParts";
42 changelog = "https://github.com/robotools/fontParts/releases/tag/${version}";
43 license = licenses.mit;
44 maintainers = [ maintainers.sternenseemann ];
45 };
46}