1{
2 lib,
3 apptools,
4 buildPythonPackage,
5 envisage,
6 fetchPypi,
7 numpy,
8 packaging,
9 pyface,
10 pygments,
11 pyqt5,
12 pythonOlder,
13 pythonAtLeast,
14 traitsui,
15 vtk,
16 wrapQtAppsHook,
17}:
18
19buildPythonPackage rec {
20 pname = "mayavi";
21 version = "4.8.3";
22 format = "setuptools";
23
24 disabled = pythonOlder "3.8";
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-72nMvfWPIPGzlJMNXjoW3aSxo5rcvHb3mr0mSD0prPU=";
29 };
30
31 nativeBuildInputs = [ wrapQtAppsHook ];
32
33 propagatedBuildInputs = [
34 apptools
35 envisage
36 numpy
37 packaging
38 pyface
39 pygments
40 pyqt5
41 traitsui
42 vtk
43 ];
44
45 env.NIX_CFLAGS_COMPILE = "-Wno-error";
46
47 # Needs X server
48 doCheck = false;
49
50 pythonImportsCheck = [ "mayavi" ];
51
52 preFixup = ''
53 makeWrapperArgs+=("''${qtWrapperArgs[@]}")
54 '';
55
56 # stripping the ico file on macos cause segfault
57 stripExclude = [ "*.ico" ];
58
59 meta = with lib; {
60 description = "3D visualization of scientific data in Python";
61 homepage = "https://github.com/enthought/mayavi";
62 license = licenses.bsdOriginal;
63 maintainers = with maintainers; [ ];
64 mainProgram = "mayavi2";
65 # segfault
66 broken = pythonAtLeast "3.13";
67 };
68}