···1-{stdenv, fetchurl,
2-zlib, libpng, libjpeg, perl, expat, qt3,
3-libX11, libXext, libSM, libICE,
4-}:
5-6-stdenv.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.dev}/include"
50- "--x-libraries=${libX11.out}/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- # kde_locale is not defined when installing without kde.
60- installFlags = [ "kde_locale=\${out}/share/locale" ];
61-62- meta = {
63- homepage = "http://www.taskjuggler.org";
64- license = lib.licenses.gpl2;
65- description = "Project management tool";
66- longDescription = ''
67- TaskJuggler is a modern and powerful, Open Source project management
68- tool. Its new approach to project planing and tracking is more
69- flexible and superior to the commonly used Gantt chart editing
70- tools. It has already been successfully used in many projects and
71- scales easily to projects with hundreds of resources and thousands of
72- tasks.
73- '';
74- };
75-}
···1-From the discussion in http://groups.google.com/group/taskjuggler-users/browse_thread/thread/f65a3efd4dcae2fc/a44c711a9d28ebee?show_docid=a44c711a9d28ebee
2-3-From: Chris Schlaeger <cs@kde.org>
4-Date: Sat, 27 Feb 2010 06:33:35 +0000 (+0100)
5-Subject: Try to fix time zone check for glibc 2.11.
6-X-Git-Url: http://www.taskjuggler.org/cgi-bin/gitweb.cgi?p=taskjuggler.git;a=commitdiff_plain;h=2382ed54f90c3c899badb3f56aaa2b3b5dba361e;hp=c666c5068312fec7db75e17d1c567d94127d1dda
7-8-Try to fix time zone check for glibc 2.11.
9-10-Reported-by: Lee <pFQh8RQn4fqB@dyweni.com>
11----
12-13-diff --git a/taskjuggler/Utility.cpp b/taskjuggler/Utility.cpp
14-index 5e2bf21..9b7fce2 100644
15---- a/taskjuggler/Utility.cpp
16-+++ b/taskjuggler/Utility.cpp
17-@@ -206,16 +206,28 @@ setTimezone(const char* tZone)
18-19- /* To validate the tZone value we call tzset(). It will convert the zone
20- * into a three-letter acronym in case the tZone value is good. If not, it
21-- * will just copy the wrong value to tzname[0] (glibc < 2.5) or fall back
22-- * to UTC. */
23-+ * will
24-+ * - copy the wrong value to tzname[0] (glibc < 2.5)
25-+ * - or fall back to UTC (glibc >= 2.5 && < 2.11)
26-+ * - copy the part before the '/' to tzname[0] (glibc >= 2.11).
27-+ */
28- tzset();
29-+ char* region = new(char[strlen(tZone) + 1]);
30-+ region[0] = 0;
31-+ if (strchr(tZone, '/'))
32-+ {
33-+ strcpy(region, tZone);
34-+ *strchr(region, '/') = 0;
35-+ }
36- if (timezone2tz(tZone) == 0 &&
37-- (strcmp(tzname[0], tZone) == 0 ||
38-+ (strcmp(tzname[0], tZone) == 0 || strcmp(tzname[0], region) == 0 ||
39- (strcmp(tZone, "UTC") != 0 && strcmp(tzname[0], "UTC") == 0)))
40- {
41- UtilityError = QString(i18n("Illegal timezone '%1'")).arg(tZone);
42-+ delete region;
43- return false;
44- }
45-+ delete region;
46-47- if (!LtHashTab)
48- return true;