lol
1{stdenv, fetchurl,
2zlib, libpng, libjpeg, perl, expat, qt3,
3libX11, libXext, libSM, libICE,
4}:
5
6stdenv.mkDerivation rec {
7 name = "taskjuggler-2.4.3";
8 src = fetchurl {
9 url = "http://www.taskjuggler.org/download/${name}.tar.bz2";
10 sha256 = "14gkxa2vwfih5z7fffbavps7m44z5bq950qndigw2icam5ks83jl";
11 };
12
13 buildInputs =
14 [zlib libpng libX11 libXext libSM libICE perl expat libjpeg]
15 ;
16
17 patches = [ ./timezone-glibc.patch ];
18
19 preConfigure = ''
20 for i in $(grep -R "/bin/bash" . | sed 's/:.*//'); do
21 substituteInPlace $i --replace /bin/bash $(type -Pp bash)
22 done
23 for i in $(grep -R "/usr/bin/perl" . | sed 's/:.*//'); do
24 substituteInPlace $i --replace /usr/bin/perl ${perl}/bin/perl
25 done
26
27 # Fix install
28 for i in docs/en/Makefile.in Examples/BigProject/Common/Makefile.in Examples/BigProject/Makefile.in Examples/BigProject/Project1/Makefile.in Examples/BigProject/Project2/Makefile.in Examples/FirstProject/Makefile.in Examples/ShiftSchedule/Makefile.in; do
29 # Do not use variable substitution because there is some text after the last '@'
30 substituteInPlace $i --replace 'docprefix = @PACKAGES_DIR@' 'docprefix = $(docdir)/'
31 done
32
33 # Comment because the ical export need the KDE support.
34 for i in Examples/FirstProject/AccountingSoftware.tjp; do
35 substituteInPlace $i --replace "icalreport" "# icalreport"
36 done
37
38 for i in TestSuite/testdir TestSuite/createrefs \
39 TestSuite/Scheduler/Correct/Expression.sh; do
40 substituteInPlace $i --replace '/bin/rm' 'rm'
41 done
42
43 # Some tests require writing at $HOME
44 HOME=$TMPDIR
45 '';
46
47 configureFlags = "
48 --without-arts --disable-docs
49 --x-includes=${libX11}/include
50 --x-libraries=${libX11}/lib
51 --with-qt-dir=${qt3}
52 ";
53
54 preInstall = ''
55 mkdir -p $out/share/emacs/site-lisp/
56 cp Contrib/emacs/taskjug.el $out/share/emacs/site-lisp/
57 '';
58
59 installFlags =
60 # kde_locale is not defined when installing without kde.
61 "kde_locale=\${out}/share/locale";
62
63 meta = {
64 homepage = "http://www.taskjuggler.org";
65 license = stdenv.lib.licenses.gpl2;
66 description = "Project management tool";
67 longDescription = ''
68 TaskJuggler is a modern and powerful, Open Source project management
69 tool. Its new approach to project planing and tracking is more
70 flexible and superior to the commonly used Gantt chart editing
71 tools. It has already been successfully used in many projects and
72 scales easily to projects with hundreds of resources and thousands of
73 tasks.
74 '';
75 };
76}