1{ lib
2, atom
3, buildPythonPackage
4, bytecode
5, cppy
6, fetchFromGitHub
7, kiwisolver
8, pegen
9, ply
10, qtpy
11, setuptools
12, setuptools-scm
13, pythonOlder
14, sip
15}:
16
17buildPythonPackage rec {
18 pname = "enaml";
19 version = "0.16.1";
20 format = "pyproject";
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchFromGitHub {
25 owner = "nucleic";
26 repo = pname;
27 rev = "refs/tags/${version}";
28 hash = "sha256-bXbexHd/SJjfAAREhQ8V4PekI9mle3GcUPjMn0zDAyw=";
29 };
30
31 SETUPTOOLS_SCM_PRETEND_VERSION = version;
32
33 nativeBuildInputs = [
34 setuptools
35 setuptools-scm
36 ];
37
38 propagatedBuildInputs = [
39 atom
40 bytecode
41 cppy
42 kiwisolver
43 pegen
44 ply
45 qtpy
46 sip
47 ];
48
49 # qt bindings cannot be found during tests
50 doCheck = false;
51
52 pythonImportsCheck = [
53 "enaml"
54 "enaml.applib"
55 "enaml.core"
56 "enaml.core.parser"
57 "enaml.layout"
58 # qt bindings cannot be found during checking
59 #"enaml.qt"
60 #"enaml.qt.docking"
61 "enaml.scintilla"
62 "enaml.stdlib"
63 "enaml.widgets"
64 "enaml.workbench"
65 ];
66
67 meta = with lib; {
68 description = "Declarative User Interfaces for Python";
69 homepage = "https://github.com/nucleic/enaml";
70 changelog = "https://github.com/nucleic/enaml/releases/tag/${version}";
71 license = licenses.bsd3;
72 maintainers = with maintainers; [ raboof ];
73 };
74}