Author: viric
Date: Tue Mar 29 08:34:12 2011
New Revision: 26590
URL: https://svn.nixos.org/websvn/nix/?rev=26590&sc=1

Log:
Making task juggler build.

I also change the nixpkgs attribute name to one I like more.

Added:
   nixpkgs/trunk/pkgs/applications/misc/taskjuggler/timezone-glibc.patch
Modified:
   nixpkgs/trunk/pkgs/applications/misc/taskjuggler/default.nix
   nixpkgs/trunk/pkgs/top-level/all-packages.nix

Modified: nixpkgs/trunk/pkgs/applications/misc/taskjuggler/default.nix
==============================================================================
--- nixpkgs/trunk/pkgs/applications/misc/taskjuggler/default.nix        Tue Mar 
29 08:22:10 2011        (r26589)
+++ nixpkgs/trunk/pkgs/applications/misc/taskjuggler/default.nix        Tue Mar 
29 08:34:12 2011        (r26590)
@@ -5,10 +5,10 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "taskjuggler-2.4.1";
+  name = "taskjuggler-2.4.3";
   src = fetchurl {
     url = "http://www.taskjuggler.org/download/${name}.tar.bz2";;
-    md5 = "18e0cec8b2ec69220ae7c9a790c16819";
+    sha256 = "14gkxa2vwfih5z7fffbavps7m44z5bq950qndigw2icam5ks83jl";
   };
 
   buildInputs =
@@ -16,6 +16,8 @@
     ++ (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)
@@ -34,6 +36,14 @@
     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 = "
@@ -41,7 +51,7 @@
     --x-includes=${libX11}/include
     --x-libraries=${libX11}/lib
     --with-qt-dir=${qt}
-    --with-kde-support=${if withKde then "yes" else "no"}
+    --with-kde-support=${if withKde then "yes" else "no"} 
--with-ical-support=${if withKde then "yes" else "no"}
   ";
 
   preInstall = ''

Added: nixpkgs/trunk/pkgs/applications/misc/taskjuggler/timezone-glibc.patch
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ nixpkgs/trunk/pkgs/applications/misc/taskjuggler/timezone-glibc.patch       
Tue Mar 29 08:34:12 2011        (r26590)
@@ -0,0 +1,48 @@
+From the discussion in 
http://groups.google.com/group/taskjuggler-users/browse_thread/thread/f65a3efd4dcae2fc/a44c711a9d28ebee?show_docid=a44c711a9d28ebee
+
+From: Chris Schlaeger <[email protected]>
+Date: Sat, 27 Feb 2010 06:33:35 +0000 (+0100)
+Subject: Try to fix time zone check for glibc 2.11.
+X-Git-Url: 
http://www.taskjuggler.org/cgi-bin/gitweb.cgi?p=taskjuggler.git;a=commitdiff_plain;h=2382ed54f90c3c899badb3f56aaa2b3b5dba361e;hp=c666c5068312fec7db75e17d1c567d94127d1dda
+
+Try to fix time zone check for glibc 2.11.
+
+Reported-by: Lee <[email protected]>
+---
+
+diff --git a/taskjuggler/Utility.cpp b/taskjuggler/Utility.cpp
+index 5e2bf21..9b7fce2 100644
+--- a/taskjuggler/Utility.cpp
++++ b/taskjuggler/Utility.cpp
+@@ -206,16 +206,28 @@ setTimezone(const char* tZone)
+ 
+     /* To validate the tZone value we call tzset(). It will convert the zone
+      * into a three-letter acronym in case the tZone value is good. If not, it
+-     * will just copy the wrong value to tzname[0] (glibc < 2.5) or fall back
+-     * to UTC. */
++     * will
++     * - copy the wrong value to tzname[0] (glibc < 2.5)
++     * - or fall back to UTC (glibc >= 2.5 && < 2.11)
++     * - copy the part before the '/' to tzname[0] (glibc >= 2.11).
++     */
+     tzset();
++    char* region = new(char[strlen(tZone) + 1]);
++    region[0] = 0;
++    if (strchr(tZone, '/'))
++    {
++        strcpy(region, tZone);
++        *strchr(region, '/') = 0;
++    }
+     if (timezone2tz(tZone) == 0 &&
+-        (strcmp(tzname[0], tZone) == 0 ||
++        (strcmp(tzname[0], tZone) == 0 || strcmp(tzname[0], region) == 0 ||
+          (strcmp(tZone, "UTC") != 0 && strcmp(tzname[0], "UTC") == 0)))
+     {
+         UtilityError = QString(i18n("Illegal timezone '%1'")).arg(tZone);
++        delete region;
+         return false;
+     }
++    delete region;
+ 
+     if (!LtHashTab)
+         return true;

Modified: nixpkgs/trunk/pkgs/top-level/all-packages.nix
==============================================================================
--- nixpkgs/trunk/pkgs/top-level/all-packages.nix       Tue Mar 29 08:22:10 
2011        (r26589)
+++ nixpkgs/trunk/pkgs/top-level/all-packages.nix       Tue Mar 29 08:34:12 
2011        (r26590)
@@ -6739,7 +6739,7 @@
 
   teamspeak_client = callPackage 
../applications/networking/instant-messengers/teamspeak/client.nix { };
 
-  taskJuggler = callPackage ../applications/misc/taskjuggler {
+  taskjuggler = callPackage ../applications/misc/taskjuggler {
     qt = qt3;
 
     # KDE support is not working yet.
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits

Reply via email to