From 77175d5dc3404b4d34adb8e91ed3bacf9868ef3e Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Thu, 29 May 2008 19:12:53 +0000 Subject: [PATCH] Add TaskJuggler: A project management tool. svn path=/nixpkgs/trunk/; revision=11933 --- .../applications/misc/taskjuggler/default.nix | 64 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 12 ++++ 2 files changed, 76 insertions(+) create mode 100644 pkgs/applications/misc/taskjuggler/default.nix diff --git a/pkgs/applications/misc/taskjuggler/default.nix b/pkgs/applications/misc/taskjuggler/default.nix new file mode 100644 index 000000000000..27db42160d26 --- /dev/null +++ b/pkgs/applications/misc/taskjuggler/default.nix @@ -0,0 +1,64 @@ +{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"} + "; + + 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. + ''; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b62b3f317d7b..42b376937256 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5935,6 +5935,18 @@ let pkgs = rec { }; */ + taskJuggler = import ../applications/misc/taskjuggler { + inherit stdenv fetchurl; + inherit zlib libpng perl expat; + qt = qt3; + + inherit (xlibs) libX11 libXext libSM libICE; + + # KDE support is not working yet. + inherit kdelibs kdebase; + withKde = pkgs.getConfig ["taskJuggler" "kde"] false; + }; + thunderbird = import ../applications/networking/mailreaders/thunderbird-2.x { inherit fetchurl stdenv pkgconfig perl zip libjpeg libpng zlib cairo; inherit (gtkLibs) gtk;