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