1{ lib
2, buildPythonPackage
3, inkscape
4, fetchFromGitLab
5, poetry-core
6, cssselect
7, lxml
8, numpy
9, packaging
10, pillow
11, pygobject3
12, pyparsing
13, pyserial
14, scour
15, gobject-introspection
16, pytestCheckHook
17, gtk3
18}:
19
20buildPythonPackage {
21 pname = "inkex";
22 inherit (inkscape) version;
23
24 format = "pyproject";
25
26 inherit (inkscape) src;
27
28 nativeBuildInputs = [
29 poetry-core
30 ];
31
32 propagatedBuildInputs = [
33 cssselect
34 lxml
35 numpy
36 pygobject3
37 pyserial
38 ];
39
40 pythonImportsCheck = [ "inkex" ];
41
42 nativeCheckInputs = [
43 gobject-introspection
44 pytestCheckHook
45 ];
46
47 checkInputs = [
48 gtk3
49 packaging
50 pillow
51 pyparsing
52 scour
53 ];
54
55 disabledTests = [
56 "test_extract_multiple"
57 "test_lookup_and"
58 ];
59
60 disabledTestPaths = [
61 # Fatal Python error: Segmentation fault
62 "tests/test_inkex_gui.py"
63 "tests/test_inkex_gui_listview.py"
64 "tests/test_inkex_gui_window.py"
65 # Failed to find pixmap 'image-missing' in /build/source/tests/data/
66 "tests/test_inkex_gui_pixmaps.py"
67 ];
68
69 postPatch = ''
70 cd share/extensions
71
72 substituteInPlace pyproject.toml \
73 --replace 'scour = "^0.37"' 'scour = ">=0.37"'
74 '';
75
76 meta = {
77 description = "Library for manipulating SVG documents which is the basis for Inkscape extensions";
78 homepage = "https://gitlab.com/inkscape/extensions";
79 license = lib.licenses.gpl2Plus;
80 maintainers = with lib.maintainers; [ dotlambda ];
81 };
82}