1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchPypi,
6 setuptools-scm,
7 fonttools,
8 fontpens,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "defcon";
14 version = "0.12.1";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-rKhnSo9xcjr2oI8zLz7TFWug/gBZHrWv91csqtFHLQk=";
22 extension = "zip";
23 };
24
25 nativeBuildInputs = [ setuptools-scm ];
26
27 propagatedBuildInputs =
28 [
29 fonttools
30 ]
31 ++ fonttools.optional-dependencies.ufo
32 ++ fonttools.optional-dependencies.unicode;
33
34 nativeCheckInputs = [ pytestCheckHook ];
35
36 pythonImportsCheck = [ "defcon" ];
37
38 optional-dependencies = {
39 pens = [ fontpens ];
40 lxml = [ fonttools ] ++ fonttools.optional-dependencies.lxml;
41 };
42
43 meta = with lib; {
44 description = "Set of UFO based objects for use in font editing applications";
45 homepage = "https://github.com/robotools/defcon";
46 changelog = "https://github.com/robotools/defcon/releases/tag/${version}";
47 license = licenses.mit;
48 maintainers = with maintainers; [ sternenseemann ];
49 };
50}