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 fonttools
29 ]
30 ++ fonttools.optional-dependencies.ufo
31 ++ fonttools.optional-dependencies.unicode;
32
33 nativeCheckInputs = [ pytestCheckHook ];
34
35 pythonImportsCheck = [ "defcon" ];
36
37 optional-dependencies = {
38 pens = [ fontpens ];
39 lxml = [ fonttools ] ++ fonttools.optional-dependencies.lxml;
40 };
41
42 meta = with lib; {
43 description = "Set of UFO based objects for use in font editing applications";
44 homepage = "https://github.com/robotools/defcon";
45 changelog = "https://github.com/robotools/defcon/releases/tag/${version}";
46 license = licenses.mit;
47 maintainers = with maintainers; [ sternenseemann ];
48 };
49}