Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/staging' into HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
FRidh committed Mar 18, 2017
2 parents b5da6ca + e67b979 commit 06527e8
Show file tree
Hide file tree
Showing 96 changed files with 2,662 additions and 288 deletions.
2 changes: 1 addition & 1 deletion lib/strings.nix
Expand Up @@ -291,7 +291,7 @@ rec {

recurse = index: startAt:
let cutUntil = i: [(substring startAt (i - startAt) s)]; in
if index < lastSearch then
if index <= lastSearch then
if startWithSep index then
let restartAt = index + sepLen; in
cutUntil index ++ recurse restartAt restartAt
Expand Down
30 changes: 30 additions & 0 deletions lib/tests.nix
Expand Up @@ -220,4 +220,34 @@ runTests {
expected = builtins.toJSON val;
};

testSplitStringsSimple = {
expr = strings.splitString "." "a.b.c.d";
expected = [ "a" "b" "c" "d" ];
};

testSplitStringsEmpty = {
expr = strings.splitString "." "a..b";
expected = [ "a" "" "b" ];
};

testSplitStringsOne = {
expr = strings.splitString ":" "a.b";
expected = [ "a.b" ];
};

testSplitStringsNone = {
expr = strings.splitString "." "";
expected = [ "" ];
};

testSplitStringsFirstEmpty = {
expr = strings.splitString "/" "/a/b/c";
expected = [ "" "a" "b" "c" ];
};

testSplitStringsLastEmpty = {
expr = strings.splitString ":" "2001:db8:0:0042::8a2e:370:";
expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ];
};

}
1 change: 1 addition & 0 deletions nixos/modules/services/printing/cupsd.nix
Expand Up @@ -52,6 +52,7 @@ let
ServerBin ${bindir}/lib/cups
DataDir ${bindir}/share/cups
DocumentRoot ${cups.out}/share/doc/cups
AccessLog syslog
ErrorLog syslog
Expand Down
76 changes: 76 additions & 0 deletions pkgs/applications/misc/taskjuggler/2.x/default.nix
@@ -0,0 +1,76 @@
{stdenv, fetchurl,
zlib, libpng, libjpeg, perl, expat, qt3,
libX11, libXext, libSM, libICE,
}:

stdenv.mkDerivation rec {
name = "taskjuggler-2.4.3";
src = fetchurl {
url = "http://www.taskjuggler.org/download/${name}.tar.bz2";
sha256 = "14gkxa2vwfih5z7fffbavps7m44z5bq950qndigw2icam5ks83jl";
};

buildInputs =
[zlib libpng libX11 libXext libSM libICE perl expat libjpeg]
;

patches = [ ./timezone-glibc.patch ];

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
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 = "
--without-arts --disable-docs
--x-includes=${libX11.dev}/include
--x-libraries=${libX11.out}/lib
--with-qt-dir=${qt3}
";

preInstall = ''
mkdir -p $out/share/emacs/site-lisp/
cp Contrib/emacs/taskjug.el $out/share/emacs/site-lisp/
'';

installFlags =
# kde_locale is not defined when installing without kde.
"kde_locale=\${out}/share/locale";

meta = {
homepage = "http://www.taskjuggler.org";
license = stdenv.lib.licenses.gpl2;
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.
'';
};
}
48 changes: 48 additions & 0 deletions pkgs/applications/misc/taskjuggler/2.x/timezone-glibc.patch
@@ -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;
2 changes: 2 additions & 0 deletions pkgs/applications/misc/taskjuggler/3.x/Gemfile
@@ -0,0 +1,2 @@
source 'http://rubygems.org'
gem 'taskjuggler'
21 changes: 21 additions & 0 deletions pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock
@@ -0,0 +1,21 @@
GEM
remote: http://rubygems.org/
specs:
mail (2.6.3)
mime-types (>= 1.16, < 3)
mime-types (2.6.1)
taskjuggler (3.5.0)
mail (>= 2.4.3)
term-ansicolor (>= 1.0.7)
term-ansicolor (1.3.2)
tins (~> 1.0)
tins (1.6.0)

PLATFORMS
ruby

DEPENDENCIES
taskjuggler

BUNDLED WITH
1.10.5
15 changes: 15 additions & 0 deletions pkgs/applications/misc/taskjuggler/3.x/default.nix
@@ -0,0 +1,15 @@
{ lib, bundlerEnv, ruby }:

bundlerEnv {
name = "taskjuggler-3.5.0";

inherit ruby;
gemdir = ./.;

meta = {
description = "A modern and powerful project management tool";
homepage = http://taskjuggler.org/;
license = lib.licenses.gpl2;
platforms = lib.platforms.unix;
};
}
47 changes: 47 additions & 0 deletions pkgs/applications/misc/taskjuggler/3.x/gemset.nix
@@ -0,0 +1,47 @@
{
"mail" = {
version = "2.6.3";
source = {
type = "gem";
sha256 = "1nbg60h3cpnys45h7zydxwrl200p7ksvmrbxnwwbpaaf9vnf3znp";
};
dependencies = [
"mime-types"
];
};
"mime-types" = {
version = "2.6.1";
source = {
type = "gem";
sha256 = "1vnrvf245ijfyxzjbj9dr6i1hkjbyrh4yj88865wv9bs75axc5jv";
};
};
"taskjuggler" = {
version = "3.5.0";
source = {
type = "gem";
sha256 = "0r84rlc7a6w7p9nc9mgycbs5h0hq0kzscjq7zj3296xyf0afiwj2";
};
dependencies = [
"mail"
"term-ansicolor"
];
};
"term-ansicolor" = {
version = "1.3.2";
source = {
type = "gem";
sha256 = "0ydbbyjmk5p7fsi55ffnkq79jnfqx65c3nj8d9rpgl6sw85ahyys";
};
dependencies = [
"tins"
];
};
"tins" = {
version = "1.6.0";
source = {
type = "gem";
sha256 = "02qarvy17nbwvslfgqam8y6y7479cwmb1a6di9z18hzka4cf90hz";
};
};
}
2 changes: 1 addition & 1 deletion pkgs/applications/networking/browsers/opera/default.nix
Expand Up @@ -46,7 +46,7 @@ let
alsaLib.out
atk.out
cairo.out
cups.out
cups
curl.out
dbus.lib
expat.out
Expand Down
34 changes: 34 additions & 0 deletions pkgs/applications/networking/cluster/terraform/0.8.5.nix
@@ -0,0 +1,34 @@
{ stdenv, lib, buildGoPackage, fetchFromGitHub }:

buildGoPackage rec {
name = "terraform-${version}";
version = "0.8.5";

goPackagePath = "github.com/hashicorp/terraform";

src = fetchFromGitHub {
owner = "hashicorp";
repo = "terraform";
rev = "v${version}";
sha256 = "1cxwv3652fpsbm2zk1akw356cd7w7vhny1623ighgbz9ha8gvg09";
};

postInstall = ''
# remove all plugins, they are part of the main binary now
for i in $bin/bin/*; do
if [[ $(basename $i) != terraform ]]; then
rm "$i"
fi
done
'';

meta = with stdenv.lib; {
description = "Tool for building, changing, and versioning infrastructure";
homepage = "https://www.terraform.io/";
license = licenses.mpl20;
maintainers = with maintainers; [
jgeerds
zimbatm
];
};
}

0 comments on commit 06527e8

Please sign in to comment.