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 = "fontpens";
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 ]
30 ++ (builtins.map (s: "fontPens." + s) [
31 "angledMarginPen"
32 "digestPointPen"
33 "flattenPen"
34 "guessSmoothPointPen"
35 "marginPen"
36 "penTools"
37 "printPen"
38 "printPointPen"
39 "recordingPointPen"
40 "thresholdPen"
41 "thresholdPointPen"
42 "transformPointPen"
43 ]);
44
45 meta = with lib; {
46 description = "Collection of classes implementing the pen protocol for manipulating glyphs";
47 homepage = "https://github.com/robotools/fontPens";
48 license = licenses.bsd3;
49 maintainers = [ maintainers.sternenseemann ];
50 };
51}