Making task juggler build.
I also change the nixpkgs attribute name to one I like more. svn path=/nixpkgs/trunk/; revision=26590
This commit is contained in:
parent
f9c356ad17
commit
d73765b161
@ -5,10 +5,10 @@ withKde, kdelibs, kdebase
|
||||
}:
|
||||
|
||||
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 @@ stdenv.mkDerivation rec {
|
||||
++ (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 @@ stdenv.mkDerivation rec {
|
||||
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 @@ stdenv.mkDerivation rec {
|
||||
--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 = ''
|
||||
|
48
pkgs/applications/misc/taskjuggler/timezone-glibc.patch
Normal file
48
pkgs/applications/misc/taskjuggler/timezone-glibc.patch
Normal file
@ -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 <cs@kde.org>
|
||||
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 <pFQh8RQn4fqB@dyweni.com>
|
||||
---
|
||||
|
||||
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;
|
@ -6739,7 +6739,7 @@ let
|
||||
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user