1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fonttools,
6 setuptools,
7}:
8
9buildPythonPackage rec {
10 pname = "fontpens";
11 version = "0.3.0";
12 pyproject = true;
13
14 src = fetchFromGitHub {
15 owner = "robotools";
16 repo = pname;
17 tag = "v${version}";
18 sha256 = "13msj0s7mg45klzbnd2w4f4ljb16bp9m0s872s6hczn0j7jmyz11";
19 };
20
21 build-system = [ setuptools ];
22
23 dependencies = [ fonttools ];
24
25 # can't run normal tests due to circular dependency with fontParts
26 doCheck = false;
27 pythonImportsCheck =
28 [ "fontPens" ]
29 ++ (builtins.map (s: "fontPens." + s) [
30 "angledMarginPen"
31 "digestPointPen"
32 "flattenPen"
33 "guessSmoothPointPen"
34 "marginPen"
35 "penTools"
36 "printPen"
37 "printPointPen"
38 "recordingPointPen"
39 "thresholdPen"
40 "thresholdPointPen"
41 "transformPointPen"
42 ]);
43
44 meta = with lib; {
45 description = "Collection of classes implementing the pen protocol for manipulating glyphs";
46 homepage = "https://github.com/robotools/fontPens";
47 license = licenses.bsd3;
48 maintainers = [ maintainers.sternenseemann ];
49 };
50}