d73765b161
I also change the nixpkgs attribute name to one I like more. svn path=/nixpkgs/trunk/; revision=26590
80 lines
2.7 KiB
Nix
80 lines
2.7 KiB
Nix
{stdenv, fetchurl,
|
|
zlib, libpng, perl, expat, qt,
|
|
libX11, libXext, libSM, libICE,
|
|
withKde, kdelibs, kdebase
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "taskjuggler-2.4.3";
|
|
src = fetchurl {
|
|
url = "http://www.taskjuggler.org/download/${name}.tar.bz2";
|
|
sha256 = "14gkxa2vwfih5z7fffbavps7m44z5bq950qndigw2icam5ks83jl";
|
|
};
|
|
|
|
buildInputs =
|
|
[zlib libpng libX11 libXext libSM libICE perl expat]
|
|
++ (if withKde then [kdelibs] else [])
|
|
;
|
|
|
|
patches = [ ./timezone-glibc.patch ];
|
|
|
|
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
|
|
|
|
for i in TestSuite/testdir TestSuite/createrefs \
|
|
TestSuite/Scheduler/Correct/Expression.sh; do
|
|
substituteInPlace $i --replace '/bin/rm' 'rm'
|
|
done
|
|
|
|
# Some tests require writing at $HOME
|
|
HOME=$TMPDIR
|
|
'';
|
|
|
|
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"} --with-ical-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.
|
|
'';
|
|
};
|
|
}
|