···11-{stdenv, fetchurl,
22-zlib, libpng, libjpeg, perl, expat, qt3,
33-libX11, libXext, libSM, libICE,
44-}:
55-66-stdenv.mkDerivation rec {
77- name = "taskjuggler-2.4.3";
88- src = fetchurl {
99- url = "http://www.taskjuggler.org/download/${name}.tar.bz2";
1010- sha256 = "14gkxa2vwfih5z7fffbavps7m44z5bq950qndigw2icam5ks83jl";
1111- };
1212-1313- buildInputs =
1414- [zlib libpng libX11 libXext libSM libICE perl expat libjpeg]
1515- ;
1616-1717- patches = [ ./timezone-glibc.patch ];
1818-1919- preConfigure = ''
2020- for i in $(grep -R "/bin/bash" . | sed 's/:.*//'); do
2121- substituteInPlace $i --replace /bin/bash $(type -Pp bash)
2222- done
2323- for i in $(grep -R "/usr/bin/perl" . | sed 's/:.*//'); do
2424- substituteInPlace $i --replace /usr/bin/perl ${perl}/bin/perl
2525- done
2626-2727- # Fix install
2828- 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
2929- # Do not use variable substitution because there is some text after the last '@'
3030- substituteInPlace $i --replace 'docprefix = @PACKAGES_DIR@' 'docprefix = $(docdir)/'
3131- done
3232-3333- # Comment because the ical export need the KDE support.
3434- for i in Examples/FirstProject/AccountingSoftware.tjp; do
3535- substituteInPlace $i --replace "icalreport" "# icalreport"
3636- done
3737-3838- for i in TestSuite/testdir TestSuite/createrefs \
3939- TestSuite/Scheduler/Correct/Expression.sh; do
4040- substituteInPlace $i --replace '/bin/rm' 'rm'
4141- done
4242-4343- # Some tests require writing at $HOME
4444- HOME=$TMPDIR
4545- '';
4646-4747- configureFlags = [
4848- "--without-arts" "--disable-docs"
4949- "--x-includes=${libX11.dev}/include"
5050- "--x-libraries=${libX11.out}/lib"
5151- "--with-qt-dir=${qt3}"
5252- ];
5353-5454- preInstall = ''
5555- mkdir -p $out/share/emacs/site-lisp/
5656- cp Contrib/emacs/taskjug.el $out/share/emacs/site-lisp/
5757- '';
5858-5959- # kde_locale is not defined when installing without kde.
6060- installFlags = [ "kde_locale=\${out}/share/locale" ];
6161-6262- meta = {
6363- homepage = "http://www.taskjuggler.org";
6464- license = lib.licenses.gpl2;
6565- description = "Project management tool";
6666- longDescription = ''
6767- TaskJuggler is a modern and powerful, Open Source project management
6868- tool. Its new approach to project planing and tracking is more
6969- flexible and superior to the commonly used Gantt chart editing
7070- tools. It has already been successfully used in many projects and
7171- scales easily to projects with hundreds of resources and thousands of
7272- tasks.
7373- '';
7474- };
7575-}
···11-From the discussion in http://groups.google.com/group/taskjuggler-users/browse_thread/thread/f65a3efd4dcae2fc/a44c711a9d28ebee?show_docid=a44c711a9d28ebee
22-33-From: Chris Schlaeger <cs@kde.org>
44-Date: Sat, 27 Feb 2010 06:33:35 +0000 (+0100)
55-Subject: Try to fix time zone check for glibc 2.11.
66-X-Git-Url: http://www.taskjuggler.org/cgi-bin/gitweb.cgi?p=taskjuggler.git;a=commitdiff_plain;h=2382ed54f90c3c899badb3f56aaa2b3b5dba361e;hp=c666c5068312fec7db75e17d1c567d94127d1dda
77-88-Try to fix time zone check for glibc 2.11.
99-1010-Reported-by: Lee <pFQh8RQn4fqB@dyweni.com>
1111----
1212-1313-diff --git a/taskjuggler/Utility.cpp b/taskjuggler/Utility.cpp
1414-index 5e2bf21..9b7fce2 100644
1515---- a/taskjuggler/Utility.cpp
1616-+++ b/taskjuggler/Utility.cpp
1717-@@ -206,16 +206,28 @@ setTimezone(const char* tZone)
1818-1919- /* To validate the tZone value we call tzset(). It will convert the zone
2020- * into a three-letter acronym in case the tZone value is good. If not, it
2121-- * will just copy the wrong value to tzname[0] (glibc < 2.5) or fall back
2222-- * to UTC. */
2323-+ * will
2424-+ * - copy the wrong value to tzname[0] (glibc < 2.5)
2525-+ * - or fall back to UTC (glibc >= 2.5 && < 2.11)
2626-+ * - copy the part before the '/' to tzname[0] (glibc >= 2.11).
2727-+ */
2828- tzset();
2929-+ char* region = new(char[strlen(tZone) + 1]);
3030-+ region[0] = 0;
3131-+ if (strchr(tZone, '/'))
3232-+ {
3333-+ strcpy(region, tZone);
3434-+ *strchr(region, '/') = 0;
3535-+ }
3636- if (timezone2tz(tZone) == 0 &&
3737-- (strcmp(tzname[0], tZone) == 0 ||
3838-+ (strcmp(tzname[0], tZone) == 0 || strcmp(tzname[0], region) == 0 ||
3939- (strcmp(tZone, "UTC") != 0 && strcmp(tzname[0], "UTC") == 0)))
4040- {
4141- UtilityError = QString(i18n("Illegal timezone '%1'")).arg(tZone);
4242-+ delete region;
4343- return false;
4444- }
4545-+ delete region;
4646-4747- if (!LtHashTab)
4848- return true;