nixpkgs/pkgs/applications/misc/taskjuggler/default.nix
Nicolas Pierron 6f08adf32b Install the emacs syntax highlighter for taskJuggler.
svn path=/nixpkgs/trunk/; revision=11944
2008-06-01 16:06:09 +00:00

70 lines
2.3 KiB
Nix

{stdenv, fetchurl,
zlib, libpng, perl, expat, qt,
libX11, libXext, libSM, libICE,
withKde, kdelibs, kdebase
}:
stdenv.mkDerivation rec {
name = "taskjuggler-2.4.1";
src = fetchurl {
url = "http://www.taskjuggler.org/download/${name}.tar.bz2";
md5 = "18e0cec8b2ec69220ae7c9a790c16819";
};
buildInputs =
[zlib libpng libX11 libXext libSM libICE perl expat]
++ (if withKde then [kdelibs] else [])
;
preConfigure = ''
for i in $(grep -R "/bin/bash" . | sed 's/:.*//'); do
substituteInPlace $i --replace /bin/bash $(type -Pp bash)
done
for i in $(grep -R "/usr/bin/perl" . | sed 's/:.*//'); do
substituteInPlace $i --replace /usr/bin/perl ${perl}/bin/perl
done
# Fix install
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
# Do not use variable substitution because there is some text after the last '@'
substituteInPlace $i --replace 'docprefix = @PACKAGES_DIR@' 'docprefix = $(docdir)/'
done
# Comment because the ical export need the KDE support.
for i in Examples/FirstProject/AccountingSoftware.tjp; do
substituteInPlace $i --replace "icalreport" "# icalreport"
done
'';
configureFlags = "
--without-arts --disable-docs
--x-includes=${libX11}/include
--x-libraries=${libX11}/lib
--with-qt-dir=${qt}
--with-kde-support=${if withKde then "yes" else "no"}
";
preInstall = ''
mkdir -p $out/share/emacs/site-lisp/
cp Contrib/emacs/taskjug.el $out/share/emacs/site-lisp/
'';
installFlags =
# kde_locale is not defined when installing without kde.
if withKde then "" else "kde_locale=\${out}/share/locale";
meta = {
homepage = "http://www.taskjuggler.org";
license = "GPLv2";
description = "Project management tool.";
longDescription = ''
TaskJuggler is a modern and powerful, Open Source project management
tool. Its new approach to project planing and tracking is more
flexible and superior to the commonly used Gantt chart editing
tools. It has already been successfully used in many projects and
scales easily to projects with hundreds of resources and thousands of
tasks.
'';
};
}