1{
2 lib,
3 stdenv,
4 fetchurl,
5 libxml2,
6 freetype,
7 libGLU,
8 libGL,
9 glew,
10 qtbase,
11 wrapQtAppsHook,
12 autoPatchelfHook,
13 python3,
14 cmake,
15 libjpeg,
16 llvmPackages,
17}:
18
19stdenv.mkDerivation rec {
20 pname = "tulip";
21 version = "5.7.4";
22
23 src = fetchurl {
24 url = "mirror://sourceforge/auber/tulip-${version}_src.tar.gz";
25 hash = "sha256-7z21WkPi1v2AGishDmXZPAedMjgXPRnpUiHTzEnc5LY=";
26 };
27
28 nativeBuildInputs = [
29 cmake
30 wrapQtAppsHook
31 ]
32 ++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
33
34 buildInputs = [
35 libxml2
36 freetype
37 glew
38 libjpeg
39 qtbase
40 python3
41 ]
42 ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.openmp ]
43 ++ lib.optionals stdenv.hostPlatform.isLinux [
44 libGLU
45 libGL
46 ];
47
48 qtWrapperArgs = [ ''--prefix PATH : ${lib.makeBinPath [ python3 ]}'' ];
49
50 env.NIX_CFLAGS_COMPILE =
51 # error: invalid conversion from 'unsigned char*' to 'char*'
52 "-fpermissive "
53 + (lib.optionalString stdenv.hostPlatform.isDarwin (toString [
54 # fatal error: 'Python.h' file not found
55 "-I${python3}/include/${python3.libPrefix}"
56 # error: format string is not a string literal (potentially insecure)
57 "-Wno-format-security"
58 ]));
59
60 # FIXME: "make check" needs Docbook's DTD 4.4, among other things.
61 doCheck = false;
62
63 meta = {
64 description = "Visualization framework for the analysis and visualization of relational data";
65
66 longDescription = ''
67 Tulip is an information visualization framework dedicated to the
68 analysis and visualization of relational data. Tulip aims to
69 provide the developer with a complete library, supporting the design
70 of interactive information visualization applications for relational
71 data that can be tailored to the problems he or she is addressing.
72 '';
73
74 homepage = "http://tulip.labri.fr/";
75
76 license = lib.licenses.gpl3Plus;
77
78 maintainers = [ ];
79 platforms = lib.platforms.all;
80 };
81}