1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # build-system
8 setuptools,
9 setuptools-scm,
10
11 # dependencies
12 fonttools,
13 defcon,
14 fontmath,
15 booleanoperations,
16
17 # tests
18 python,
19}:
20
21buildPythonPackage rec {
22 pname = "fontparts";
23 version = "0.13.1";
24 pyproject = true;
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchPypi {
29 inherit pname version;
30 hash = "sha256-+oifxmY7MUkQj3Sy75wjRmoVEPkgZaO3+8/sauMMxYA=";
31 extension = "zip";
32 };
33
34 build-system = [
35 setuptools
36 setuptools-scm
37 ];
38
39 dependencies = [
40 booleanoperations
41 defcon
42 fontmath
43 fonttools
44 ]
45 ++ defcon.optional-dependencies.pens
46 ++ fonttools.optional-dependencies.ufo
47 ++ fonttools.optional-dependencies.lxml
48 ++ fonttools.optional-dependencies.unicode;
49
50 checkPhase = ''
51 runHook preCheck
52 ${python.interpreter} Lib/fontParts/fontshell/test.py
53 runHook postCheck
54 '';
55
56 meta = with lib; {
57 description = "API for interacting with the parts of fonts during the font development process";
58 homepage = "https://github.com/robotools/fontParts";
59 changelog = "https://github.com/robotools/fontParts/releases/tag/${version}";
60 license = licenses.mit;
61 maintainers = [ maintainers.sternenseemann ];
62 };
63}