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