From de605827f89034ad2e5ffbd32909ad725128e2b1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Feb 2014 15:49:50 +0100 Subject: [PATCH 001/880] glibc: Rename 2.18 -> 2.19 --- .../libraries/glibc/{2.18 => 2.19}/builder.sh | 0 .../libraries/glibc/{2.18 => 2.19}/common.nix | 0 .../glibc/{2.18 => 2.19}/cve-2012-4412+4424.patch | 0 .../libraries/glibc/{2.18 => 2.19}/cve-2013-4237.patch | 0 .../libraries/glibc/{2.18 => 2.19}/cve-2013-4332.patch | 0 .../libraries/glibc/{2.18 => 2.19}/cve-2013-4458.patch | 0 .../libraries/glibc/{2.18 => 2.19}/cve-2013-4788.patch | 0 .../libraries/glibc/{2.18 => 2.19}/default.nix | 0 .../{2.18 => 2.19}/dont-use-system-ld-so-cache.patch | 0 .../{2.18 => 2.19}/fix_path_attribute_in_getconf.patch | 0 .../glibc/{2.18 => 2.19}/glibc-crypt-blowfish.patch | 0 .../glibc/{2.18 => 2.19}/glibc-rh739743.patch | 0 .../libraries/glibc/{2.18 => 2.19}/info.nix | 0 .../libraries/glibc/{2.18 => 2.19}/locales-builder.sh | 0 .../libraries/glibc/{2.18 => 2.19}/locales.nix | 0 .../glibc/{2.18 => 2.19}/nix-locale-archive.patch | 0 .../libraries/glibc/{2.18 => 2.19}/rpcgen-path.patch | 0 .../libraries/glibc/{2.18 => 2.19}/scanf.patch | 0 .../glibc/{2.18 => 2.19}/strstr-sse42-hack.patch | 0 pkgs/top-level/all-packages.nix | 10 +++++----- 20 files changed, 5 insertions(+), 5 deletions(-) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/builder.sh (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/common.nix (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/cve-2012-4412+4424.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/cve-2013-4237.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/cve-2013-4332.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/cve-2013-4458.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/cve-2013-4788.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/default.nix (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/dont-use-system-ld-so-cache.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/fix_path_attribute_in_getconf.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/glibc-crypt-blowfish.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/glibc-rh739743.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/info.nix (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/locales-builder.sh (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/locales.nix (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/nix-locale-archive.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/rpcgen-path.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/scanf.patch (100%) rename pkgs/development/libraries/glibc/{2.18 => 2.19}/strstr-sse42-hack.patch (100%) diff --git a/pkgs/development/libraries/glibc/2.18/builder.sh b/pkgs/development/libraries/glibc/2.19/builder.sh similarity index 100% rename from pkgs/development/libraries/glibc/2.18/builder.sh rename to pkgs/development/libraries/glibc/2.19/builder.sh diff --git a/pkgs/development/libraries/glibc/2.18/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.18/common.nix rename to pkgs/development/libraries/glibc/2.19/common.nix diff --git a/pkgs/development/libraries/glibc/2.18/cve-2012-4412+4424.patch b/pkgs/development/libraries/glibc/2.19/cve-2012-4412+4424.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/cve-2012-4412+4424.patch rename to pkgs/development/libraries/glibc/2.19/cve-2012-4412+4424.patch diff --git a/pkgs/development/libraries/glibc/2.18/cve-2013-4237.patch b/pkgs/development/libraries/glibc/2.19/cve-2013-4237.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/cve-2013-4237.patch rename to pkgs/development/libraries/glibc/2.19/cve-2013-4237.patch diff --git a/pkgs/development/libraries/glibc/2.18/cve-2013-4332.patch b/pkgs/development/libraries/glibc/2.19/cve-2013-4332.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/cve-2013-4332.patch rename to pkgs/development/libraries/glibc/2.19/cve-2013-4332.patch diff --git a/pkgs/development/libraries/glibc/2.18/cve-2013-4458.patch b/pkgs/development/libraries/glibc/2.19/cve-2013-4458.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/cve-2013-4458.patch rename to pkgs/development/libraries/glibc/2.19/cve-2013-4458.patch diff --git a/pkgs/development/libraries/glibc/2.18/cve-2013-4788.patch b/pkgs/development/libraries/glibc/2.19/cve-2013-4788.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/cve-2013-4788.patch rename to pkgs/development/libraries/glibc/2.19/cve-2013-4788.patch diff --git a/pkgs/development/libraries/glibc/2.18/default.nix b/pkgs/development/libraries/glibc/2.19/default.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.18/default.nix rename to pkgs/development/libraries/glibc/2.19/default.nix diff --git a/pkgs/development/libraries/glibc/2.18/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/dont-use-system-ld-so-cache.patch rename to pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-cache.patch diff --git a/pkgs/development/libraries/glibc/2.18/fix_path_attribute_in_getconf.patch b/pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/fix_path_attribute_in_getconf.patch rename to pkgs/development/libraries/glibc/2.19/fix_path_attribute_in_getconf.patch diff --git a/pkgs/development/libraries/glibc/2.18/glibc-crypt-blowfish.patch b/pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/glibc-crypt-blowfish.patch rename to pkgs/development/libraries/glibc/2.19/glibc-crypt-blowfish.patch diff --git a/pkgs/development/libraries/glibc/2.18/glibc-rh739743.patch b/pkgs/development/libraries/glibc/2.19/glibc-rh739743.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/glibc-rh739743.patch rename to pkgs/development/libraries/glibc/2.19/glibc-rh739743.patch diff --git a/pkgs/development/libraries/glibc/2.18/info.nix b/pkgs/development/libraries/glibc/2.19/info.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.18/info.nix rename to pkgs/development/libraries/glibc/2.19/info.nix diff --git a/pkgs/development/libraries/glibc/2.18/locales-builder.sh b/pkgs/development/libraries/glibc/2.19/locales-builder.sh similarity index 100% rename from pkgs/development/libraries/glibc/2.18/locales-builder.sh rename to pkgs/development/libraries/glibc/2.19/locales-builder.sh diff --git a/pkgs/development/libraries/glibc/2.18/locales.nix b/pkgs/development/libraries/glibc/2.19/locales.nix similarity index 100% rename from pkgs/development/libraries/glibc/2.18/locales.nix rename to pkgs/development/libraries/glibc/2.19/locales.nix diff --git a/pkgs/development/libraries/glibc/2.18/nix-locale-archive.patch b/pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/nix-locale-archive.patch rename to pkgs/development/libraries/glibc/2.19/nix-locale-archive.patch diff --git a/pkgs/development/libraries/glibc/2.18/rpcgen-path.patch b/pkgs/development/libraries/glibc/2.19/rpcgen-path.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/rpcgen-path.patch rename to pkgs/development/libraries/glibc/2.19/rpcgen-path.patch diff --git a/pkgs/development/libraries/glibc/2.18/scanf.patch b/pkgs/development/libraries/glibc/2.19/scanf.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/scanf.patch rename to pkgs/development/libraries/glibc/2.19/scanf.patch diff --git a/pkgs/development/libraries/glibc/2.18/strstr-sse42-hack.patch b/pkgs/development/libraries/glibc/2.19/strstr-sse42-hack.patch similarity index 100% rename from pkgs/development/libraries/glibc/2.18/strstr-sse42-hack.patch rename to pkgs/development/libraries/glibc/2.19/strstr-sse42-hack.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90e59c96c29..246caa8ecf7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4197,7 +4197,7 @@ let glfw2 = callPackage ../development/libraries/glfw/2.x.nix { }; glfw3 = callPackage ../development/libraries/glfw/3.x.nix { }; - glibc = callPackage ../development/libraries/glibc/2.18 { + glibc = callPackage ../development/libraries/glibc/2.19 { kernelHeaders = linuxHeaders; installLocales = config.glibc.locales or false; machHeaders = null; @@ -4205,13 +4205,13 @@ let gccCross = null; }; - glibc_memusage = callPackage ../development/libraries/glibc/2.18 { + glibc_memusage = callPackage ../development/libraries/glibc/2.19 { kernelHeaders = linuxHeaders; installLocales = false; withGd = true; }; - glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.18) + glibcCross = forceNativeDrv (makeOverridable (import ../development/libraries/glibc/2.19) (let crossGNU = crossSystem != null && crossSystem.config == "i586-pc-gnu"; in { inherit stdenv fetchurl; @@ -4240,9 +4240,9 @@ let installLocales = config.glibc.locales or false; }; - glibcLocales = callPackage ../development/libraries/glibc/2.18/locales.nix { }; + glibcLocales = callPackage ../development/libraries/glibc/2.19/locales.nix { }; - glibcInfo = callPackage ../development/libraries/glibc/2.18/info.nix { }; + glibcInfo = callPackage ../development/libraries/glibc/2.19/info.nix { }; glibc_multi = runCommand "${glibc.name}-multi" From a5ea0a3f50c9f9d2d8ee7280fdebe0c23f8c351c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Feb 2014 16:01:47 +0100 Subject: [PATCH 002/880] glibc: Update to 2.19 --- .../libraries/glibc/2.19/common.nix | 20 +- .../glibc/2.19/cve-2012-4412+4424.patch | 1006 ----------------- .../libraries/glibc/2.19/cve-2013-4237.patch | 302 ----- .../libraries/glibc/2.19/cve-2013-4332.patch | 56 - .../libraries/glibc/2.19/cve-2013-4458.patch | 50 - .../libraries/glibc/2.19/cve-2013-4788.patch | 222 ---- .../libraries/glibc/2.19/glibc-rh739743.patch | 55 - .../libraries/glibc/2.19/scanf.patch | 21 - .../glibc/2.19/strstr-sse42-hack.patch | 14 - 9 files changed, 2 insertions(+), 1744 deletions(-) delete mode 100644 pkgs/development/libraries/glibc/2.19/cve-2012-4412+4424.patch delete mode 100644 pkgs/development/libraries/glibc/2.19/cve-2013-4237.patch delete mode 100644 pkgs/development/libraries/glibc/2.19/cve-2013-4332.patch delete mode 100644 pkgs/development/libraries/glibc/2.19/cve-2013-4458.patch delete mode 100644 pkgs/development/libraries/glibc/2.19/cve-2013-4788.patch delete mode 100644 pkgs/development/libraries/glibc/2.19/glibc-rh739743.patch delete mode 100644 pkgs/development/libraries/glibc/2.19/scanf.patch delete mode 100644 pkgs/development/libraries/glibc/2.19/strstr-sse42-hack.patch diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix index 518615b1739..07baefa9281 100644 --- a/pkgs/development/libraries/glibc/2.19/common.nix +++ b/pkgs/development/libraries/glibc/2.19/common.nix @@ -13,7 +13,7 @@ cross: let - version = "2.18"; + version = "2.19"; in @@ -49,26 +49,10 @@ stdenv.mkDerivation ({ to default to blowfish). */ ./glibc-crypt-blowfish.patch - /* Fix for random "./sysdeps/posix/getaddrinfo.c:1467: - rfc3484_sort: Assertion `src->results[i].native == -1 || - src->results[i].native == a2_native' failed." crashes. */ - ./glibc-rh739743.patch - - ./scanf.patch - /* The command "getconf CS_PATH" returns the default search path "/bin:/usr/bin", which is inappropriate on NixOS machines. This patch extends the search path by "/run/current-system/sw/bin". */ ./fix_path_attribute_in_getconf.patch - - - ./cve-2012-4412+4424.patch - ./cve-2013-4237.patch - ./cve-2013-4332.patch - ./cve-2013-4458.patch - ./cve-2013-4788.patch - - ./strstr-sse42-hack.patch ]; postPatch = '' @@ -152,7 +136,7 @@ stdenv.mkDerivation ({ } else fetchurl { url = "mirror://gnu/glibc/glibc-${version}.tar.gz"; - sha256 = "0d3pnh6kg5r48ga5rg4lhwlc1062brr6fiqs4j23327gzssjgry8"; + sha256 = "15n7x9mmzhd7w6s5hd9srx0h23b32gwb306x98k9ss940yvnvb8q"; }; # Remove absolute paths from `configure' & co.; build out-of-tree. diff --git a/pkgs/development/libraries/glibc/2.19/cve-2012-4412+4424.patch b/pkgs/development/libraries/glibc/2.19/cve-2012-4412+4424.patch deleted file mode 100644 index 67ffbbc217b..00000000000 --- a/pkgs/development/libraries/glibc/2.19/cve-2012-4412+4424.patch +++ /dev/null @@ -1,1006 +0,0 @@ -https://projects.archlinux.org/svntogit/packages.git/tree/trunk/glibc-2.18-strcoll-CVE-2012-4412+4424.patch?h=packages/glibc - -diff --git a/string/strcoll_l.c b/string/strcoll_l.c -index ecda08f..bb34a72 100644 ---- a/string/strcoll_l.c -+++ b/string/strcoll_l.c -@@ -41,11 +41,434 @@ - - #include "../locale/localeinfo.h" - -+/* Track status while looking for sequences in a string. */ -+typedef struct -+{ -+ int len; /* Length of the current sequence. */ -+ size_t val; /* Position of the sequence relative to the -+ previous non-ignored sequence. */ -+ size_t idxnow; /* Current index in sequences. */ -+ size_t idxmax; /* Maximum index in sequences. */ -+ size_t idxcnt; /* Current count of indices. */ -+ size_t backw; /* Current Backward sequence index. */ -+ size_t backw_stop; /* Index where the backward sequences stop. */ -+ const USTRING_TYPE *us; /* The string. */ -+ int32_t *idxarr; /* Array to cache weight indices. */ -+ unsigned char *rulearr; /* Array to cache rules. */ -+ unsigned char rule; /* Saved rule for the first sequence. */ -+ int32_t idx; /* Index to weight of the current sequence. */ -+ int32_t save_idx; /* Save looked up index of a forward -+ sequence after the last backward -+ sequence. */ -+ const USTRING_TYPE *back_us; /* Beginning of the backward sequence. */ -+} coll_seq; -+ -+/* Get next sequence. The weight indices are cached, so we don't need to -+ traverse the string. */ -+static void -+get_next_seq_cached (coll_seq *seq, int nrules, int pass, -+ const unsigned char *rulesets, -+ const USTRING_TYPE *weights) -+{ -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ size_t idxnow = seq->idxnow; -+ unsigned char *rulearr = seq->rulearr; -+ int32_t *idxarr = seq->idxarr; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idxnow = idxcnt; -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* Nothing any more. The backward sequence -+ ended with the last sequence in the string. */ -+ idxnow = ~0ul; -+ break; -+ } -+ } -+ else -+ idxnow = --backw; -+ } -+ else -+ { -+ backw_stop = idxcnt; -+ -+ while (idxcnt < idxmax) -+ { -+ if ((rulesets[rulearr[idxcnt] * nrules + pass] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop == idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax) -+ /* Note that LEN is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ idxnow = idxcnt++; -+ } -+ else -+ /* We pushed backward sequences. */ -+ idxnow = backw = idxcnt - 1; -+ } -+ len = weights[idxarr[idxnow]++]; -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxnow = idxnow; -+} -+ -+/* Get next sequence. Traverse the string as required. */ -+static void -+get_next_seq (coll_seq *seq, int nrules, const unsigned char *rulesets, -+ const USTRING_TYPE *weights, const int32_t *table, -+ const USTRING_TYPE *extra, const int32_t *indirect) -+{ -+#include WEIGHT_H -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ size_t idxnow = seq->idxnow; -+ unsigned char *rulearr = seq->rulearr; -+ int32_t *idxarr = seq->idxarr; -+ const USTRING_TYPE *us = seq->us; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idxnow = idxcnt; -+ backw_stop = ~0ul; -+ } -+ else -+ /* Nothing any more. The backward sequence ended with -+ the last sequence in the string. Note that LEN -+ is still zero. */ -+ break; -+ } -+ else -+ idxnow = --backw; -+ } -+ else -+ { -+ backw_stop = idxmax; -+ -+ while (*us != L('\0')) -+ { -+ int32_t tmp = findidx (&us, -1); -+ rulearr[idxmax] = tmp >> 24; -+ idxarr[idxmax] = tmp & 0xffffff; -+ idxcnt = idxmax++; -+ -+ if ((rulesets[rulearr[idxcnt] * nrules] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop >= idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax || backw_stop > idxcnt) -+ /* Note that LEN is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ idxnow = idxcnt; -+ } -+ else -+ /* We pushed backward sequences. */ -+ idxnow = backw = idxcnt - 1; -+ } -+ len = weights[idxarr[idxnow]++]; -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxmax = idxmax; -+ seq->idxnow = idxnow; -+ seq->us = us; -+} -+ -+/* Get next sequence. Traverse the string as required. This function does not -+ set or use any index or rule cache. */ -+static void -+get_next_seq_nocache (coll_seq *seq, int nrules, const unsigned char *rulesets, -+ const USTRING_TYPE *weights, const int32_t *table, -+ const USTRING_TYPE *extra, const int32_t *indirect, -+ int pass) -+{ -+#include WEIGHT_H -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ int32_t idx = seq->idx; -+ const USTRING_TYPE *us = seq->us; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idx = seq->save_idx; -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* Nothing anymore. The backward sequence ended with -+ the last sequence in the string. Note that len is -+ still zero. */ -+ idx = 0; -+ break; -+ } -+ } -+ else -+ { -+ /* XXX Traverse BACKW sequences from the beginning of -+ BACKW_STOP to get the next sequence. Is ther a quicker way -+ to do this? */ -+ size_t i = backw_stop; -+ us = seq->back_us; -+ while (i < backw) -+ { -+ int32_t tmp = findidx (&us, -1); -+ idx = tmp & 0xffffff; -+ i++; -+ } -+ --backw; -+ us = seq->us; -+ } -+ } -+ else -+ { -+ backw_stop = idxmax; -+ int32_t prev_idx = idx; -+ -+ while (*us != L('\0')) -+ { -+ int32_t tmp = findidx (&us, -1); -+ unsigned char rule = tmp >> 24; -+ prev_idx = idx; -+ idx = tmp & 0xffffff; -+ idxcnt = idxmax++; -+ -+ /* Save the rule for the first sequence. */ -+ if (__glibc_unlikely (idxcnt == 0)) -+ seq->rule = rule; -+ -+ if ((rulesets[rule * nrules + pass] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop >= idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax || backw_stop > idxcnt) -+ /* Note that len is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* We pushed backward sequences. If the stream ended with the -+ backward sequence, then we process the last sequence we -+ found. Otherwise we process the sequence before the last -+ one since the last one was a forward sequence. */ -+ seq->back_us = seq->us; -+ seq->us = us; -+ backw = idxcnt; -+ if (idxmax > idxcnt) -+ { -+ backw--; -+ seq->save_idx = idx; -+ idx = prev_idx; -+ } -+ if (backw > backw_stop) -+ backw--; -+ } -+ } -+ -+ len = weights[idx++]; -+ /* Skip over indices of previous levels. */ -+ for (int i = 0; i < pass; i++) -+ { -+ idx += len; -+ len = weights[idx]; -+ idx++; -+ } -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxmax = idxmax; -+ seq->us = us; -+ seq->idx = idx; -+} -+ -+/* Compare two sequences. This version does not use the index and rules -+ cache. */ -+static int -+do_compare_nocache (coll_seq *seq1, coll_seq *seq2, int position, -+ const USTRING_TYPE *weights) -+{ -+ int seq1len = seq1->len; -+ int seq2len = seq2->len; -+ size_t val1 = seq1->val; -+ size_t val2 = seq2->val; -+ int idx1 = seq1->idx; -+ int idx2 = seq2->idx; -+ int result = 0; -+ -+ /* Test for position if necessary. */ -+ if (position && val1 != val2) -+ { -+ result = val1 > val2 ? 1 : -1; -+ goto out; -+ } -+ -+ /* Compare the two sequences. */ -+ do -+ { -+ if (weights[idx1] != weights[idx2]) -+ { -+ /* The sequences differ. */ -+ result = weights[idx1] - weights[idx2]; -+ goto out; -+ } -+ -+ /* Increment the offsets. */ -+ ++idx1; -+ ++idx2; -+ -+ --seq1len; -+ --seq2len; -+ } -+ while (seq1len > 0 && seq2len > 0); -+ -+ if (position && seq1len != seq2len) -+ result = seq1len - seq2len; -+ -+out: -+ seq1->len = seq1len; -+ seq2->len = seq2len; -+ seq1->idx = idx1; -+ seq2->idx = idx2; -+ return result; -+} -+ -+/* Compare two sequences using the index cache. */ -+static int -+do_compare (coll_seq *seq1, coll_seq *seq2, int position, -+ const USTRING_TYPE *weights) -+{ -+ int seq1len = seq1->len; -+ int seq2len = seq2->len; -+ size_t val1 = seq1->val; -+ size_t val2 = seq2->val; -+ int32_t *idx1arr = seq1->idxarr; -+ int32_t *idx2arr = seq2->idxarr; -+ int idx1now = seq1->idxnow; -+ int idx2now = seq2->idxnow; -+ int result = 0; -+ -+ /* Test for position if necessary. */ -+ if (position && val1 != val2) -+ { -+ result = val1 > val2 ? 1 : -1; -+ goto out; -+ } -+ -+ /* Compare the two sequences. */ -+ do -+ { -+ if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -+ { -+ /* The sequences differ. */ -+ result = weights[idx1arr[idx1now]] - weights[idx2arr[idx2now]]; -+ goto out; -+ } -+ -+ /* Increment the offsets. */ -+ ++idx1arr[idx1now]; -+ ++idx2arr[idx2now]; -+ -+ --seq1len; -+ --seq2len; -+ } -+ while (seq1len > 0 && seq2len > 0); -+ -+ if (position && seq1len != seq2len) -+ result = seq1len - seq2len; -+ -+out: -+ seq1->len = seq1len; -+ seq2->len = seq2len; -+ return result; -+} -+ - int --STRCOLL (s1, s2, l) -- const STRING_TYPE *s1; -- const STRING_TYPE *s2; -- __locale_t l; -+STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) - { - struct __locale_data *current = l->__locales[LC_COLLATE]; - uint_fast32_t nrules = current->values[_NL_ITEM_INDEX (_NL_COLLATE_NRULES)].word; -@@ -56,34 +479,6 @@ STRCOLL (s1, s2, l) - const USTRING_TYPE *weights; - const USTRING_TYPE *extra; - const int32_t *indirect; -- uint_fast32_t pass; -- int result = 0; -- const USTRING_TYPE *us1; -- const USTRING_TYPE *us2; -- size_t s1len; -- size_t s2len; -- int32_t *idx1arr; -- int32_t *idx2arr; -- unsigned char *rule1arr; -- unsigned char *rule2arr; -- size_t idx1max; -- size_t idx2max; -- size_t idx1cnt; -- size_t idx2cnt; -- size_t idx1now; -- size_t idx2now; -- size_t backw1_stop; -- size_t backw2_stop; -- size_t backw1; -- size_t backw2; -- int val1; -- int val2; -- int position; -- int seq1len; -- int seq2len; -- int use_malloc; -- --#include WEIGHT_H - - if (nrules == 0) - return STRCMP (s1, s2); -@@ -98,7 +493,6 @@ STRCOLL (s1, s2, l) - current->values[_NL_ITEM_INDEX (CONCAT(_NL_COLLATE_EXTRA,SUFFIX))].string; - indirect = (const int32_t *) - current->values[_NL_ITEM_INDEX (CONCAT(_NL_COLLATE_INDIRECT,SUFFIX))].string; -- use_malloc = 0; - - assert (((uintptr_t) table) % __alignof__ (table[0]) == 0); - assert (((uintptr_t) weights) % __alignof__ (weights[0]) == 0); -@@ -106,18 +500,13 @@ STRCOLL (s1, s2, l) - assert (((uintptr_t) indirect) % __alignof__ (indirect[0]) == 0); - - /* We need this a few times. */ -- s1len = STRLEN (s1); -- s2len = STRLEN (s2); -+ size_t s1len = STRLEN (s1); -+ size_t s2len = STRLEN (s2); - - /* Catch empty strings. */ -- if (__builtin_expect (s1len == 0, 0) || __builtin_expect (s2len == 0, 0)) -+ if (__glibc_unlikely (s1len == 0) || __glibc_unlikely (s2len == 0)) - return (s1len != 0) - (s2len != 0); - -- /* We need the elements of the strings as unsigned values since they -- are used as indeces. */ -- us1 = (const USTRING_TYPE *) s1; -- us2 = (const USTRING_TYPE *) s2; -- - /* Perform the first pass over the string and while doing this find - and store the weights for each character. Since we want this to - be as fast as possible we are using `alloca' to store the temporary -@@ -127,411 +516,124 @@ STRCOLL (s1, s2, l) - - Please note that the localedef programs makes sure that `position' - is not used at the first level. */ -- if (! __libc_use_alloca ((s1len + s2len) * (sizeof (int32_t) + 1))) -- { -- idx1arr = (int32_t *) malloc ((s1len + s2len) * (sizeof (int32_t) + 1)); -- idx2arr = &idx1arr[s1len]; -- rule1arr = (unsigned char *) &idx2arr[s2len]; -- rule2arr = &rule1arr[s1len]; -- -- if (idx1arr == NULL) -- /* No memory. Well, go with the stack then. -- -- XXX Once this implementation is stable we will handle this -- differently. Instead of precomputing the indeces we will -- do this in time. This means, though, that this happens for -- every pass again. */ -- goto try_stack; -- use_malloc = 1; -- } -- else -- { -- try_stack: -- idx1arr = (int32_t *) alloca (s1len * sizeof (int32_t)); -- idx2arr = (int32_t *) alloca (s2len * sizeof (int32_t)); -- rule1arr = (unsigned char *) alloca (s1len); -- rule2arr = (unsigned char *) alloca (s2len); -- } - -- idx1cnt = 0; -- idx2cnt = 0; -- idx1max = 0; -- idx2max = 0; -- idx1now = 0; -- idx2now = 0; -- backw1_stop = ~0ul; -- backw2_stop = ~0ul; -- backw1 = ~0ul; -- backw2 = ~0ul; -- seq1len = 0; -- seq2len = 0; -- position = rulesets[0] & sort_position; -- while (1) -- { -- val1 = 0; -- val2 = 0; -- -- /* Get the next non-IGNOREd element for string `s1'. */ -- if (seq1len == 0) -- do -- { -- ++val1; -- -- if (backw1_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw1 == backw1_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx1cnt < idx1max) -- { -- idx1now = idx1cnt; -- backw1_stop = ~0ul; -- } -- else -- /* Nothing anymore. The backward sequence ended with -- the last sequence in the string. Note that seq1len -- is still zero. */ -- break; -- } -- else -- idx1now = --backw1; -- } -- else -- { -- backw1_stop = idx1max; -- -- while (*us1 != L('\0')) -- { -- int32_t tmp = findidx (&us1, -1); -- rule1arr[idx1max] = tmp >> 24; -- idx1arr[idx1max] = tmp & 0xffffff; -- idx1cnt = idx1max++; -- -- if ((rulesets[rule1arr[idx1cnt] * nrules] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx1cnt; -- } -- -- if (backw1_stop >= idx1cnt) -- { -- /* No sequence at all or just one. */ -- if (idx1cnt == idx1max || backw1_stop > idx1cnt) -- /* Note that seq1len is still zero. */ -- break; -- -- backw1_stop = ~0ul; -- idx1now = idx1cnt; -- } -- else -- /* We pushed backward sequences. */ -- idx1now = backw1 = idx1cnt - 1; -- } -- } -- while ((seq1len = weights[idx1arr[idx1now]++]) == 0); -- -- /* And the same for string `s2'. */ -- if (seq2len == 0) -- do -- { -- ++val2; -- -- if (backw2_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw2 == backw2_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx2cnt < idx2max) -- { -- idx2now = idx2cnt; -- backw2_stop = ~0ul; -- } -- else -- /* Nothing anymore. The backward sequence ended with -- the last sequence in the string. Note that seq2len -- is still zero. */ -- break; -- } -- else -- idx2now = --backw2; -- } -- else -- { -- backw2_stop = idx2max; -- -- while (*us2 != L('\0')) -- { -- int32_t tmp = findidx (&us2, -1); -- rule2arr[idx2max] = tmp >> 24; -- idx2arr[idx2max] = tmp & 0xffffff; -- idx2cnt = idx2max++; -- -- if ((rulesets[rule2arr[idx2cnt] * nrules] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx2cnt; -- } -- -- if (backw2_stop >= idx2cnt) -- { -- /* No sequence at all or just one. */ -- if (idx2cnt == idx2max || backw2_stop > idx2cnt) -- /* Note that seq1len is still zero. */ -- break; -- -- backw2_stop = ~0ul; -- idx2now = idx2cnt; -- } -- else -- /* We pushed backward sequences. */ -- idx2now = backw2 = idx2cnt - 1; -- } -- } -- while ((seq2len = weights[idx2arr[idx2now]++]) == 0); -- -- /* See whether any or both strings are empty. */ -- if (seq1len == 0 || seq2len == 0) -- { -- if (seq1len == seq2len) -- /* Both ended. So far so good, both strings are equal at the -- first level. */ -- break; -- -- /* This means one string is shorter than the other. Find out -- which one and return an appropriate value. */ -- result = seq1len == 0 ? -1 : 1; -- goto free_and_return; -- } -+ coll_seq seq1, seq2; -+ bool use_malloc = false; -+ int result = 0; - -- /* Test for position if necessary. */ -- if (position && val1 != val2) -- { -- result = val1 - val2; -- goto free_and_return; -- } -+ memset (&seq1, 0, sizeof (seq1)); -+ seq2 = seq1; - -- /* Compare the two sequences. */ -- do -- { -- if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -- { -- /* The sequences differ. */ -- result = weights[idx1arr[idx1now]] - weights[idx2arr[idx2now]]; -- goto free_and_return; -- } -+ size_t size_max = SIZE_MAX / (sizeof (int32_t) + 1); - -- /* Increment the offsets. */ -- ++idx1arr[idx1now]; -- ++idx2arr[idx2now]; -+ /* If the strings are long enough to cause overflow in the size request, then -+ skip the allocation and proceed with the non-cached routines. */ -+ if (MIN (s1len, s2len) > size_max -+ || MAX (s1len, s2len) > size_max - MIN (s1len, s2len)) -+ goto begin_collate; - -- --seq1len; -- --seq2len; -- } -- while (seq1len > 0 && seq2len > 0); -+ if (! __libc_use_alloca ((s1len + s2len) * (sizeof (int32_t) + 1))) -+ { -+ seq1.idxarr = (int32_t *) malloc ((s1len + s2len) * (sizeof (int32_t) + 1)); - -- if (position && seq1len != seq2len) -+ /* If we failed to allocate memory, we leave everything as NULL so that -+ we use the nocache version of traversal and comparison functions. */ -+ if (seq1.idxarr != NULL) - { -- result = seq1len - seq2len; -- goto free_and_return; -+ seq2.idxarr = &seq1.idxarr[s1len]; -+ seq1.rulearr = (unsigned char *) &seq2.idxarr[s2len]; -+ seq2.rulearr = &seq1.rulearr[s1len]; -+ use_malloc = true; - } - } -+ else -+ { -+ seq1.idxarr = (int32_t *) alloca (s1len * sizeof (int32_t)); -+ seq2.idxarr = (int32_t *) alloca (s2len * sizeof (int32_t)); -+ seq1.rulearr = (unsigned char *) alloca (s1len); -+ seq2.rulearr = (unsigned char *) alloca (s2len); -+ } - -- /* Now the remaining passes over the weights. We now use the -- indeces we found before. */ -- for (pass = 1; pass < nrules; ++pass) -+ int rule; -+ -+ begin_collate: -+ rule = 0; -+ /* Cache values in the first pass and if needed, use them in subsequent -+ passes. */ -+ for (int pass = 0; pass < nrules; ++pass) - { -+ seq1.idxcnt = 0; -+ seq1.idx = 0; -+ seq2.idx = 0; -+ seq1.backw_stop = ~0ul; -+ seq1.backw = ~0ul; -+ seq2.idxcnt = 0; -+ seq2.backw_stop = ~0ul; -+ seq2.backw = ~0ul; -+ -+ /* We need the elements of the strings as unsigned values since they -+ are used as indices. */ -+ seq1.us = (const USTRING_TYPE *) s1; -+ seq2.us = (const USTRING_TYPE *) s2; -+ - /* We assume that if a rule has defined `position' in one section - this is true for all of them. */ -- idx1cnt = 0; -- idx2cnt = 0; -- backw1_stop = ~0ul; -- backw2_stop = ~0ul; -- backw1 = ~0ul; -- backw2 = ~0ul; -- position = rulesets[rule1arr[0] * nrules + pass] & sort_position; -+ int position = rulesets[rule * nrules + pass] & sort_position; - - while (1) - { -- val1 = 0; -- val2 = 0; -- -- /* Get the next non-IGNOREd element for string `s1'. */ -- if (seq1len == 0) -- do -- { -- ++val1; -- -- if (backw1_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw1 == backw1_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx1cnt < idx1max) -- { -- idx1now = idx1cnt; -- backw1_stop = ~0ul; -- } -- else -- { -- /* Nothing anymore. The backward sequence -- ended with the last sequence in the string. */ -- idx1now = ~0ul; -- break; -- } -- } -- else -- idx1now = --backw1; -- } -- else -- { -- backw1_stop = idx1cnt; -- -- while (idx1cnt < idx1max) -- { -- if ((rulesets[rule1arr[idx1cnt] * nrules + pass] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx1cnt; -- } -- -- if (backw1_stop == idx1cnt) -- { -- /* No sequence at all or just one. */ -- if (idx1cnt == idx1max) -- /* Note that seq1len is still zero. */ -- break; -- -- backw1_stop = ~0ul; -- idx1now = idx1cnt++; -- } -- else -- /* We pushed backward sequences. */ -- idx1now = backw1 = idx1cnt - 1; -- } -- } -- while ((seq1len = weights[idx1arr[idx1now]++]) == 0); -- -- /* And the same for string `s2'. */ -- if (seq2len == 0) -- do -- { -- ++val2; -- -- if (backw2_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw2 == backw2_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx2cnt < idx2max) -- { -- idx2now = idx2cnt; -- backw2_stop = ~0ul; -- } -- else -- { -- /* Nothing anymore. The backward sequence -- ended with the last sequence in the string. */ -- idx2now = ~0ul; -- break; -- } -- } -- else -- idx2now = --backw2; -- } -- else -- { -- backw2_stop = idx2cnt; -- -- while (idx2cnt < idx2max) -- { -- if ((rulesets[rule2arr[idx2cnt] * nrules + pass] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx2cnt; -- } -- -- if (backw2_stop == idx2cnt) -- { -- /* No sequence at all or just one. */ -- if (idx2cnt == idx2max) -- /* Note that seq2len is still zero. */ -- break; -- -- backw2_stop = ~0ul; -- idx2now = idx2cnt++; -- } -- else -- /* We pushed backward sequences. */ -- idx2now = backw2 = idx2cnt - 1; -- } -- } -- while ((seq2len = weights[idx2arr[idx2now]++]) == 0); -+ if (__glibc_unlikely (seq1.idxarr == NULL)) -+ { -+ get_next_seq_nocache (&seq1, nrules, rulesets, weights, table, -+ extra, indirect, pass); -+ get_next_seq_nocache (&seq2, nrules, rulesets, weights, table, -+ extra, indirect, pass); -+ } -+ else if (pass == 0) -+ { -+ get_next_seq (&seq1, nrules, rulesets, weights, table, extra, -+ indirect); -+ get_next_seq (&seq2, nrules, rulesets, weights, table, extra, -+ indirect); -+ } -+ else -+ { -+ get_next_seq_cached (&seq1, nrules, pass, rulesets, weights); -+ get_next_seq_cached (&seq2, nrules, pass, rulesets, weights); -+ } - - /* See whether any or both strings are empty. */ -- if (seq1len == 0 || seq2len == 0) -+ if (seq1.len == 0 || seq2.len == 0) - { -- if (seq1len == seq2len) -+ if (seq1.len == seq2.len) - /* Both ended. So far so good, both strings are equal - at this level. */ - break; - - /* This means one string is shorter than the other. Find out - which one and return an appropriate value. */ -- result = seq1len == 0 ? -1 : 1; -+ result = seq1.len == 0 ? -1 : 1; - goto free_and_return; - } - -- /* Test for position if necessary. */ -- if (position && val1 != val2) -- { -- result = val1 - val2; -- goto free_and_return; -- } -- -- /* Compare the two sequences. */ -- do -- { -- if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -- { -- /* The sequences differ. */ -- result = (weights[idx1arr[idx1now]] -- - weights[idx2arr[idx2now]]); -- goto free_and_return; -- } -- -- /* Increment the offsets. */ -- ++idx1arr[idx1now]; -- ++idx2arr[idx2now]; -- -- --seq1len; -- --seq2len; -- } -- while (seq1len > 0 && seq2len > 0); -- -- if (position && seq1len != seq2len) -- { -- result = seq1len - seq2len; -- goto free_and_return; -- } -+ if (__glibc_unlikely (seq1.idxarr == NULL)) -+ result = do_compare_nocache (&seq1, &seq2, position, weights); -+ else -+ result = do_compare (&seq1, &seq2, position, weights); -+ if (result != 0) -+ goto free_and_return; - } -+ -+ if (__glibc_likely (seq1.rulearr != NULL)) -+ rule = seq1.rulearr[0]; -+ else -+ rule = seq1.rule; - } - - /* Free the memory if needed. */ - free_and_return: - if (use_malloc) -- free (idx1arr); -+ free (seq1.idxarr); - - return result; - } diff --git a/pkgs/development/libraries/glibc/2.19/cve-2013-4237.patch b/pkgs/development/libraries/glibc/2.19/cve-2013-4237.patch deleted file mode 100644 index f745cb003aa..00000000000 --- a/pkgs/development/libraries/glibc/2.19/cve-2013-4237.patch +++ /dev/null @@ -1,302 +0,0 @@ -commit 91ce40854d0b7f865cf5024ef95a8026b76096f3 -Author: Florian Weimer -Date: Fri Aug 16 09:38:52 2013 +0200 - - CVE-2013-4237, BZ #14699: Buffer overflow in readdir_r - - * sysdeps/posix/dirstream.h (struct __dirstream): Add errcode - member. - * sysdeps/posix/opendir.c (__alloc_dir): Initialize errcode - member. - * sysdeps/posix/rewinddir.c (rewinddir): Reset errcode member. - * sysdeps/posix/readdir_r.c (__READDIR_R): Enforce NAME_MAX limit. - Return delayed error code. Remove GETDENTS_64BIT_ALIGNED - conditional. - * sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c: Do not define - GETDENTS_64BIT_ALIGNED. - * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. - * manual/filesys.texi (Reading/Closing Directory): Document - ENAMETOOLONG return value of readdir_r. Recommend readdir more - strongly. - * manual/conf.texi (Limits for Files): Add portability note to - NAME_MAX, PATH_MAX. - (Pathconf): Add portability note for _PC_NAME_MAX, _PC_PATH_MAX. - -diff --git a/manual/conf.texi b/manual/conf.texi -index 7eb8b36..c720063 100644 ---- a/manual/conf.texi -+++ b/manual/conf.texi -@@ -1149,6 +1149,9 @@ typed ahead as input. @xref{I/O Queues}. - @deftypevr Macro int NAME_MAX - The uniform system limit (if any) for the length of a file name component, not - including the terminating null character. -+ -+@strong{Portability Note:} On some systems, @theglibc{} defines -+@code{NAME_MAX}, but does not actually enforce this limit. - @end deftypevr - - @comment limits.h -@@ -1157,6 +1160,9 @@ including the terminating null character. - The uniform system limit (if any) for the length of an entire file name (that - is, the argument given to system calls such as @code{open}), including the - terminating null character. -+ -+@strong{Portability Note:} @Theglibc{} does not enforce this limit -+even if @code{PATH_MAX} is defined. - @end deftypevr - - @cindex limits, pipe buffer size -@@ -1476,6 +1482,9 @@ Inquire about the value of @code{POSIX_REC_MIN_XFER_SIZE}. - Inquire about the value of @code{POSIX_REC_XFER_ALIGN}. - @end table - -+@strong{Portability Note:} On some systems, @theglibc{} does not -+enforce @code{_PC_NAME_MAX} or @code{_PC_PATH_MAX} limits. -+ - @node Utility Limits - @section Utility Program Capacity Limits - -diff --git a/manual/filesys.texi b/manual/filesys.texi -index 1df9cf2..814c210 100644 ---- a/manual/filesys.texi -+++ b/manual/filesys.texi -@@ -444,9 +444,9 @@ symbols are declared in the header file @file{dirent.h}. - @comment POSIX.1 - @deftypefun {struct dirent *} readdir (DIR *@var{dirstream}) - This function reads the next entry from the directory. It normally --returns a pointer to a structure containing information about the file. --This structure is statically allocated and can be rewritten by a --subsequent call. -+returns a pointer to a structure containing information about the -+file. This structure is associated with the @var{dirstream} handle -+and can be rewritten by a subsequent call. - - @strong{Portability Note:} On some systems @code{readdir} may not - return entries for @file{.} and @file{..}, even though these are always -@@ -461,19 +461,61 @@ conditions are defined for this function: - The @var{dirstream} argument is not valid. - @end table - --@code{readdir} is not thread safe. Multiple threads using --@code{readdir} on the same @var{dirstream} may overwrite the return --value. Use @code{readdir_r} when this is critical. -+To distinguish between an end-of-directory condition or an error, you -+must set @code{errno} to zero before calling @code{readdir}. To avoid -+entering an infinite loop, you should stop reading from the directory -+after the first error. -+ -+In POSIX.1-2008, @code{readdir} is not thread-safe. In @theglibc{} -+implementation, it is safe to call @code{readdir} concurrently on -+different @var{dirstream}s, but multiple threads accessing the same -+@var{dirstream} result in undefined behavior. @code{readdir_r} is a -+fully thread-safe alternative, but suffers from poor portability (see -+below). It is recommended that you use @code{readdir}, with external -+locking if multiple threads access the same @var{dirstream}. - @end deftypefun - - @comment dirent.h - @comment GNU - @deftypefun int readdir_r (DIR *@var{dirstream}, struct dirent *@var{entry}, struct dirent **@var{result}) --This function is the reentrant version of @code{readdir}. Like --@code{readdir} it returns the next entry from the directory. But to --prevent conflicts between simultaneously running threads the result is --not stored in statically allocated memory. Instead the argument --@var{entry} points to a place to store the result. -+This function is a version of @code{readdir} which performs internal -+locking. Like @code{readdir} it returns the next entry from the -+directory. To prevent conflicts between simultaneously running -+threads the result is stored inside the @var{entry} object. -+ -+@strong{Portability Note:} It is recommended to use @code{readdir} -+instead of @code{readdir_r} for the following reasons: -+ -+@itemize @bullet -+@item -+On systems which do not define @code{NAME_MAX}, it may not be possible -+to use @code{readdir_r} safely because the caller does not specify the -+length of the buffer for the directory entry. -+ -+@item -+On some systems, @code{readdir_r} cannot read directory entries with -+very long names. If such a name is encountered, @theglibc{} -+implementation of @code{readdir_r} returns with an error code of -+@code{ENAMETOOLONG} after the final directory entry has been read. On -+other systems, @code{readdir_r} may return successfully, but the -+@code{d_name} member may not be NUL-terminated or may be truncated. -+ -+@item -+POSIX-1.2008 does not guarantee that @code{readdir} is thread-safe, -+even when access to the same @var{dirstream} is serialized. But in -+current implementations (including @theglibc{}), it is safe to call -+@code{readdir} concurrently on different @var{dirstream}s, so there is -+no need to use @code{readdir_r} in most multi-threaded programs. In -+the rare case that multiple threads need to read from the same -+@var{dirstream}, it is still better to use @code{readdir} and external -+synchronization. -+ -+@item -+It is expected that future versions of POSIX will obsolete -+@code{readdir_r} and mandate the level of thread safety for -+@code{readdir} which is provided by @theglibc{} and other -+implementations today. -+@end itemize - - Normally @code{readdir_r} returns zero and sets @code{*@var{result}} - to @var{entry}. If there are no more entries in the directory or an -@@ -481,15 +523,6 @@ error is detected, @code{readdir_r} sets @code{*@var{result}} to a - null pointer and returns a nonzero error code, also stored in - @code{errno}, as described for @code{readdir}. - --@strong{Portability Note:} On some systems @code{readdir_r} may not --return a NUL terminated string for the file name, even when there is no --@code{d_reclen} field in @code{struct dirent} and the file --name is the maximum allowed size. Modern systems all have the --@code{d_reclen} field, and on old systems multi-threading is not --critical. In any case there is no such problem with the @code{readdir} --function, so that even on systems without the @code{d_reclen} member one --could use multiple threads by using external locking. -- - It is also important to look at the definition of the @code{struct - dirent} type. Simply passing a pointer to an object of this type for - the second parameter of @code{readdir_r} might not be enough. Some -diff --git a/sysdeps/posix/dirstream.h b/sysdeps/posix/dirstream.h -index a7a074d..8e8570d 100644 ---- a/sysdeps/posix/dirstream.h -+++ b/sysdeps/posix/dirstream.h -@@ -39,6 +39,8 @@ struct __dirstream - - off_t filepos; /* Position of next entry to read. */ - -+ int errcode; /* Delayed error code. */ -+ - /* Directory block. */ - char data[0] __attribute__ ((aligned (__alignof__ (void*)))); - }; -diff --git a/sysdeps/posix/opendir.c b/sysdeps/posix/opendir.c -index ddfc3a7..fc05b0f 100644 ---- a/sysdeps/posix/opendir.c -+++ b/sysdeps/posix/opendir.c -@@ -231,6 +231,7 @@ __alloc_dir (int fd, bool close_fd, int flags, const struct stat64 *statp) - dirp->size = 0; - dirp->offset = 0; - dirp->filepos = 0; -+ dirp->errcode = 0; - - return dirp; - } -diff --git a/sysdeps/posix/readdir_r.c b/sysdeps/posix/readdir_r.c -index b5a8e2e..8ed5c3f 100644 ---- a/sysdeps/posix/readdir_r.c -+++ b/sysdeps/posix/readdir_r.c -@@ -40,6 +40,7 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - DIRENT_TYPE *dp; - size_t reclen; - const int saved_errno = errno; -+ int ret; - - __libc_lock_lock (dirp->lock); - -@@ -70,10 +71,10 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - bytes = 0; - __set_errno (saved_errno); - } -+ if (bytes < 0) -+ dirp->errcode = errno; - - dp = NULL; -- /* Reclen != 0 signals that an error occurred. */ -- reclen = bytes != 0; - break; - } - dirp->size = (size_t) bytes; -@@ -106,29 +107,46 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - dirp->filepos += reclen; - #endif - -- /* Skip deleted files. */ -+#ifdef NAME_MAX -+ if (reclen > offsetof (DIRENT_TYPE, d_name) + NAME_MAX + 1) -+ { -+ /* The record is very long. It could still fit into the -+ caller-supplied buffer if we can skip padding at the -+ end. */ -+ size_t namelen = _D_EXACT_NAMLEN (dp); -+ if (namelen <= NAME_MAX) -+ reclen = offsetof (DIRENT_TYPE, d_name) + namelen + 1; -+ else -+ { -+ /* The name is too long. Ignore this file. */ -+ dirp->errcode = ENAMETOOLONG; -+ dp->d_ino = 0; -+ continue; -+ } -+ } -+#endif -+ -+ /* Skip deleted and ignored files. */ - } - while (dp->d_ino == 0); - - if (dp != NULL) - { --#ifdef GETDENTS_64BIT_ALIGNED -- /* The d_reclen value might include padding which is not part of -- the DIRENT_TYPE data structure. */ -- reclen = MIN (reclen, -- offsetof (DIRENT_TYPE, d_name) + sizeof (dp->d_name)); --#endif - *result = memcpy (entry, dp, reclen); --#ifdef GETDENTS_64BIT_ALIGNED -+#ifdef _DIRENT_HAVE_D_RECLEN - entry->d_reclen = reclen; - #endif -+ ret = 0; - } - else -- *result = NULL; -+ { -+ *result = NULL; -+ ret = dirp->errcode; -+ } - - __libc_lock_unlock (dirp->lock); - -- return dp != NULL ? 0 : reclen ? errno : 0; -+ return ret; - } - - #ifdef __READDIR_R_ALIAS -diff --git a/sysdeps/posix/rewinddir.c b/sysdeps/posix/rewinddir.c -index 2935a8e..d4991ad 100644 ---- a/sysdeps/posix/rewinddir.c -+++ b/sysdeps/posix/rewinddir.c -@@ -33,6 +33,7 @@ rewinddir (dirp) - dirp->filepos = 0; - dirp->offset = 0; - dirp->size = 0; -+ dirp->errcode = 0; - #ifndef NOT_IN_libc - __libc_lock_unlock (dirp->lock); - #endif -diff --git a/sysdeps/unix/sysv/linux/i386/readdir64_r.c b/sysdeps/unix/sysv/linux/i386/readdir64_r.c -index 8ebbcfd..a7d114e 100644 ---- a/sysdeps/unix/sysv/linux/i386/readdir64_r.c -+++ b/sysdeps/unix/sysv/linux/i386/readdir64_r.c -@@ -18,7 +18,6 @@ - #define __READDIR_R __readdir64_r - #define __GETDENTS __getdents64 - #define DIRENT_TYPE struct dirent64 --#define GETDENTS_64BIT_ALIGNED 1 - - #include - -diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -index 5ed8e95..290f2c8 100644 ---- a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -@@ -1,5 +1,4 @@ - #define readdir64_r __no_readdir64_r_decl --#define GETDENTS_64BIT_ALIGNED 1 - #include - #undef readdir64_r - weak_alias (__readdir_r, readdir64_r) diff --git a/pkgs/development/libraries/glibc/2.19/cve-2013-4332.patch b/pkgs/development/libraries/glibc/2.19/cve-2013-4332.patch deleted file mode 100644 index 94d25d7bbe1..00000000000 --- a/pkgs/development/libraries/glibc/2.19/cve-2013-4332.patch +++ /dev/null @@ -1,56 +0,0 @@ -https://projects.archlinux.org/svntogit/packages.git/tree/trunk/glibc-2.18-malloc-corrupt-CVE-2013-4332.patch?h=packages/glibc - -diff --git a/malloc/malloc.c b/malloc/malloc.c -index dd295f5..7f43ba3 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3082,6 +3082,13 @@ __libc_pvalloc(size_t bytes) - size_t page_mask = GLRO(dl_pagesize) - 1; - size_t rounded_bytes = (bytes + page_mask) & ~(page_mask); - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - 2*pagesz - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - void *(*hook) (size_t, size_t, const void *) = - force_reg (__memalign_hook); - if (__builtin_expect (hook != NULL, 0)) -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 7f43ba3..3148c5f 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3046,6 +3046,13 @@ __libc_valloc(size_t bytes) - - size_t pagesz = GLRO(dl_pagesize); - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - pagesz - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - void *(*hook) (size_t, size_t, const void *) = - force_reg (__memalign_hook); - if (__builtin_expect (hook != NULL, 0)) -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 3148c5f..f7718a9 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3015,6 +3015,13 @@ __libc_memalign(size_t alignment, size_t bytes) - /* Otherwise, ensure that it is at least a minimum chunk size */ - if (alignment < MINSIZE) alignment = MINSIZE; - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - alignment - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - arena_get(ar_ptr, bytes + alignment + MINSIZE); - if(!ar_ptr) - return 0; diff --git a/pkgs/development/libraries/glibc/2.19/cve-2013-4458.patch b/pkgs/development/libraries/glibc/2.19/cve-2013-4458.patch deleted file mode 100644 index bec4acde754..00000000000 --- a/pkgs/development/libraries/glibc/2.19/cve-2013-4458.patch +++ /dev/null @@ -1,50 +0,0 @@ -commit 7cbcdb3699584db8913ca90f705d6337633ee10f -Author: Siddhesh Poyarekar -Date: Fri Oct 25 10:22:12 2013 +0530 - - Fix stack overflow due to large AF_INET6 requests - - Resolves #16072 (CVE-2013-4458). - - This patch fixes another stack overflow in getaddrinfo when it is - called with AF_INET6. The AF_UNSPEC case was fixed as CVE-2013-1914, - but the AF_INET6 case went undetected back then. - -diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c -index e6ce4cf..8ff74b4 100644 ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -197,7 +197,22 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, - &rc, &herrno, NULL, &localcanon)); \ - if (rc != ERANGE || herrno != NETDB_INTERNAL) \ - break; \ -- tmpbuf = extend_alloca (tmpbuf, tmpbuflen, 2 * tmpbuflen); \ -+ if (!malloc_tmpbuf && __libc_use_alloca (alloca_used + 2 * tmpbuflen)) \ -+ tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen, 2 * tmpbuflen, \ -+ alloca_used); \ -+ else \ -+ { \ -+ char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL, \ -+ 2 * tmpbuflen); \ -+ if (newp == NULL) \ -+ { \ -+ result = -EAI_MEMORY; \ -+ goto free_and_return; \ -+ } \ -+ tmpbuf = newp; \ -+ malloc_tmpbuf = true; \ -+ tmpbuflen = 2 * tmpbuflen; \ -+ } \ - } \ - if (status == NSS_STATUS_SUCCESS && rc == 0) \ - h = &th; \ -@@ -209,7 +224,8 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, - { \ - __set_h_errno (herrno); \ - _res.options |= old_res_options & RES_USE_INET6; \ -- return -EAI_SYSTEM; \ -+ result = -EAI_SYSTEM; \ -+ goto free_and_return; \ - } \ - if (herrno == TRY_AGAIN) \ - no_data = EAI_AGAIN; \ diff --git a/pkgs/development/libraries/glibc/2.19/cve-2013-4788.patch b/pkgs/development/libraries/glibc/2.19/cve-2013-4788.patch deleted file mode 100644 index cf8c7911f68..00000000000 --- a/pkgs/development/libraries/glibc/2.19/cve-2013-4788.patch +++ /dev/null @@ -1,222 +0,0 @@ -commit c61b4d41c9647a54a329aa021341c0eb032b793e -Author: Carlos O'Donell -Date: Mon Sep 23 00:52:09 2013 -0400 - - BZ #15754: CVE-2013-4788 - - The pointer guard used for pointer mangling was not initialized for - static applications resulting in the security feature being disabled. - The pointer guard is now correctly initialized to a random value for - static applications. Existing static applications need to be - recompiled to take advantage of the fix. - - The test tst-ptrguard1-static and tst-ptrguard1 add regression - coverage to ensure the pointer guards are sufficiently random - and initialized to a default value. - -diff --git a/csu/libc-start.c b/csu/libc-start.c -index e5da3ef..c898d06 100644 ---- a/csu/libc-start.c -+++ b/csu/libc-start.c -@@ -37,6 +37,12 @@ extern void __pthread_initialize_minimal (void); - in thread local area. */ - uintptr_t __stack_chk_guard attribute_relro; - # endif -+# ifndef THREAD_SET_POINTER_GUARD -+/* Only exported for architectures that don't store the pointer guard -+ value in thread local area. */ -+uintptr_t __pointer_chk_guard_local -+ attribute_relro attribute_hidden __attribute__ ((nocommon)); -+# endif - #endif - - #ifdef HAVE_PTR_NTHREADS -@@ -195,6 +201,16 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), - # else - __stack_chk_guard = stack_chk_guard; - # endif -+ -+ /* Set up the pointer guard value. */ -+ uintptr_t pointer_chk_guard = _dl_setup_pointer_guard (_dl_random, -+ stack_chk_guard); -+# ifdef THREAD_SET_POINTER_GUARD -+ THREAD_SET_POINTER_GUARD (pointer_chk_guard); -+# else -+ __pointer_chk_guard_local = pointer_chk_guard; -+# endif -+ - #endif - - /* Register the destructor of the dynamic linker if there is any. */ -diff --git a/ports/sysdeps/ia64/stackguard-macros.h b/ports/sysdeps/ia64/stackguard-macros.h -index dc683c2..3907293 100644 ---- a/ports/sysdeps/ia64/stackguard-macros.h -+++ b/ports/sysdeps/ia64/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("adds %0 = -8, r13;; ld8 %0 = [%0]" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("adds %0 = -16, r13;; ld8 %0 = [%0]" : "=r" (x)); x; }) -diff --git a/ports/sysdeps/tile/stackguard-macros.h b/ports/sysdeps/tile/stackguard-macros.h -index 589ea2b..f2e041b 100644 ---- a/ports/sysdeps/tile/stackguard-macros.h -+++ b/ports/sysdeps/tile/stackguard-macros.h -@@ -4,11 +4,17 @@ - # if __WORDSIZE == 64 - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -24; ld %0, %0" : "=r" (x)); x; }) - # else - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -12; ld4s %0, %0" : "=r" (x)); x; }) - # endif - #else - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; lw %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -12; lw %0, %0" : "=r" (x)); x; }) - #endif -diff --git a/sysdeps/generic/stackguard-macros.h b/sysdeps/generic/stackguard-macros.h -index ababf65..4fa3d96 100644 ---- a/sysdeps/generic/stackguard-macros.h -+++ b/sysdeps/generic/stackguard-macros.h -@@ -2,3 +2,6 @@ - - extern uintptr_t __stack_chk_guard; - #define STACK_CHK_GUARD __stack_chk_guard -+ -+extern uintptr_t __pointer_chk_guard_local; -+#define POINTER_CHK_GUARD __pointer_chk_guard_local -diff --git a/sysdeps/i386/stackguard-macros.h b/sysdeps/i386/stackguard-macros.h -index 8c31e19..0397629 100644 ---- a/sysdeps/i386/stackguard-macros.h -+++ b/sysdeps/i386/stackguard-macros.h -@@ -2,3 +2,11 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("movl %%gs:%c1, %0" : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/powerpc/powerpc32/stackguard-macros.h b/sysdeps/powerpc/powerpc32/stackguard-macros.h -index 839f6a4..b3d0af8 100644 ---- a/sysdeps/powerpc/powerpc32/stackguard-macros.h -+++ b/sysdeps/powerpc/powerpc32/stackguard-macros.h -@@ -2,3 +2,13 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("lwz %0,-28680(2)" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("lwz %0,%1(2)" \ -+ : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) \ -+ ); \ -+ x; \ -+ }) -diff --git a/sysdeps/powerpc/powerpc64/stackguard-macros.h b/sysdeps/powerpc/powerpc64/stackguard-macros.h -index 9da879c..4620f96 100644 ---- a/sysdeps/powerpc/powerpc64/stackguard-macros.h -+++ b/sysdeps/powerpc/powerpc64/stackguard-macros.h -@@ -2,3 +2,13 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ld %0,-28688(13)" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ld %0,%1(2)" \ -+ : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) \ -+ ); \ -+ x; \ -+ }) -diff --git a/sysdeps/s390/s390-32/stackguard-macros.h b/sysdeps/s390/s390-32/stackguard-macros.h -index b74c579..449e8d4 100644 ---- a/sysdeps/s390/s390-32/stackguard-macros.h -+++ b/sysdeps/s390/s390-32/stackguard-macros.h -@@ -2,3 +2,14 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ear %0,%%a0; l %0,0x14(%0)" : "=a" (x)); x; }) -+ -+/* On s390/s390x there is no unique pointer guard, instead we use the -+ same value as the stack guard. */ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ear %0,%%a0; l %0,%1(%0)" \ -+ : "=a" (x) \ -+ : "i" (offsetof (tcbhead_t, stack_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/s390/s390-64/stackguard-macros.h b/sysdeps/s390/s390-64/stackguard-macros.h -index 0cebb5f..c8270fb 100644 ---- a/sysdeps/s390/s390-64/stackguard-macros.h -+++ b/sysdeps/s390/s390-64/stackguard-macros.h -@@ -2,3 +2,17 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ear %0,%%a0; sllg %0,%0,32; ear %0,%%a1; lg %0,0x28(%0)" : "=a" (x)); x; }) -+ -+/* On s390/s390x there is no unique pointer guard, instead we use the -+ same value as the stack guard. */ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ear %0,%%a0;" \ -+ "sllg %0,%0,32;" \ -+ "ear %0,%%a1;" \ -+ "lg %0,%1(%0)" \ -+ : "=a" (x) \ -+ : "i" (offsetof (tcbhead_t, stack_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/sparc/sparc32/stackguard-macros.h b/sysdeps/sparc/sparc32/stackguard-macros.h -index c0b02b0..1eef0f1 100644 ---- a/sysdeps/sparc/sparc32/stackguard-macros.h -+++ b/sysdeps/sparc/sparc32/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ld [%%g7+0x14], %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("ld [%%g7+0x18], %0" : "=r" (x)); x; }) -diff --git a/sysdeps/sparc/sparc64/stackguard-macros.h b/sysdeps/sparc/sparc64/stackguard-macros.h -index 80f0635..cc0c12c 100644 ---- a/sysdeps/sparc/sparc64/stackguard-macros.h -+++ b/sysdeps/sparc/sparc64/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ldx [%%g7+0x28], %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("ldx [%%g7+0x30], %0" : "=r" (x)); x; }) -diff --git a/sysdeps/x86_64/stackguard-macros.h b/sysdeps/x86_64/stackguard-macros.h -index d7fedb3..1948800 100644 ---- a/sysdeps/x86_64/stackguard-macros.h -+++ b/sysdeps/x86_64/stackguard-macros.h -@@ -4,3 +4,8 @@ - ({ uintptr_t x; \ - asm ("mov %%fs:%c1, %0" : "=r" (x) \ - : "i" (offsetof (tcbhead_t, stack_guard))); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; \ -+ asm ("mov %%fs:%c1, %0" : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard))); x; }) diff --git a/pkgs/development/libraries/glibc/2.19/glibc-rh739743.patch b/pkgs/development/libraries/glibc/2.19/glibc-rh739743.patch deleted file mode 100644 index c390b772b16..00000000000 --- a/pkgs/development/libraries/glibc/2.19/glibc-rh739743.patch +++ /dev/null @@ -1,55 +0,0 @@ -2009-04-26 Aurelien Jarno - - * sysdeps/posix/getaddrinfo.c (rfc3484_sort): don't assign native - result if the result has no associated interface. - ---- - sysdeps/posix/getaddrinfo.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -1456,13 +1456,13 @@ - - /* Fill in the results in all the records. */ - for (int i = 0; i < src->nresults; ++i) -- if (src->results[i].index == a1_index) -+ if (a1_index != -1 && src->results[i].index == a1_index) - { - assert (src->results[i].native == -1 - || src->results[i].native == a1_native); - src->results[i].native = a1_native; - } -- else if (src->results[i].index == a2_index) -+ else if (a2_index != -1 && src->results[i].index == a2_index) - { - assert (src->results[i].native == -1 - || src->results[i].native == a2_native); - -2009-03-15 Aurelien Jarno - - * sysdeps/posix/getaddrinfo.c (getaddrinfo): correctly detect - interface for all 127.X.Y.Z addresses. - ---- - sysdeps/posix/getaddrinfo.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -2265,7 +2265,14 @@ - tmp.addr[0] = 0; - tmp.addr[1] = 0; - tmp.addr[2] = htonl (0xffff); -- tmp.addr[3] = sinp->sin_addr.s_addr; -+ /* Special case for lo interface, the source address -+ being possibly different than the interface -+ address. */ -+ if ((ntohl(sinp->sin_addr.s_addr) & 0xff000000) -+ == 0x7f000000) -+ tmp.addr[3] = htonl(0x7f000001); -+ else -+ tmp.addr[3] = sinp->sin_addr.s_addr; - } - else - { diff --git a/pkgs/development/libraries/glibc/2.19/scanf.patch b/pkgs/development/libraries/glibc/2.19/scanf.patch deleted file mode 100644 index 4eed86ca110..00000000000 --- a/pkgs/development/libraries/glibc/2.19/scanf.patch +++ /dev/null @@ -1,21 +0,0 @@ -https://sourceware.org/bugzilla/show_bug.cgi?id=15917 - -commit a4966c6104918ac884ee1131a4ed23c5ad6b4c5a -Author: Andreas Schwab -Date: Thu Oct 31 12:51:03 2013 +0100 - - Fix parsing of 0e+0 as float - -diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c -index 78dc2fc..e6fa8f3 100644 ---- a/stdio-common/vfscanf.c -+++ b/stdio-common/vfscanf.c -@@ -1966,6 +1966,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, - if (width > 0) - --width; - } -+ else -+ got_digit = 1; - } - - while (1) diff --git a/pkgs/development/libraries/glibc/2.19/strstr-sse42-hack.patch b/pkgs/development/libraries/glibc/2.19/strstr-sse42-hack.patch deleted file mode 100644 index cdf4c025316..00000000000 --- a/pkgs/development/libraries/glibc/2.19/strstr-sse42-hack.patch +++ /dev/null @@ -1,14 +0,0 @@ -https://bugs.archlinux.org/task/36556 -diff --git a/sysdeps/x86_64/multiarch/strstr.c b/sysdeps/x86_64/multiarch/strstr.c -index cd63b68..03d8b9a 100644 ---- a/sysdeps/x86_64/multiarch/strstr.c -+++ b/sysdeps/x86_64/multiarch/strstr.c -@@ -86,7 +86,7 @@ - /* Simple replacement of movdqu to address 4KB boundary cross issue. - If EOS occurs within less than 16B before 4KB boundary, we don't - cross to next page. */ --static __m128i -+static inline __m128i - __m128i_strloadu (const unsigned char * p, __m128i zero) - { - if (__builtin_expect ((int) ((size_t) p & 0xfff) > 0xff0, 0)) From a0bbe58a194934f4f503f3215a5a40e6b112c79e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Feb 2014 19:17:23 +0100 Subject: [PATCH 003/880] coreutils: Disable parallel building --- pkgs/tools/misc/coreutils/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index e5f9eb1be2c..b0dbb049cbf 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -58,7 +58,9 @@ let # and {Open,Free}BSD. doCheck = stdenv ? glibc; - enableParallelBuilding = true; + # Saw random failures like ‘help2man: can't get '--help' info from + # man/sha512sum.td/sha512sum’. + enableParallelBuilding = false; NIX_LDFLAGS = optionalString selinuxSupport "-lsepol"; From 77a49e5813351bcfb6541a1ff4be62cbe70e590a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 26 Feb 2014 12:39:46 +0100 Subject: [PATCH 004/880] valgrind: Support Glibc 2.19 --- .../tools/analysis/valgrind/default.nix | 4 +- .../tools/analysis/valgrind/glibc-2.19.patch | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/analysis/valgrind/glibc-2.19.patch diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 97565bec98e..a6ea2c2f59d 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1w6n5qvxy2ssbczcl1c2yd2ggjn3ipay2hvpn10laly2dfh73bz6"; }; + patches = [ ./glibc-2.19.patch ]; + # Perl is needed for `cg_annotate'. # GDB is needed to provide a sane default for `--db-command'. nativeBuildInputs = [ perl ]; @@ -15,7 +17,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - patchPhase = + postPatch = # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666). '' echo "getting rid of the \`-arch' GCC option..." diff --git a/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch b/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch new file mode 100644 index 00000000000..137b0a325b0 --- /dev/null +++ b/pkgs/development/tools/analysis/valgrind/glibc-2.19.patch @@ -0,0 +1,39 @@ +https://projects.archlinux.org/svntogit/packages.git/plain/trunk/valgrind-3.9.0-glibc-2.19.patch?h=packages/valgrind + +diff -Naur valgrind-3.9.0-orig/configure valgrind-3.9.0/configure +--- valgrind-3.9.0-orig/configure 2013-11-01 09:33:32.000000000 +1000 ++++ valgrind-3.9.0/configure 2014-02-08 09:28:06.063248544 +1000 +@@ -6689,6 +6689,16 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.19) ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.19 family" >&5 ++$as_echo "2.19 family" >&6; } ++ ++$as_echo "#define GLIBC_2_19 1" >>confdefs.h ++ ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5 + $as_echo "Darwin" >&6; } +diff -Naur valgrind-3.9.0-orig/configure.ac valgrind-3.9.0/configure.ac +--- valgrind-3.9.0-orig/configure.ac 2013-11-01 09:28:16.000000000 +1000 ++++ valgrind-3.9.0/configure.ac 2014-02-08 09:27:38.870385366 +1000 +@@ -918,6 +918,13 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.19) ++ AC_MSG_RESULT(2.19 family) ++ AC_DEFINE([GLIBC_2_19], 1, [Define to 1 if you're using glibc 2.19.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + AC_MSG_RESULT(Darwin) + AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) From 28d992bf6de10f8680d478d72daa41629c54b677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 26 Feb 2014 15:56:06 +0100 Subject: [PATCH 005/880] checkinstall: fix build with glibc-2.19 --- .../checkinstall/default.nix | 3 +++ .../checkinstall/readlink-types.patch | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/tools/package-management/checkinstall/readlink-types.patch diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix index 2fbf5282ee1..1320720ed17 100644 --- a/pkgs/tools/package-management/checkinstall/default.nix +++ b/pkgs/tools/package-management/checkinstall/default.nix @@ -29,6 +29,9 @@ stdenv.mkDerivation { # Fix a `conflicting types for 'scandir'' error on Glibc 2.11. ./scandir.patch + + # Fix a `conflicting types for 'readlink'' error since Glibc 2.19 + ./readlink-types.patch ] ++ stdenv.lib.optional (stdenv.system == "x86_64-linux") diff --git a/pkgs/tools/package-management/checkinstall/readlink-types.patch b/pkgs/tools/package-management/checkinstall/readlink-types.patch new file mode 100644 index 00000000000..a860607fcf6 --- /dev/null +++ b/pkgs/tools/package-management/checkinstall/readlink-types.patch @@ -0,0 +1,19 @@ +Extracted from Arch's patch +https://projects.archlinux.org/svntogit/community.git/tree/trunk/build-fix.patch?h=packages/checkinstall +diff -wbBur checkinstall-1.6.2/installwatch/installwatch.c checkinstall-1.6.2.my/installwatch/installwatch.c +--- checkinstall-1.6.2/installwatch/installwatch.c 2008-11-16 19:20:53.000000000 +0300 ++++ checkinstall-1.6.2.my/installwatch/installwatch.c 2010-01-15 18:55:50.112716628 +0300 +@@ -2938,13 +2938,8 @@ + return result; + } + +-#if (GLIBC_MINOR <= 4) +-int readlink(const char *path,char *buf,size_t bufsiz) { +- int result; +-#else + ssize_t readlink(const char *path,char *buf,size_t bufsiz) { + ssize_t result; +-#endif + instw_t instw; + int status; + From a78f47917ab9d0a6eda034dc47f96d30a2555815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 26 Feb 2014 15:57:13 +0100 Subject: [PATCH 006/880] go: don't assume sse2 on i686 (maybe fixes build) --- pkgs/development/compilers/go/1.2.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/compilers/go/1.2.nix b/pkgs/development/compilers/go/1.2.nix index 2abdc51e4c6..da74419b2f3 100644 --- a/pkgs/development/compilers/go/1.2.nix +++ b/pkgs/development/compilers/go/1.2.nix @@ -60,6 +60,7 @@ stdenv.mkDerivation { else if stdenv.system == "armv5tel-linux" then "arm" else throw "Unsupported system"; GOARM = stdenv.lib.optionalString (stdenv.system == "armv5tel-linux") "5"; + GO386 = 387; # from Arch: don't assume sse2 on i686 installPhase = '' mkdir -p "$out/bin" From 05068ac554f92c2d588c39aa2df970abd0e765e8 Mon Sep 17 00:00:00 2001 From: Ian-Woo Kim Date: Wed, 19 Feb 2014 01:44:33 +0100 Subject: [PATCH 007/880] glibc: do not use system ld.so.preload (close #1788) Modified according to the PR comment. --- pkgs/development/libraries/glibc/2.19/common.nix | 3 +++ .../glibc/2.19/dont-use-system-ld-so-preload.patch | 12 ++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix index 07baefa9281..6823e4d9f66 100644 --- a/pkgs/development/libraries/glibc/2.19/common.nix +++ b/pkgs/development/libraries/glibc/2.19/common.nix @@ -44,6 +44,9 @@ stdenv.mkDerivation ({ /* Don't use /etc/ld.so.cache, for non-NixOS systems. */ ./dont-use-system-ld-so-cache.patch + /* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload. */ + ./dont-use-system-ld-so-preload.patch + /* Add blowfish password hashing support. This is needed for compatibility with old NixOS installations (since NixOS used to default to blowfish). */ diff --git a/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch new file mode 100644 index 00000000000..fabb6c3ec5e --- /dev/null +++ b/pkgs/development/libraries/glibc/2.19/dont-use-system-ld-so-preload.patch @@ -0,0 +1,12 @@ +diff -rupN a/elf/rtld.c b/elf/rtld.c +--- a/elf/rtld.c 2013-08-11 00:52:55.000000001 +0200 ++++ b/elf/rtld.c 2014-02-18 13:56:19.000000001 +0100 +@@ -1639,7 +1639,7 @@ ERROR: ld.so: object '%s' cannot be load + open(). So we do this first. If it succeeds we do almost twice + the work but this does not matter, since it is not for production + use. */ +- static const char preload_file[] = "/etc/ld.so.preload"; ++ static const char preload_file[] = "/etc/ld-nix.so.preload"; + if (__builtin_expect (__access (preload_file, R_OK) == 0, 0)) + { + /* Read the contents of the file. */ From cbe7e0b5f0588a5a213605ef907ecabfad7c7293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 8 Mar 2014 10:23:38 +0100 Subject: [PATCH 008/880] glibc: fix a math problem by upstream patch --- .../libraries/glibc/2.19/common.nix | 2 + .../libraries/glibc/2.19/fix-math.patch | 336 ++++++++++++++++++ 2 files changed, 338 insertions(+) create mode 100644 pkgs/development/libraries/glibc/2.19/fix-math.patch diff --git a/pkgs/development/libraries/glibc/2.19/common.nix b/pkgs/development/libraries/glibc/2.19/common.nix index 6823e4d9f66..b153d91934b 100644 --- a/pkgs/development/libraries/glibc/2.19/common.nix +++ b/pkgs/development/libraries/glibc/2.19/common.nix @@ -56,6 +56,8 @@ stdenv.mkDerivation ({ "/bin:/usr/bin", which is inappropriate on NixOS machines. This patch extends the search path by "/run/current-system/sw/bin". */ ./fix_path_attribute_in_getconf.patch + + ./fix-math.patch ]; postPatch = '' diff --git a/pkgs/development/libraries/glibc/2.19/fix-math.patch b/pkgs/development/libraries/glibc/2.19/fix-math.patch new file mode 100644 index 00000000000..516f53954dd --- /dev/null +++ b/pkgs/development/libraries/glibc/2.19/fix-math.patch @@ -0,0 +1,336 @@ +From: Siddhesh Poyarekar +Date: Thu, 27 Feb 2014 15:42:09 +0000 (+0530) +Subject: Fix sign of input to bsloww1 (BZ #16623) +X-Git-Url: http://repo.or.cz/w/glibc.git/commitdiff_plain/1cadc85813d736f7682fa2eeadae639ab6b66c65 + +Fix sign of input to bsloww1 (BZ #16623) + +In 84ba214c, I removed some redundant sign computations and in the +process, I incorrectly got rid of a temporary variable, thus passing +the absolute value of the input to bsloww1. This caused #16623. + +This fix undoes the incorrect change. + +[nix]: drop docs update (wouldn't apply) +--- + +diff --git a/math/auto-libm-test-in b/math/auto-libm-test-in +index ac5348f..fafe96f 100644 +--- a/math/auto-libm-test-in ++++ b/math/auto-libm-test-in +@@ -594,6 +594,7 @@ cos 0x1.0000010b239a9p0 + cos 0x1.00000162a932bp0 + cos 0x1.000002d452a10p0 + cos 0x1.000005bc7d86dp0 ++cos 0x1.200145a975ce6p32 + cos 1 + cos 2 + cos 3 +@@ -1748,6 +1749,7 @@ sin 7 + sin 8 + sin 9 + sin 10 ++sin 0x1.2001469775ce6p32 + + sincos 0 + sincos -0 +diff --git a/math/auto-libm-test-out b/math/auto-libm-test-out +index 8f79359..59c08a7 100644 +--- a/math/auto-libm-test-out ++++ b/math/auto-libm-test-out +@@ -74446,6 +74446,75 @@ cos 0x1.000005bc7d86dp0 + = cos tonearest ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok + = cos towardzero ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92354p-4L : inexact-ok + = cos upward ldbl-128ibm 0x1.000005bc7d86dp+0L : 0x8.a513ba9f703d3ffffffcb92358p-4L : inexact-ok ++cos 0x1.200145a975ce6p32 ++= cos downward flt-32 0x1.200146p+32f : -0xf.74fbep-4f : inexact-ok ++= cos tonearest flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok ++= cos towardzero flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok ++= cos upward flt-32 0x1.200146p+32f : -0xf.74fbdp-4f : inexact-ok ++= cos downward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok ++= cos tonearest dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe5p-4 : inexact-ok ++= cos towardzero dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok ++= cos upward dbl-64 0x1.200146p+32 : -0xf.74fbd5498fe48p-4 : inexact-ok ++= cos downward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok ++= cos tonearest ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos towardzero ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos upward ldbl-96-intel 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos downward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0dp-4L : inexact-ok ++= cos tonearest ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos towardzero ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos upward ldbl-96-m68k 0x1.200146p+32L : -0xf.74fbd5498fe4c0cp-4L : inexact-ok ++= cos downward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok ++= cos tonearest ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59e8p-4L : inexact-ok ++= cos towardzero ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok ++= cos upward ldbl-128 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef59ep-4L : inexact-ok ++= cos downward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef5cp-4L : inexact-ok ++= cos tonearest ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok ++= cos towardzero ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok ++= cos upward ldbl-128ibm 0x1.200146p+32L : -0xf.74fbd5498fe4c0c71bd9e4ef58p-4L : inexact-ok ++= cos downward flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok ++= cos tonearest flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok ++= cos towardzero flt-32 0x1.200144p+32f : 0xf.bc96cp-4f : inexact-ok ++= cos upward flt-32 0x1.200144p+32f : 0xf.bc96dp-4f : inexact-ok ++= cos downward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok ++= cos tonearest dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok ++= cos towardzero dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658a8p-4 : inexact-ok ++= cos upward dbl-64 0x1.200144p+32 : 0xf.bc96ca2c658bp-4 : inexact-ok ++= cos downward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok ++= cos tonearest ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok ++= cos towardzero ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok ++= cos upward ldbl-96-intel 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok ++= cos downward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok ++= cos tonearest ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok ++= cos towardzero ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf5p-4L : inexact-ok ++= cos upward ldbl-96-m68k 0x1.200144p+32L : 0xf.bc96ca2c658abf6p-4L : inexact-ok ++= cos downward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok ++= cos tonearest ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok ++= cos towardzero ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fbp-4L : inexact-ok ++= cos upward ldbl-128 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8fb8p-4L : inexact-ok ++= cos downward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok ++= cos tonearest ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok ++= cos towardzero ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a8cp-4L : inexact-ok ++= cos upward ldbl-128ibm 0x1.200144p+32L : 0xf.bc96ca2c658abf5ace7b886a9p-4L : inexact-ok ++= cos downward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffdp-4 : inexact-ok ++= cos tonearest dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok ++= cos towardzero dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok ++= cos upward dbl-64 0x1.200145a975ce6p+32 : -0x6.568e7ed3dffccp-4 : inexact-ok ++= cos downward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok ++= cos tonearest ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos towardzero ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos upward ldbl-96-intel 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos downward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe8p-4L : inexact-ok ++= cos tonearest ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos towardzero ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos upward ldbl-96-m68k 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfep-4L : inexact-ok ++= cos downward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e8p-4L : inexact-ok ++= cos tonearest ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok ++= cos towardzero ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok ++= cos upward ldbl-128 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726840e4p-4L : inexact-ok ++= cos downward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd726842p-4L : inexact-ok ++= cos tonearest ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok ++= cos towardzero ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok ++= cos upward ldbl-128ibm 0x1.200145a975ce6p+32L : -0x6.568e7ed3dffcdfe227fd72684p-4L : inexact-ok + cos 1 + = cos downward flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok + = cos tonearest flt-32 0x1p+0f : 0x8.a514p-4f : inexact-ok +@@ -157744,6 +157813,75 @@ sin 10 + = sin tonearest ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be025p-4L : inexact-ok + = sin towardzero ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok + = sin upward ldbl-128ibm 0xap+0L : -0x8.b44f7af9a7a92ce7fb22be024cp-4L : inexact-ok ++sin 0x1.2001469775ce6p32 ++= sin downward flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok ++= sin tonearest flt-32 0x1.200148p+32f : -0x5.595d8p-4f : inexact-ok ++= sin towardzero flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok ++= sin upward flt-32 0x1.200148p+32f : -0x5.595d78p-4f : inexact-ok ++= sin downward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe38p-4 : inexact-ok ++= sin tonearest dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok ++= sin towardzero dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok ++= sin upward dbl-64 0x1.200148p+32 : -0x5.595d7e536fe34p-4 : inexact-ok ++= sin downward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok ++= sin tonearest ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin towardzero ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin upward ldbl-96-intel 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin downward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35eep-4L : inexact-ok ++= sin tonearest ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin towardzero ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin upward ldbl-96-m68k 0x1.200148p+32L : -0x5.595d7e536fe35ed8p-4L : inexact-ok ++= sin downward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d944p-4L : inexact-ok ++= sin tonearest ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok ++= sin towardzero ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok ++= sin upward ldbl-128 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d94p-4L : inexact-ok ++= sin downward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok ++= sin tonearest ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9dap-4L : inexact-ok ++= sin towardzero ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok ++= sin upward ldbl-128ibm 0x1.200148p+32L : -0x5.595d7e536fe35edbe2ad0df9d8p-4L : inexact-ok ++= sin downward flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok ++= sin tonearest flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok ++= sin towardzero flt-32 0x1.200146p+32f : 0x4.220ffp-4f : inexact-ok ++= sin upward flt-32 0x1.200146p+32f : 0x4.220ff8p-4f : inexact-ok ++= sin downward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok ++= sin tonearest dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok ++= sin towardzero dbl-64 0x1.200146p+32 : 0x4.220ff25f5cfp-4 : inexact-ok ++= sin upward dbl-64 0x1.200146p+32 : 0x4.220ff25f5cf04p-4 : inexact-ok ++= sin downward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok ++= sin tonearest ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok ++= sin towardzero ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok ++= sin upward ldbl-96-intel 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok ++= sin downward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok ++= sin tonearest ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok ++= sin towardzero ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a4p-4L : inexact-ok ++= sin upward ldbl-96-m68k 0x1.200146p+32L : 0x4.220ff25f5cf02a48p-4L : inexact-ok ++= sin downward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok ++= sin tonearest ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok ++= sin towardzero ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ccp-4L : inexact-ok ++= sin upward ldbl-128 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cc4p-4L : inexact-ok ++= sin downward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok ++= sin tonearest ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok ++= sin towardzero ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679cp-4L : inexact-ok ++= sin upward ldbl-128ibm 0x1.200146p+32L : 0x4.220ff25f5cf02a464dbb3a679ep-4L : inexact-ok ++= sin downward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019fcp-4 : inexact-ok ++= sin tonearest dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok ++= sin towardzero dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok ++= sin upward dbl-64 0x1.2001469775ce6p+32 : -0x6.444fda50019f8p-4 : inexact-ok ++= sin downward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok ++= sin tonearest ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin towardzero ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin upward ldbl-96-intel 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin downward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f6p-4L : inexact-ok ++= sin tonearest ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin towardzero ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin upward ldbl-96-m68k 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f58p-4L : inexact-ok ++= sin downward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca70604p-4L : inexact-ok ++= sin tonearest ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin towardzero ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin upward ldbl-128 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin downward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca708p-4L : inexact-ok ++= sin tonearest ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin towardzero ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok ++= sin upward ldbl-128ibm 0x1.2001469775ce6p+32L : -0x6.444fda50019f9f5ba3779ca706p-4L : inexact-ok + sincos 0 + = sincos downward flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok + = sincos tonearest flt-32 0x0p+0f : 0x0p+0f 0x1p+0f : inexact-ok +diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c +index 6105e9f..50109b8 100644 +--- a/sysdeps/ieee754/dbl-64/s_sin.c ++++ b/sysdeps/ieee754/dbl-64/s_sin.c +@@ -447,19 +447,21 @@ __sin (double x) + } + else + { ++ double t; + if (a > 0) + { + m = 1; ++ t = a; + db = da; + } + else + { + m = 0; +- a = -a; ++ t = -a; + db = -da; + } +- u.x = big + a; +- y = a - (u.x - big); ++ u.x = big + t; ++ y = t - (u.x - big); + res = do_sin (u, y, db, &cor); + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) +@@ -671,19 +673,21 @@ __cos (double x) + } + else + { ++ double t; + if (a > 0) + { + m = 1; ++ t = a; + db = da; + } + else + { + m = 0; +- a = -a; ++ t = -a; + db = -da; + } +- u.x = big + a; +- y = a - (u.x - big); ++ u.x = big + t; ++ y = t - (u.x - big); + res = do_sin (u, y, db, &cor); + cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps; + retval = ((res == res + cor) ? ((m) ? res : -res) +diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps +index f3980f8..544f1c7 100644 +--- a/sysdeps/x86_64/fpu/libm-test-ulps ++++ b/sysdeps/x86_64/fpu/libm-test-ulps +@@ -10900,6 +10900,14 @@ idouble: 1 + Test "cos_downward (0x1.0c152382d7365p+0)": + double: 1 + idouble: 1 ++Test "cos_downward (0x1.200145a975ce6p+32)": ++double: 1 ++idouble: 1 ++ildouble: 1 ++ldouble: 1 ++Test "cos_downward (0x1.200146p+32)": ++ildouble: 1 ++ldouble: 1 + Test "cos_downward (0x1.921fb4p+0)": + ildouble: 1 + ldouble: 1 +@@ -11126,6 +11134,9 @@ idouble: 1 + Test "cos_towardzero (0x1.0c152382d7365p+0)": + double: 1 + idouble: 1 ++Test "cos_towardzero (0x1.200146p+32)": ++double: 1 ++idouble: 1 + Test "cos_towardzero (0x1.921fb4p+0)": + ildouble: 1 + ldouble: 1 +@@ -11258,6 +11269,17 @@ idouble: 1 + Test "cos_upward (0x1.0c1524p+0)": + double: 1 + idouble: 1 ++Test "cos_upward (0x1.200144p+32)": ++double: 1 ++idouble: 1 ++Test "cos_upward (0x1.200145a975ce6p+32)": ++ildouble: 1 ++ldouble: 1 ++Test "cos_upward (0x1.200146p+32)": ++double: 1 ++idouble: 1 ++ildouble: 1 ++ldouble: 1 + Test "cos_upward (0x1.921fb4p+0)": + double: 1 + idouble: 1 +@@ -15155,6 +15177,19 @@ double: 1 + idouble: 1 + ildouble: 1 + ldouble: 1 ++Test "sin_downward (0x1.2001469775ce6p+32)": ++double: 1 ++idouble: 1 ++ildouble: 1 ++ldouble: 1 ++Test "sin_downward (0x1.200146p+32)": ++double: 1 ++idouble: 1 ++Test "sin_downward (0x1.200148p+32)": ++double: 1 ++idouble: 1 ++ildouble: 1 ++ldouble: 1 + Test "sin_downward (0x1.921fb54442d18468p+0)": + ildouble: 1 + ldouble: 1 +@@ -15383,6 +15418,9 @@ double: 1 + idouble: 1 + ildouble: 1 + ldouble: 1 ++Test "sin_towardzero (0x1.200146p+32)": ++double: 1 ++idouble: 1 + Test "sin_towardzero (0x1.921fb54442d18468p+0)": + ildouble: 1 + ldouble: 1 +@@ -15532,6 +15570,12 @@ ldouble: 1 + Test "sin_upward (-0x8.60a92p-4)": + ildouble: 1 + ldouble: 1 ++Test "sin_upward (0x1.2001469775ce6p+32)": ++ildouble: 1 ++ldouble: 1 ++Test "sin_upward (0x1.200148p+32)": ++ildouble: 1 ++ldouble: 1 + Test "sin_upward (0x1.921fb4p+0)": + double: 1 + idouble: 1 From 58e0383d93a68ab8c347be401b6029d1fa470f6e Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Sun, 12 Jan 2014 23:39:14 +0100 Subject: [PATCH 009/880] Add node-webkit, app runtime based on Chromium and node.js --- .../development/tools/node-webkit/default.nix | 55 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 59 insertions(+) create mode 100644 pkgs/development/tools/node-webkit/default.nix diff --git a/pkgs/development/tools/node-webkit/default.nix b/pkgs/development/tools/node-webkit/default.nix new file mode 100644 index 00000000000..326e5322846 --- /dev/null +++ b/pkgs/development/tools/node-webkit/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchurl, buildEnv, makeWrapper +, xlibs, alsaLib, dbus, glib, gtk, atk, pango, freetype, fontconfig +, gdk_pixbuf, cairo, zlib, nss, nssTools, nspr, gconf, expat, udev}: +let + bits = if stdenv.system == "x86_64-linux" then "x64" + else "ia32"; + + nwEnv = buildEnv { + name = "node-webkit-env"; + paths = [ + xlibs.libX11 xlibs.libXrender glib gtk atk pango cairo gdk_pixbuf + freetype fontconfig xlibs.libXcomposite alsaLib xlibs.libXdamage xlibs.libXext + xlibs.libXfixes nss nspr gconf expat dbus udev stdenv.gcc.gcc + ]; + }; + +in stdenv.mkDerivation rec { + name = "node-webkit-${version}"; + version = "0.8.4"; + + src = fetchurl { + url = "https://s3.amazonaws.com/node-webkit/v${version}/node-webkit-v${version}-linux-${bits}.tar.gz"; + sha256 = if bits == "x64" then + "91229edfb03349306c5ce101fdab2de55f7473cc7c36367e9611a0527d2ef591" else + "b0b29b4e75cd4b1aaecf7f4716216edcfc5947516744e2eaeae38bec1d03cea1"; + }; + + patchPhase = '' + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nw + patchelf --set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" nwsnapshot + ''; + + installPhase = let + LD_LIBRARY_PATH = "${nwEnv}/lib:${nwEnv}/lib64:$out/share/node-webkit"; + in '' + ensureDir $out/bin + ensureDir $out/share/node-webkit + cp -R * $out/share/node-webkit + + ln -s ${udev}/lib/libudev.so $out/share/node-webkit/libudev.so.0 + + makeWrapper $out/share/node-webkit/nw $out/bin/nw --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}" + makeWrapper $out/share/node-webkit/nwsnapshot $out/bin/nwsnapshot --prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}" + ''; + + buildInputs = [ makeWrapper ]; + + meta = with stdenv.lib; { + description = "An app runtime based on Chromium and node.js"; + homepage = https://github.com/rogerwang/node-webkit; + platforms = ["i686-linux" "x86_64-linux"]; + maintainers = [ maintainers.offline ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 46a41ed4545..ad210052659 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3799,6 +3799,10 @@ let ninja = callPackage ../development/tools/build-managers/ninja { }; + node_webkit = callPackage ../development/tools/node-webkit { + gconf = pkgs.gnome.GConf; + }; + noweb = callPackage ../development/tools/literate-programming/noweb { }; omake = callPackage ../development/tools/ocaml/omake { }; From 0d506aa712cf088343dff5863e9e58eb1228c3b0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 17 Mar 2014 14:04:39 +0100 Subject: [PATCH 010/880] Provide a simple way to log into containers On the host, you can run $ socat unix:/var/lib/login.socket -,echo=0,raw to get a login prompt. So this allows logging in even if the container has no SSH access enabled. You can also do $ socat unix:/var/lib/root-shell.socket - to get a plain root shell. (This socket is only accessible by root, obviously.) This makes it easy to execute commands in the container, e.g. $ echo reboot | socat unix:/var/lib/root-shell.socket - --- .../virtualisation/container-login.nix | 56 +++++++++++++++++++ nixos/modules/virtualisation/containers.nix | 1 + 2 files changed, 57 insertions(+) create mode 100644 nixos/modules/virtualisation/container-login.nix diff --git a/nixos/modules/virtualisation/container-login.nix b/nixos/modules/virtualisation/container-login.nix new file mode 100644 index 00000000000..56e772fb797 --- /dev/null +++ b/nixos/modules/virtualisation/container-login.nix @@ -0,0 +1,56 @@ +{ config, pkgs, ... }: + +{ + + config = { + + # Provide a login prompt on /var/lib/login.socket. On the host, + # you can connect to it by running ‘socat + # unix:/var/lib/login.socket -,echo=0,raw’. + systemd.sockets.login = + { description = "Login Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig = + { ListenStream = "/var/lib/login.socket"; + SocketMode = "0600"; # only root can connect, obviously + Accept = true; + }; + }; + + systemd.services."login@" = + { description = "Login %i"; + environment.TERM = "linux"; + serviceConfig = + { Type = "simple"; + StandardInput = "socket"; + ExecStart = "${pkgs.socat}/bin/socat -t0 - exec:${pkgs.shadow}/bin/login,pty,setsid,setpgid,stderr,ctty"; + TimeoutStopSec = 1; # FIXME + }; + }; + + # Provide a non-interactive login root shell on + # /var/lib/root-shell.socket. On the host, you can connect to it + # by running ‘socat unix:/var/lib/root-shell.socket -’. + systemd.sockets.root-shell = + { description = "Root Shell Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig = + { ListenStream = "/var/lib/root-shell.socket"; + SocketMode = "0666"; + Accept = true; + }; + }; + + systemd.services."root-shell@" = + { description = "Root Shell %i"; + serviceConfig = + { Type = "simple"; + StandardInput = "socket"; + ExecStart = "${pkgs.bash}/bin/bash --login"; + TimeoutStopSec = 1; # FIXME + }; + }; + + }; + +} diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index d87284de4fc..f1fcc18f1f9 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -57,6 +57,7 @@ with pkgs.lib; { boot.isContainer = true; security.initialRootPassword = mkDefault "!"; networking.hostName = mkDefault name; + imports = [ ./container-login.nix ]; }; in [ extraConfig config.config ]; prefix = [ "systemd" "containers" name ]; From f13bd41384afadcd94e316759583359de37d15bd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 17 Mar 2014 14:10:25 +0100 Subject: [PATCH 011/880] switch-to-configuration: Restart sockets.target --- nixos/modules/system/activation/switch-to-configuration.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index e0649448c83..3f78ec0d48e 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -321,7 +321,7 @@ if (scalar @restart > 0) { # that are symlinks to other units. We shouldn't start both at the # same time because we'll get a "Failed to add path to set" error from # systemd. -my @start = unique("default.target", "timers.target", split('\n', read_file($startListFile, err_mode => 'quiet') // "")); +my @start = unique("default.target", "timers.target", "sockets.target", split('\n', read_file($startListFile, err_mode => 'quiet') // "")); print STDERR "starting the following units: ", join(", ", sort(@start)), "\n"; system("@systemd@/bin/systemctl", "start", "--", @start) == 0 or $res = 4; unlink($startListFile); From f9e2af1e8b62809e9af9acc92826c29f63db8043 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 17 Mar 2014 14:16:10 +0100 Subject: [PATCH 012/880] switch-to-configuration: Don't require /etc/NIXOS Check /etc/os-release if /etc/NIXOS doesn't exist. --- nixos/modules/system/activation/switch-to-configuration.pl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index 3f78ec0d48e..67b2280af3b 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -26,7 +26,10 @@ EOF exit 1; } -die "This is not a NixOS installation (/etc/NIXOS is missing)!\n" unless -f "/etc/NIXOS"; +# This is a NixOS installation if it has /etc/NIXOS or a proper +# /etc/os-release. +die "This is not a NixOS installation!\n" unless + -f "/etc/NIXOS" || (read_file("/etc/os-release", err_mode => 'quiet') // "") =~ /ID=nixos/s; openlog("nixos", "", LOG_USER); From 28b7d67d08a7a76c7508d4b6a8f791c2eba4a1b9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 17 Mar 2014 15:01:10 +0100 Subject: [PATCH 013/880] httpd: Don't require keys.target This has the unintended side-effect of restarting httpd every time we run switch-to-configuration, even if httpd hasn't changed (because we're doing a "stop keys.target" now). So use a "Wants" dependency instead. --- nixos/modules/services/web-servers/apache-httpd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix index a22ef10312d..949dce96824 100644 --- a/nixos/modules/services/web-servers/apache-httpd/default.nix +++ b/nixos/modules/services/web-servers/apache-httpd/default.nix @@ -621,7 +621,7 @@ in { description = "Apache HTTPD"; wantedBy = [ "multi-user.target" ]; - requires = [ "keys.target" ]; + wants = [ "keys.target" ]; after = [ "network.target" "fs.target" "postgresql.service" "keys.target" ]; path = From 511b86d22dbf3d4a52ac9d6437f0ee0375468f01 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 17 Mar 2014 15:02:53 +0100 Subject: [PATCH 014/880] Add an option to reload rather than restart changed units --- .../system/activation/switch-to-configuration.pl | 5 ++++- nixos/modules/system/boot/systemd-unit-options.nix | 11 +++++++++++ nixos/modules/system/boot/systemd.nix | 6 +++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl index 67b2280af3b..fd2b5b7950d 100644 --- a/nixos/modules/system/activation/switch-to-configuration.pl +++ b/nixos/modules/system/activation/switch-to-configuration.pl @@ -176,7 +176,10 @@ while (my ($unit, $state) = each %{$activePrev}) { # FIXME: do something? } else { my $unitInfo = parseUnit($newUnitFile); - if (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes")) { + if (boolIsTrue($unitInfo->{'X-ReloadIfChanged'} // "no")) { + write_file($reloadListFile, { append => 1 }, "$unit\n"); + } + elsif (!boolIsTrue($unitInfo->{'X-RestartIfChanged'} // "yes")) { push @unitsToSkip, $unit; } else { # If this unit is socket-activated, then stop the diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index 113990814ef..784025f6bab 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -243,6 +243,17 @@ in rec { ''; }; + reloadIfChanged = mkOption { + type = types.bool; + default = false; + description = '' + Whether the service should be reloaded during a NixOS + configuration switch if its definition has changed. If + enabled, the value of is + ignored. + ''; + }; + stopIfChanged = mkOption { type = types.bool; default = true; diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 49502b3e685..b31c631a0a7 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -279,7 +279,11 @@ let [Service] ${let env = cfg.globalEnvironment // def.environment; in concatMapStrings (n: "Environment=\"${n}=${getAttr n env}\"\n") (attrNames env)} - ${optionalString (!def.restartIfChanged) "X-RestartIfChanged=false"} + ${if def.reloadIfChanged then '' + X-ReloadIfChanged=true + '' else if !def.restartIfChanged then '' + X-RestartIfChanged=false + '' else ""} ${optionalString (!def.stopIfChanged) "X-StopIfChanged=false"} ${attrsToSection def.serviceConfig} ''; From ef8e0266a2583eb45444b1faa0512f99d18fca6c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 17 Mar 2014 15:03:29 +0100 Subject: [PATCH 015/880] Don't reboot a container when its configuration changes Instead, just run "switch-to-configuration" inside the container. --- nixos/modules/virtualisation/containers.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index f1fcc18f1f9..034ebe84b42 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -132,6 +132,14 @@ with pkgs.lib; done fi ''; + + reloadIfChanged = true; + + serviceConfig.ExecReload = + "${pkgs.bash}/bin/bash -c '" + + "echo ${container.path}/bin/switch-to-configuration test " + + "| ${pkgs.socat}/bin/socat unix:${container.root}/var/lib/root-shell.socket -'"; + }) config.systemd.containers; }; From ac215779dd1fdfe58d75bcc22cb6a5b0a58744a4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 17 Mar 2014 15:23:20 +0100 Subject: [PATCH 016/880] Give containers a writable /nix/var/nix/{profiles,gcroots} These are stored on the host in /nix/var/nix/{profiles,gcroots}/per-container/ to ensure that container profiles/roots are not garbage-collected. --- nixos/modules/virtualisation/containers.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 034ebe84b42..6a4833e1e21 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -110,10 +110,19 @@ with pkgs.lib; if ! [ -e ${container.root}/etc/os-release ]; then touch ${container.root}/etc/os-release fi + + mkdir -p -m 0755 \ + /nix/var/nix/profiles/per-container/${name} \ + /nix/var/nix/gcroots/per-container/${name} ''; serviceConfig.ExecStart = - "${config.systemd.package}/bin/systemd-nspawn -M ${name} -D ${container.root} --bind-ro=/nix ${container.path}/init"; + "${config.systemd.package}/bin/systemd-nspawn" + + " -M ${name} -D ${container.root}" + + " --bind-ro=/nix/store --bind-ro=/nix/var/nix/db --bind-ro=/nix/var/nix/daemon-socket" + + " --bind=/nix/var/nix/profiles/per-container/${name}:/nix/var/nix/profiles" + + " --bind=/nix/var/nix/gcroots/per-container/${name}:/nix/var/nix/gcroots" + + " ${container.path}/init"; preStop = '' From 895bcdd1cb9f98ba032c78d996f3ebc89fd60bc2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 18 Mar 2014 10:49:25 +0100 Subject: [PATCH 017/880] Add support for running a container with a private network interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For example, the following sets up a container named ‘foo’. The container will have a single network interface eth0, with IP address 10.231.136.2. The host will have an interface c-foo with IP address 10.231.136.1. systemd.containers.foo = { privateNetwork = true; hostAddress = "10.231.136.1"; localAddress = "10.231.136.2"; config = { services.openssh.enable = true; }; }; With ‘privateNetwork = true’, the container has the CAP_NET_ADMIN capability, allowing it to do arbitrary network configuration, such as setting up firewall rules. This is secure because it cannot touch the interfaces of the host. The helper program ‘run-in-netns’ is needed at the moment because ‘ip netns exec’ doesn't quite do the right thing (it remounts /sys without bind-mounting the original /sys/fs/cgroups). --- nixos/modules/services/networking/dhcpcd.nix | 5 +- nixos/modules/virtualisation/containers.nix | 113 +++++++++++++++++-- nixos/modules/virtualisation/run-in-netns.c | 50 ++++++++ 3 files changed, 155 insertions(+), 13 deletions(-) create mode 100644 nixos/modules/virtualisation/run-in-netns.c diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index d4ec96a18f6..38a21a723d9 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -34,8 +34,9 @@ let # Ignore peth* devices; on Xen, they're renamed physical # Ethernet cards used for bridging. Likewise for vif* and tap* - # (Xen) and virbr* and vnet* (libvirt). - denyinterfaces ${toString ignoredInterfaces} peth* vif* tap* tun* virbr* vnet* vboxnet* + # (Xen) and virbr* and vnet* (libvirt) and c-* and ctmp-* (NixOS + # containers). + denyinterfaces ${toString ignoredInterfaces} peth* vif* tap* tun* virbr* vnet* vboxnet* c-* ctmp-* ${config.networking.dhcpcd.extraConfig} ''; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 6a4833e1e21..49046975d83 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -2,6 +2,20 @@ with pkgs.lib; +let + + runInNetns = pkgs.stdenv.mkDerivation { + name = "run-in-netns"; + unpackPhase = "true"; + buildPhase = '' + mkdir -p $out/bin + gcc ${./run-in-netns.c} -o $out/bin/run-in-netns + ''; + installPhase = "true"; + }; + +in + { options = { @@ -45,6 +59,39 @@ with pkgs.lib; ''; }; + privateNetwork = mkOption { + type = types.bool; + default = false; + description = '' + Whether to give the container its own private virtual + Ethernet interface. The interface is called + eth0, and is hooked up to the interface + c-container-name + on the host. If this option is not set, then the + container shares the network interfaces of the host, + and can bind to any port on any interface. + ''; + }; + + hostAddress = mkOption { + type = types.nullOr types.string; + default = null; + example = "10.231.136.1"; + description = '' + The IPv4 address assigned to the host interface. + ''; + }; + + localAddress = mkOption { + type = types.nullOr types.string; + default = null; + example = "10.231.136.2"; + description = '' + The IPv4 address assigned to eth0 + in the container. + ''; + }; + }; config = mkMerge @@ -97,32 +144,70 @@ with pkgs.lib; config = { - systemd.services = mapAttrs' (name: container: nameValuePair "container-${name}" - { description = "Container '${name}'"; + systemd.services = mapAttrs' (name: cfg: + let + # FIXME: interface names have a maximum length. + ifaceHost = "c-${name}"; + ifaceCont = "ctmp-${name}"; + ns = "net-${name}"; + in + nameValuePair "container-${name}" { + description = "Container '${name}'"; wantedBy = [ "multi-user.target" ]; - unitConfig.RequiresMountsFor = [ container.root ]; + unitConfig.RequiresMountsFor = [ cfg.root ]; + + path = [ pkgs.iproute ]; preStart = '' - mkdir -p -m 0755 ${container.root}/etc - if ! [ -e ${container.root}/etc/os-release ]; then - touch ${container.root}/etc/os-release + mkdir -p -m 0755 ${cfg.root}/etc + if ! [ -e ${cfg.root}/etc/os-release ]; then + touch ${cfg.root}/etc/os-release fi mkdir -p -m 0755 \ /nix/var/nix/profiles/per-container/${name} \ /nix/var/nix/gcroots/per-container/${name} + '' + + + optionalString cfg.privateNetwork '' + # Cleanup from last time. + ip netns del ${ns} 2> /dev/null || true + ip link del ${ifaceHost} 2> /dev/null || true + ip link del ${ifaceCont} 2> /dev/null || true + + # Create a pair of virtual ethernet devices. On the host, + # we get ‘c- +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char * * argv) +{ + if (argc < 3) { + fprintf(stderr, "%s: missing arguments\n", argv[0]); + return 1; + } + + char nsPath[PATH_MAX]; + + sprintf(nsPath, "/run/netns/%s", argv[1]); + + int fd = open(nsPath, O_RDONLY); + if (fd == -1) { + fprintf(stderr, "%s: opening network namespace: %s\n", argv[0], strerror(errno)); + return 1; + } + + if (setns(fd, CLONE_NEWNET) == -1) { + fprintf(stderr, "%s: setting network namespace: %s\n", argv[0], strerror(errno)); + return 1; + } + + umount2(nsPath, MNT_DETACH); + if (unlink(nsPath) == -1) { + fprintf(stderr, "%s: unlinking network namespace: %s\n", argv[0], strerror(errno)); + return 1; + } + + /* FIXME: Remount /sys so that /sys/class/net reflects the + interfaces visible in the network namespace. This requires + bind-mounting /sys/fs/cgroups etc. */ + + execv(argv[2], argv + 2); + fprintf(stderr, "%s: running command: %s\n", argv[0], strerror(errno)); + return 1; +} From 7b82d1ee27a60157418e241152ef1aa3f909ad7b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 18 Mar 2014 11:04:54 +0100 Subject: [PATCH 018/880] Ensure that the container root can always be accessed via /var/lib/containers --- nixos/modules/virtualisation/containers.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 49046975d83..ff17fcc1221 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -172,6 +172,10 @@ in /nix/var/nix/gcroots/per-container/${name} '' + + optionalString (cfg.root != "/var/lib/containers/${name}") '' + ln -sfn "${cfg.root}" "/var/lib/containers/${name}" + '' + + optionalString cfg.privateNetwork '' # Cleanup from last time. ip netns del ${ns} 2> /dev/null || true From 11c4c4ae54bbef647358d2b6d6c3ddf0457f81f7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 18 Mar 2014 11:36:03 +0100 Subject: [PATCH 019/880] =?UTF-8?q?Add=20command=20=E2=80=98nixos-containe?= =?UTF-8?q?r-shell=E2=80=99=20for=20logging=20into=20a=20container?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nixos/modules/virtualisation/containers.nix | 54 +++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index ff17fcc1221..28ee78e3fcc 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -14,6 +14,58 @@ let installPhase = "true"; }; + nixos-container-shell = pkgs.writeScriptBin "nixos-container-shell" + '' + #! ${pkgs.bash}/bin/sh -e + + usage() { + echo "Usage: $0 " >&2 + echo " $0 (-r|--root-shell) " >&2 + } + + args="`getopt --options 'r' -l help -- "$@"`" + eval "set -- $args" + rootShell= + while [ $# -gt 0 ]; do + case "$1" in + (--help) usage; exit 0;; + (-r|--root-shell) rootShell=1;; + (--) shift; break;; + (*) break;; + esac + shift + done + + container="$1" + if [ -z "$container" ]; then + usage + exit 1 + fi + shift + + root="/var/lib/containers/$container" + if ! [ -d "$root" ]; then + echo "$0: container ‘$container’ does not exist" >&2 + exit 1 + fi + + if [ -n "$rootShell" ]; then + socket="$root/var/lib/root-shell.socket" + else + socket="$root/var/lib/login.socket" + fi + if ! [ -S "$socket" ]; then + echo "$0: socket ‘$socket’ does not exist" >&2 + exit 1 + fi + + if [ -n "$rootShell" ]; then + exec ${pkgs.socat}/bin/socat "unix:$socket" - + else + exec ${pkgs.socat}/bin/socat "unix:$socket" -,echo=0,raw + fi + ''; + in { @@ -246,5 +298,7 @@ in ${cfg.localAddress} ${name}.containers '') config.systemd.containers); + environment.systemPackages = optional (config.systemd.containers != {}) nixos-container-shell; + }; } From 5b10ea1f99edf1855d0735330634a463771a5ee2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 18 Mar 2014 11:39:51 +0100 Subject: [PATCH 020/880] Don't run dhcpcd in containers --- nixos/modules/virtualisation/containers.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 28ee78e3fcc..b8388e7f206 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -156,6 +156,7 @@ in { boot.isContainer = true; security.initialRootPassword = mkDefault "!"; networking.hostName = mkDefault name; + networking.useDHCP = false; imports = [ ./container-login.nix ]; }; in [ extraConfig config.config ]; From 7ee31c7f94d121f5e57779c0c1478aee30d80cb1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 18 Mar 2014 18:04:38 +0100 Subject: [PATCH 021/880] Fix permissions --- nixos/modules/virtualisation/container-login.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/virtualisation/container-login.nix b/nixos/modules/virtualisation/container-login.nix index 56e772fb797..09eaf90ae65 100644 --- a/nixos/modules/virtualisation/container-login.nix +++ b/nixos/modules/virtualisation/container-login.nix @@ -12,7 +12,7 @@ wantedBy = [ "sockets.target" ]; socketConfig = { ListenStream = "/var/lib/login.socket"; - SocketMode = "0600"; # only root can connect, obviously + SocketMode = "0666"; Accept = true; }; }; @@ -36,7 +36,7 @@ wantedBy = [ "sockets.target" ]; socketConfig = { ListenStream = "/var/lib/root-shell.socket"; - SocketMode = "0666"; + SocketMode = "0600"; # only root can connect, obviously Accept = true; }; }; From 2ace7edb81509189a15a0b8e8d0ee1886be9e725 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 18 Mar 2014 18:18:35 +0100 Subject: [PATCH 022/880] Rename systemd.containers -> containers That NixOS containers use systemd-nspawn is just an implementation detail (which we could change in the future). --- nixos/modules/virtualisation/containers.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index b8388e7f206..cdd9e729dc1 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -80,7 +80,7 @@ in ''; }; - systemd.containers = mkOption { + containers = mkOption { type = types.attrsOf (types.submodule ( { config, options, name, ... }: { @@ -160,7 +160,7 @@ in imports = [ ./container-login.nix ]; }; in [ extraConfig config.config ]; - prefix = [ "systemd" "containers" name ]; + prefix = [ "containers" name ]; }).config.system.build.toplevel; }) ]; @@ -291,15 +291,15 @@ in + "echo ${cfg.path}/bin/switch-to-configuration test " + "| ${pkgs.socat}/bin/socat unix:${cfg.root}/var/lib/root-shell.socket -'"; - }) config.systemd.containers; + }) config.containers; # Generate /etc/hosts entries for the containers. networking.extraHosts = concatStrings (mapAttrsToList (name: cfg: optionalString (cfg.localAddress != null) '' ${cfg.localAddress} ${name}.containers - '') config.systemd.containers); + '') config.containers); - environment.systemPackages = optional (config.systemd.containers != {}) nixos-container-shell; + environment.systemPackages = optional (config.containers != {}) nixos-container-shell; }; } From 0cca0f477f168cee994b2c90d20b713f2bb67d85 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 19 Mar 2014 10:15:57 +0100 Subject: [PATCH 023/880] nixos-container-shell -> nixos-container { login | root-shell } --- nixos/modules/virtualisation/containers.nix | 60 +++---------------- .../modules/virtualisation/nixos-container.sh | 54 +++++++++++++++++ 2 files changed, 62 insertions(+), 52 deletions(-) create mode 100644 nixos/modules/virtualisation/nixos-container.sh diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index cdd9e729dc1..e718398815d 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -14,57 +14,13 @@ let installPhase = "true"; }; - nixos-container-shell = pkgs.writeScriptBin "nixos-container-shell" - '' - #! ${pkgs.bash}/bin/sh -e - - usage() { - echo "Usage: $0 " >&2 - echo " $0 (-r|--root-shell) " >&2 - } - - args="`getopt --options 'r' -l help -- "$@"`" - eval "set -- $args" - rootShell= - while [ $# -gt 0 ]; do - case "$1" in - (--help) usage; exit 0;; - (-r|--root-shell) rootShell=1;; - (--) shift; break;; - (*) break;; - esac - shift - done - - container="$1" - if [ -z "$container" ]; then - usage - exit 1 - fi - shift - - root="/var/lib/containers/$container" - if ! [ -d "$root" ]; then - echo "$0: container ‘$container’ does not exist" >&2 - exit 1 - fi - - if [ -n "$rootShell" ]; then - socket="$root/var/lib/root-shell.socket" - else - socket="$root/var/lib/login.socket" - fi - if ! [ -S "$socket" ]; then - echo "$0: socket ‘$socket’ does not exist" >&2 - exit 1 - fi - - if [ -n "$rootShell" ]; then - exec ${pkgs.socat}/bin/socat "unix:$socket" - - else - exec ${pkgs.socat}/bin/socat "unix:$socket" -,echo=0,raw - fi - ''; + nixos-container = pkgs.substituteAll { + name = "nixos-container"; + dir = "bin"; + isExecutable = true; + src = ./nixos-container.sh; + inherit (pkgs) bash socat; + }; in @@ -299,7 +255,7 @@ in ${cfg.localAddress} ${name}.containers '') config.containers); - environment.systemPackages = optional (config.containers != {}) nixos-container-shell; + environment.systemPackages = optional (config.containers != {}) nixos-container; }; } diff --git a/nixos/modules/virtualisation/nixos-container.sh b/nixos/modules/virtualisation/nixos-container.sh new file mode 100644 index 00000000000..f4e34588d6e --- /dev/null +++ b/nixos/modules/virtualisation/nixos-container.sh @@ -0,0 +1,54 @@ +#! @bash@/bin/sh -e + +usage() { + echo "Usage: $0 login " >&2 + echo " $0 root-shell " >&2 +} + +args="`getopt --options '' -l help -- "$@"`" +eval "set -- $args" +while [ $# -gt 0 ]; do + case "$1" in + (--help) usage; exit 0;; + (--) shift; break;; + (*) break;; + esac + shift +done + +action="$1" +if [ -z "$action" ]; then usage; exit 1; fi +shift + +getContainerRoot() { + root="/var/lib/containers/$container" + if ! [ -d "$root" ]; then + echo "$0: container ‘$container’ does not exist" >&2 + exit 1 + fi +} + +if [ $action = login ]; then + + container="$1" + if [ -z "$container" ]; then usage; exit 1; fi + shift + + getContainerRoot + + exec @socat@/bin/socat "unix:$root/var/lib/login.socket" -,echo=0,raw + +elif [ $action = root-shell ]; then + + container="$1" + if [ -z "$container" ]; then usage; exit 1; fi + shift + + getContainerRoot + + exec @socat@/bin/socat "unix:$root/var/lib/root-shell.socket" - + +else + echo "$0: unknown action ‘$action’" >&2 + exit 1 +fi From ba88db3cd332e439dd2090b64abb7b9942b5fc94 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 19 Mar 2014 19:55:05 +0100 Subject: [PATCH 024/880] Add support for imperative container management MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The command nixos-container can now create containers. For instance, the following creates and starts a container named ‘database’: $ nixos-container create database The configuration of the container is stored in /var/lib/containers//etc/nixos/configuration.nix. After editing the configuration, you can make the changes take effect by doing $ nixos-container update database The container can also be destroyed: $ nixos-container destroy database Containers are now executed using a template unit, ‘container@.service’, so the unit in this example would be ‘container@database.service’. --- nixos/modules/virtualisation/containers.nix | 164 ++++++++++-------- .../modules/virtualisation/nixos-container.sh | 106 +++++++++-- 2 files changed, 184 insertions(+), 86 deletions(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index e718398815d..573a3d1c584 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -42,13 +42,6 @@ in { options = { - root = mkOption { - type = types.path; - description = '' - The root directory of the container. - ''; - }; - config = mkOption { description = '' A specification of the desired configuration of this @@ -103,9 +96,7 @@ in }; config = mkMerge - [ { root = mkDefault "/var/lib/containers/${name}"; - } - (mkIf options.config.isDefined { + [ (mkIf options.config.isDefined { path = (import ../../lib/eval-config.nix { modules = let extraConfig = @@ -126,12 +117,10 @@ in example = literalExample '' { webserver = - { root = "/containers/webserver"; - path = "/nix/var/nix/profiles/webserver"; + { path = "/nix/var/nix/profiles/webserver"; }; database = - { root = "/containers/database"; - config = + { config = { config, pkgs, ... }: { services.postgresql.enable = true; services.postgresql.package = pkgs.postgresql92; @@ -153,78 +142,76 @@ in config = { - systemd.services = mapAttrs' (name: cfg: - let - # FIXME: interface names have a maximum length. - ifaceHost = "c-${name}"; - ifaceCont = "ctmp-${name}"; - ns = "net-${name}"; - in - nameValuePair "container-${name}" { - description = "Container '${name}'"; + systemd.services."container@" = + { description = "Container '%I'"; - wantedBy = [ "multi-user.target" ]; - - unitConfig.RequiresMountsFor = [ cfg.root ]; + unitConfig.RequiresMountsFor = [ "/var/lib/containers/%I" ]; path = [ pkgs.iproute ]; - preStart = + environment.INSTANCE = "%I"; + + script = '' - mkdir -p -m 0755 ${cfg.root}/etc - if ! [ -e ${cfg.root}/etc/os-release ]; then - touch ${cfg.root}/etc/os-release + root="/var/lib/containers/$INSTANCE" + mkdir -p -m 0755 "$root/etc" + if ! [ -e "$root/etc/os-release" ]; then + touch "$root/etc/os-release" fi mkdir -p -m 0755 \ - /nix/var/nix/profiles/per-container/${name} \ - /nix/var/nix/gcroots/per-container/${name} - '' + "/nix/var/nix/profiles/per-container/$INSTANCE" \ + "/nix/var/nix/gcroots/per-container/$INSTANCE" - + optionalString (cfg.root != "/var/lib/containers/${name}") '' - ln -sfn "${cfg.root}" "/var/lib/containers/${name}" - '' + SYSTEM_PATH=/nix/var/nix/profiles/system + if [ -f "/etc/containers/$INSTANCE.conf" ]; then + . "/etc/containers/$INSTANCE.conf" + fi - + optionalString cfg.privateNetwork '' # Cleanup from last time. - ip netns del ${ns} 2> /dev/null || true - ip link del ${ifaceHost} 2> /dev/null || true - ip link del ${ifaceCont} 2> /dev/null || true + ifaceHost=c-$INSTANCE + ifaceCont=ctmp-$INSTANCE + ns=net-$INSTANCE + ip netns del $ns 2> /dev/null || true + ip link del $ifaceHost 2> /dev/null || true + ip link del $ifaceCont 2> /dev/null || true - # Create a pair of virtual ethernet devices. On the host, - # we get ‘c-" >&2 + echo "Usage: $0 create [--config ]" >&2 + echo " $0 update " >&2 + echo " $0 destroy " >&2 + echo " $0 login " >&2 echo " $0 root-shell " >&2 + echo " $0 set-root-password " >&2 } -args="`getopt --options '' -l help -- "$@"`" +args="`getopt --options '' -l help -l config: -- "$@"`" eval "set -- $args" +extraConfigFile= while [ $# -gt 0 ]; do case "$1" in (--help) usage; exit 0;; + (--config) shift; extraConfigFile=$1;; (--) shift; break;; (*) break;; esac @@ -28,26 +34,104 @@ getContainerRoot() { fi } -if [ $action = login ]; then +container="$1" +if [ -z "$container" ]; then usage; exit 1; fi +shift - container="$1" - if [ -z "$container" ]; then usage; exit 1; fi - shift +if [ $action = create ]; then + + confFile="/etc/containers/$container.conf" + root="/var/lib/containers/$container" + + if [ -e "$confFile" -o -e "$root/nix" ]; then + echo "$0: container ‘$container’ already exists" >&2 + exit 1 + fi + + profileDir="/nix/var/nix/profiles/per-container/$container" + mkdir -m 0755 -p "$root/etc/nixos" "$profileDir" + + config=" +{ config, pkgs, ... }: + +with pkgs.lib; + +{ boot.isContainer = true; + security.initialRootPassword = mkDefault \"!\"; + networking.hostName = mkDefault \"$container\"; + networking.useDHCP = false; + imports = [ $extraConfigFile ]; +}" + configFile="$root/etc/nixos/configuration.nix" + echo "$config" > "$configFile" + + nix-env -p "$profileDir/system" -I "nixos-config=$configFile" -f '' --set -A system + + # Allocate a new /8 network in the 10.233.* range. + network="$(sed -e 's/.*_ADDRESS=10\.233\.\(.*\)\..*/\1/; t; d' /etc/containers/*.conf | sort -n | tail -n1)" + if [ -z "$network" ]; then network=0; else : $((network++)); fi + + hostAddress="10.233.$network.1" + localAddress="10.233.$network.2" + echo "host IP is $hostAddress, container IP is $localAddress" >&2 + + cat > "$confFile" <&2 + systemctl start "container@$container.service" + +elif [ $action = update ]; then getContainerRoot + configFile="$root/etc/nixos/configuration.nix" + profileDir="/nix/var/nix/profiles/per-container/$container" + + nix-env -p "$profileDir/system" -I "nixos-config=$configFile" -f '' --set -A system + + echo "reloading container@$container.service..." >&2 + systemctl reload "container@$container.service" + +elif [ $action = destroy ]; then + + getContainerRoot + + confFile="/etc/containers/$container.conf" + if [ ! -w "$confFile" ]; then + echo "$0: cannot destroy declarative container (remove it from your configuration.nix instead)" + exit 1 + fi + + if systemctl show "container@$container.service" | grep -q ActiveState=active; then + echo "stopping container@$container.service..." >&2 + systemctl stop "container@$container.service" + fi + + rm -f "$confFile" + +elif [ $action = login ]; then + + getContainerRoot exec @socat@/bin/socat "unix:$root/var/lib/login.socket" -,echo=0,raw elif [ $action = root-shell ]; then - container="$1" - if [ -z "$container" ]; then usage; exit 1; fi - shift - getContainerRoot - exec @socat@/bin/socat "unix:$root/var/lib/root-shell.socket" - +elif [ $action = set-root-password ]; then + + password="$1" + if [ -z "$password" ]; then usage; exit 1; fi + + # FIXME: not very secure. + getContainerRoot + (echo "passwd"; echo "$password"; echo "$password") | @socat@/bin/socat "unix:$root/var/lib/root-shell.socket" - + else echo "$0: unknown action ‘$action’" >&2 exit 1 From 29c469b88db31d56acf02478fffea14f15372b1f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 Mar 2014 15:09:38 +0100 Subject: [PATCH 025/880] Allow dashes in container names --- nixos/modules/virtualisation/containers.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 573a3d1c584..7e45d9f8b22 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -143,13 +143,13 @@ in config = { systemd.services."container@" = - { description = "Container '%I'"; + { description = "Container '%i'"; - unitConfig.RequiresMountsFor = [ "/var/lib/containers/%I" ]; + unitConfig.RequiresMountsFor = [ "/var/lib/containers/%i" ]; path = [ pkgs.iproute ]; - environment.INSTANCE = "%I"; + environment.INSTANCE = "%i"; script = '' From 6010b0e8868b5a8058302a7b7839cddb21272043 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 Mar 2014 15:09:53 +0100 Subject: [PATCH 026/880] nixos-container: NixOps helper functions --- .../modules/virtualisation/nixos-container.sh | 46 +++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/nixos/modules/virtualisation/nixos-container.sh b/nixos/modules/virtualisation/nixos-container.sh index c72b6fb9281..a3fd9db56d8 100644 --- a/nixos/modules/virtualisation/nixos-container.sh +++ b/nixos/modules/virtualisation/nixos-container.sh @@ -1,21 +1,25 @@ #! @bash@/bin/sh -e usage() { - echo "Usage: $0 create [--config ]" >&2 + echo "Usage: $0 list" >&2 + echo " $0 create [--config ] [--ensure-unique-name]" >&2 echo " $0 update " >&2 echo " $0 destroy " >&2 echo " $0 login " >&2 echo " $0 root-shell " >&2 echo " $0 set-root-password " >&2 + echo " $0 show-ip " >&2 } -args="`getopt --options '' -l help -l config: -- "$@"`" +args="`getopt --options '' -l help -l config: -l ensure-unique-name -- "$@"`" eval "set -- $args" extraConfigFile= +ensureUniqueName= while [ $# -gt 0 ]; do case "$1" in (--help) usage; exit 0;; (--config) shift; extraConfigFile=$1;; + (--ensure-unique-name) ensureUniqueName=1;; (--) shift; break;; (*) break;; esac @@ -34,12 +38,28 @@ getContainerRoot() { fi } +if [ $action = list ]; then + for i in $(cd /etc/containers && echo *.conf); do + echo "$(basename "$i" .conf)" + done + exit 0 +fi + container="$1" if [ -z "$container" ]; then usage; exit 1; fi shift if [ $action = create ]; then + if [ -n "$ensureUniqueName" ]; then + # FIXME: race + nr=0 + while [ -e "/etc/containers/$container-$nr.conf" -o -e "/var/lib/containers/$container-$nr" ]; do + : $((nr++)) + done + container="$container-$nr" + fi + confFile="/etc/containers/$container.conf" root="/var/lib/containers/$container" @@ -61,13 +81,19 @@ with pkgs.lib; networking.hostName = mkDefault \"$container\"; networking.useDHCP = false; imports = [ $extraConfigFile ]; + services.openssh.enable = true; + services.openssh.extraConfig = + '' + UseDNS no + ''; + users.extraUsers.root.openssh.authorizedKeys.keys = [ \"ssh-dss AAAAB3NzaC1kc3MAAACBAOo3foMFsYvc+LEVVTAeXpaxdOFG6O2NE9coxZYN6UtwE477GwkvZ4uKymAekq3TB8I6dDg4QFfE27fIip/rQHJ/Rus+KsxwnTbwPzE0WcZVpkKQsepsoqLkfwMpiPfn5/oxcnJsimwRY/E95aJmmOHdGaYWrc0t4ARa+6teUgdFAAAAFQCSQq2Wil0/X4hDypGGUKlKvYyaWQAAAIAy/0fSDnz1tZOQBGq7q78y406HfWghErrVlrW9g+foJQG5pgXXcdJs9JCIrlaKivUKITDsYnQaCjrZaK8eHnc4ksbkSLfDOxFnR5814ulCftrgEDOv9K1UU3pYketjFMvQCA2U48lR6jG/99CPNXPH55QEFs8H97cIsdLQw9wM4gAAAIEAmzWZlXLzIf3eiHQggXqvw3+C19QvxQITcYHYVTx/XYqZi1VZ/fkY8bNmdcJsWFyOHgEhpEca+xM/SNvH/14rXDmt0wtclLEx/4GVLi59hQCnnKqv7HzJg8RF4v6XTiROBAEEdb4TaFuFn+JCvqPzilTzXTexvZKJECOvfYcY+10= eelco.dolstra@logicblox.com\" ]; }" configFile="$root/etc/nixos/configuration.nix" echo "$config" > "$configFile" nix-env -p "$profileDir/system" -I "nixos-config=$configFile" -f '' --set -A system - # Allocate a new /8 network in the 10.233.* range. + # Allocate a new /8 network in the 10.233.* range. FIXME: race network="$(sed -e 's/.*_ADDRESS=10\.233\.\(.*\)\..*/\1/; t; d' /etc/containers/*.conf | sort -n | tail -n1)" if [ -z "$network" ]; then network=0; else : $((network++)); fi @@ -84,6 +110,11 @@ EOF echo "starting container@$container.service..." >&2 systemctl start "container@$container.service" + # Print generated container name on stdout. + if [ -n "$ensureUniqueName" ]; then + echo "$container" + fi + elif [ $action = update ]; then getContainerRoot @@ -101,7 +132,7 @@ elif [ $action = destroy ]; then getContainerRoot confFile="/etc/containers/$container.conf" - if [ ! -w "$confFile" ]; then + if [ -e "$confFile" -a ! -w "$confFile" ]; then echo "$0: cannot destroy declarative container (remove it from your configuration.nix instead)" exit 1 fi @@ -112,6 +143,7 @@ elif [ $action = destroy ]; then fi rm -f "$confFile" + rm -rf "$root" elif [ $action = login ]; then @@ -132,6 +164,12 @@ elif [ $action = set-root-password ]; then getContainerRoot (echo "passwd"; echo "$password"; echo "$password") | @socat@/bin/socat "unix:$root/var/lib/root-shell.socket" - +elif [ $action = show-ip ]; then + + getContainerRoot + . "/etc/containers/$container.conf" + echo "$LOCAL_ADDRESS" + else echo "$0: unknown action ‘$action’" >&2 exit 1 From 07adfae5519ae12ce1a06d2b57f027c97288d0fb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 24 Mar 2014 09:26:42 +0100 Subject: [PATCH 027/880] Remove hard-coded SSH key --- nixos/modules/virtualisation/nixos-container.sh | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/nixos/modules/virtualisation/nixos-container.sh b/nixos/modules/virtualisation/nixos-container.sh index a3fd9db56d8..47abf96072f 100644 --- a/nixos/modules/virtualisation/nixos-container.sh +++ b/nixos/modules/virtualisation/nixos-container.sh @@ -2,7 +2,7 @@ usage() { echo "Usage: $0 list" >&2 - echo " $0 create [--config ] [--ensure-unique-name]" >&2 + echo " $0 create [--config ] [--ensure-unique-name]" >&2 echo " $0 update " >&2 echo " $0 destroy " >&2 echo " $0 login " >&2 @@ -13,12 +13,12 @@ usage() { args="`getopt --options '' -l help -l config: -l ensure-unique-name -- "$@"`" eval "set -- $args" -extraConfigFile= +extraConfig= ensureUniqueName= while [ $# -gt 0 ]; do case "$1" in (--help) usage; exit 0;; - (--config) shift; extraConfigFile=$1;; + (--config) shift; extraConfig=$1;; (--ensure-unique-name) ensureUniqueName=1;; (--) shift; break;; (*) break;; @@ -80,13 +80,8 @@ with pkgs.lib; security.initialRootPassword = mkDefault \"!\"; networking.hostName = mkDefault \"$container\"; networking.useDHCP = false; - imports = [ $extraConfigFile ]; - services.openssh.enable = true; - services.openssh.extraConfig = - '' - UseDNS no - ''; - users.extraUsers.root.openssh.authorizedKeys.keys = [ \"ssh-dss AAAAB3NzaC1kc3MAAACBAOo3foMFsYvc+LEVVTAeXpaxdOFG6O2NE9coxZYN6UtwE477GwkvZ4uKymAekq3TB8I6dDg4QFfE27fIip/rQHJ/Rus+KsxwnTbwPzE0WcZVpkKQsepsoqLkfwMpiPfn5/oxcnJsimwRY/E95aJmmOHdGaYWrc0t4ARa+6teUgdFAAAAFQCSQq2Wil0/X4hDypGGUKlKvYyaWQAAAIAy/0fSDnz1tZOQBGq7q78y406HfWghErrVlrW9g+foJQG5pgXXcdJs9JCIrlaKivUKITDsYnQaCjrZaK8eHnc4ksbkSLfDOxFnR5814ulCftrgEDOv9K1UU3pYketjFMvQCA2U48lR6jG/99CPNXPH55QEFs8H97cIsdLQw9wM4gAAAIEAmzWZlXLzIf3eiHQggXqvw3+C19QvxQITcYHYVTx/XYqZi1VZ/fkY8bNmdcJsWFyOHgEhpEca+xM/SNvH/14rXDmt0wtclLEx/4GVLi59hQCnnKqv7HzJg8RF4v6XTiROBAEEdb4TaFuFn+JCvqPzilTzXTexvZKJECOvfYcY+10= eelco.dolstra@logicblox.com\" ]; + imports = [ ]; + $extraConfig }" configFile="$root/etc/nixos/configuration.nix" echo "$config" > "$configFile" From 3d08732d128c8106a0ee66d042617353820b2c2d Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 25 Mar 2014 17:25:37 -0500 Subject: [PATCH 028/880] Wrap k3b with PATH to required tools --- pkgs/applications/misc/k3b/default.nix | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix index 06565065ce5..9f9e29f537e 100644 --- a/pkgs/applications/misc/k3b/default.nix +++ b/pkgs/applications/misc/k3b/default.nix @@ -1,8 +1,12 @@ { stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib , flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext , kdelibs, kdemultimedia, automoc4, phonon, libkcddb ? null +, makeWrapper, cdrkit, cdrdao, dvdplusrwtools }: +let + runtimeDeps = [ cdrkit cdrdao dvdplusrwtools ]; +in stdenv.mkDerivation rec { name = "k3b-2.0.2"; @@ -16,10 +20,22 @@ stdenv.mkDerivation rec { flac libsamplerate libdvdread lame libsndfile libmad gettext stdenv.gcc.libc kdelibs kdemultimedia automoc4 phonon - libkcddb - ]; + libkcddb makeWrapper + ] + # Runtime dependencies are *not* propagated so they are easy to override. + ++ runtimeDeps; enableParallelBuilding = true; + + postInstall = + # Wrap k3b with PATH to required tools, so they can be found without being + # installed in a profile. The PATH is suffixed so that profile-installed + # tools take preference. + let extraPath = stdenv.lib.makeSearchPath "bin" runtimeDeps; + in '' + wrapProgram "$out/bin/k3b" --suffix PATH : ${extraPath} + wrapProgram "$out/bin/k3bsetup" --suffix PATH : ${extraPath} + ''; meta = with stdenv.lib; { description = "CD/DVD Burning Application for KDE"; From 6c77690b2898aa8a12184ca8f3c113a11c957e50 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 26 Mar 2014 18:12:00 -0400 Subject: [PATCH 029/880] rippled: initial pkg and module expressions rippled is the Ripple P2P payment network reference server https://ripple.com --- lib/maintainers.nix | 1 + nixos/modules/misc/ids.nix | 1 + nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/rippled.nix | 326 ++++++++++++++++++++++++ pkgs/servers/rippled/default.nix | 32 +++ pkgs/servers/rippled/scons-env.patch | 46 ++++ pkgs/top-level/all-packages.nix | 2 + 7 files changed, 409 insertions(+) create mode 100644 nixos/modules/services/misc/rippled.nix create mode 100644 pkgs/servers/rippled/default.nix create mode 100644 pkgs/servers/rippled/scons-env.patch diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 938e1ed5455..1e3b9a32a52 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -28,6 +28,7 @@ coroa = "Jonas Hörsch "; edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; + emery = "Emery Hemingawy "; ertes = "Ertugrul Söylemez "; falsifian = "James Cook "; garbas = "Rok Garbas "; diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 9c413e36d56..f03aeed7f65 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -123,6 +123,7 @@ ngircd = 112; btsync = 113; minecraft = 114; + rippled = 115; # When adding a uid, make sure it doesn't match an existing gid. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 652a99e7c5a..79c071087e4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -132,6 +132,7 @@ ./services/misc/nix-gc.nix ./services/misc/nix-ssh-serve.nix ./services/misc/nixos-manual.nix + ./services/misc/rippled.nix ./services/misc/rogue.nix ./services/misc/svnserve.nix ./services/misc/synergy.nix diff --git a/nixos/modules/services/misc/rippled.nix b/nixos/modules/services/misc/rippled.nix new file mode 100644 index 00000000000..7d339a48b97 --- /dev/null +++ b/nixos/modules/services/misc/rippled.nix @@ -0,0 +1,326 @@ +# configuration building is commented out until better tested. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.services.rippled; + + rippledStateCfgFile = "/var/lib/rippled/rippled.cfg"; + + rippledCfg = '' + [node_db] + type=HyperLevelDB + path=/var/lib/rippled/db/hyperldb + + [debug_logfile] + /var/log/rippled/debug.log + + '' + /* + + optionalString (cfg.ips != null) '' + [ips] + ${concatStringsSep "\n" cfg.ips} + + '' + + optionalString (cfg.ipsFixed != null) '' + [ips_fixed] + ${concatStringsSep "\n" cfg.ipsFixed} + + '' + */ + + optionalString (cfg.peerIp != null) '' + [peer_ip] + ${cfg.peerIp} + + [peer_port] + ${toString cfg.peerPort} + + '' + + cfg.extraConfig; + + rippledCfgFile = pkgs.writeText "rippled.cfg" rippledCfg; + +in + +{ + + ###### interface + + options = { + + services.rippled = { + + enable = mkOption { + default = false; + description = "Whether to enable rippled"; + }; + + /* + ips = mkOption { + default = [ "r.ripple.com 51235" ]; + example = [ "192.168.0.1" "192.168.0.1 3939" "r.ripple.com 51235" ]; + description = '' + List of hostnames or ips where the Ripple protocol is served. + For a starter list, you can either copy entries from: + https://ripple.com/ripple.txt or if you prefer you can let it + default to r.ripple.com 51235 + + A port may optionally be specified after adding a space to the + address. By convention, if known, IPs are listed in from most + to least trusted. + ''; + }; + + ipsFixed = mkOption { + default = null; + example = [ "192.168.0.1" "192.168.0.1 3939" "r.ripple.com 51235" ]; + description = '' + List of IP addresses or hostnames to which rippled should always + attempt to maintain peer connections with. This is useful for + manually forming private networks, for example to configure a + validation server that connects to the Ripple network through a + public-facing server, or for building a set of cluster peers. + + A port may optionally be specified after adding a space to the address + ''; + }; + */ + + peerIp = mkOption { + default = null; + example = "0.0.0.0"; + description = '' + IP address or domain to bind to allow external connections from peers. + Defaults to not binding, which disallows external connections from peers. + ''; + }; + + peerPort = mkOption { + default = 51235; + description = '' + If peerIp is supplied, corresponding port to bind to for peer connections. + ''; + }; + + /* + peerPortProxy = mkOption { + type = types.int; + example = 51236; + description = '' + An optional, additional listening port number for peers. Incoming + connections on this port will be required to provide a PROXY Protocol + handshake, described in this document (external link): + + http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt + + The PROXY Protocol is a popular method used by elastic load balancing + service providers such as Amazon, to identify the true IP address and + port number of external incoming connections. + + In addition to enabling this setting, it will also be required to + use your provider-specific control panel or administrative web page + to configure your server instance to receive PROXY Protocol handshakes, + and also to restrict access to your instance to the Elastic Load Balancer. + ''; + }; + + peerPrivate = mkOption { + default = null; + example = 0; + description = '' + 0: Request peers to broadcast your address. Normal outbound peer connections [default] + 1: Request peers not broadcast your address. Only connect to configured peers. + ''; + }; + + peerSslCipherList = mkOption { + default = null; + example = "ALL:!LOW:!EXP:!MD5:@STRENGTH"; + description = '' + A colon delimited string with the allowed SSL cipher modes for peer. The + choices for for ciphers are defined by the OpenSSL API function + SSL_CTX_set_cipher_list, documented here (external link): + + http://pic.dhe.ibm.com/infocenter/tpfhelp/current/index.jsp?topic=%2Fcom.ibm.ztpf-ztpfdf.doc_put.cur%2Fgtpc2%2Fcpp_ssl_ctx_set_cipher_list.html + + The default setting of "ALL:!LOW:!EXP:!MD5:@STRENGTH", which allows + non-authenticated peer connections (they are, however, secure). + ''; + }; + + nodeSeed = mkOption { + default = null; + example = "RASH BUSH MILK LOOK BAD BRIM AVID GAFF BAIT ROT POD LOVE"; + description = '' + This is used for clustering. To force a particular node seed or key, the + key can be set here. The format is the same as the validation_seed field. + To obtain a validation seed, use the rippled validation_create command. + ''; + }; + + clusterNodes = mkOption { + default = null; + example = [ "n9KorY8QtTdRx7TVDpwnG9NvyxsDwHUKUEeDLY3AkiGncVaSXZi5" ]; + description = '' + To extend full trust to other nodes, place their node public keys here. + Generally, you should only do this for nodes under common administration. + Node public keys start with an 'n'. To give a node a name for identification + place a space after the public key and then the name. + ''; + }; + + sntpServers = mkOption { + default = null; + example = [ "time.nist.gov" "pool.ntp.org" ]; + description = '' + IP address or domain of NTP servers to use for time synchronization. + ''; + }; + + # TODO: websocket options + + rpcAllowRemote = mkOption { + default = false; + description = '' + false: Allow RPC connections only from 127.0.0.1. [default] + true: Allow RPC connections from any IP. + ''; + }; + + rpcAdminAllow = mkOption { + example = [ "10.0.0.4" ]; + description = '' + List of IP addresses allowed to have admin access. + ''; + }; + + rpcAdminUser = mkOption { + type = types.str; + description = '' + As a server, require this as the admin user to be specified. Also, require + rpc_admin_user and rpc_admin_password to be checked for RPC admin functions. + The request must specify these as the admin_user and admin_password in the + request object. + ''; + }; + + rpcAdminPassword = mkOption { + type = types.str; + description = '' + As a server, require this as the admin pasword to be specified. Also, + require rpc_admin_user and rpc_admin_password to be checked for RPC admin + functions. The request must specify these as the admin_user and + admin_password in the request object. + ''; + }; + + rpcIp = mkOption { + type = types.str; + description = '' + IP address or domain to bind to allow insecure RPC connections. + Defaults to not binding, which disallows RPC connections. + ''; + }; + + rpcPort = mkOption { + type = types.int; + description = '' + If rpcIp is supplied, corresponding port to bind to for peer connections. + ''; + }; + + rpcUser = mkOption { + type = types.str; + description = '' + Require a this user to specified and require rpcPassword to + be checked for RPC access via the rpcIp and rpcPort. The user and password + must be specified via HTTP's basic authentication method. + As a client, supply this to the server via HTTP's basic authentication + method. + ''; + }; + + rpcPassword = mkOption { + type = types.str; + description = '' + Require a this password to specified and require rpc_user to + be checked for RPC access via the rpcIp and rpcPort. The user and password + must be specified via HTTP's basic authentication method. + As a client, supply this to the server via HTTP's basic authentication + method. + ''; + }; + + rpcStartup = mkOption { + example = [ ''"command" : "log_level"'' ''"partition" : "ripplecalc"'' ''"severity" : "trace"'' ]; + description = "List of RPC commands to run at startup."; + }; + + rpcSecure = mkOption { + default = false; + description = '' + false: Server certificates are not provided for RPC clients using SSL [default] + true: Client RPC connections wil be provided with SSL certificates. + + Note that if rpc_secure is enabled, it will also be necessasry to configure the + certificate file settings located in rpcSslCert, rpcSslChain, and rpcSslKey + ''; + }; + */ + + extraConfig = mkOption { + default = ""; + description = '' + Extra lines to be added verbatim to the rippled.cfg configuration file. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + environment = { + etc = singleton + { source = rippledStateCfgFile; + target = "rippled"; + }; + + # users can attempt to send RPC commands to the server. + systemPackages = [ pkgs.rippled ]; + }; + + users.extraUsers = singleton + { name = "rippled"; + description = "Ripple server user"; + uid = config.ids.uids.rippled; + home = "/var/lib/rippled"; + }; + + systemd.services.rippled = { + path = [ pkgs.rippled ]; + + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + ExecStart = "${pkgs.rippled}/bin/rippled --fg -q --conf ${rippledStateCfgFile}"; + WorkingDirectory = "/var/lib/rippled"; + }; + }; + + networking.firewall.allowedTCPPorts = mkIf (cfg.peerIp != null) [ cfg.peerPort ]; + + system.activationScripts.rippled = '' + mkdir -p /var/{lib,log}/rippled + chown -R rippled /var/{lib,log}/rippled + ln -sf ${rippledCfgFile} ${rippledStateCfgFile} + ''; + }; +} diff --git a/pkgs/servers/rippled/default.nix b/pkgs/servers/rippled/default.nix new file mode 100644 index 00000000000..66a0743b367 --- /dev/null +++ b/pkgs/servers/rippled/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, scons, pkgconfig, openssl, protobuf, boost155, zlib}: + +stdenv.mkDerivation rec { + name = "rippled-${version}"; + version = "0.23.0"; + + src = fetchurl { + url = "https://github.com/ripple/rippled/archive/${version}.tar.gz"; + sha256 = "0js734sk11jn19fyp403mk6p62azlc6s9kyhr5jfg466fiak537p"; + }; + + patches = [ ./scons-env.patch ]; + + buildInputs = [ scons pkgconfig openssl protobuf boost155 zlib ]; + + RIPPLED_BOOST_HOME = boost155.out; + RIPPLED_ZLIB_HOME = zlib.out; + buildPhase = "scons build/rippled"; + + installPhase = '' + mkdir -p $out/bin + cp build/rippled $out/bin/ + ''; + + meta = { + description = "Ripple P2P payment network reference server"; + homepage = "https://ripple.com"; + maintainers = stdenv.lib.maintainers.emery; + license = stdenv.lib.licenses.isc; + platforms = stdenv.lib.platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/servers/rippled/scons-env.patch b/pkgs/servers/rippled/scons-env.patch new file mode 100644 index 00000000000..5b80e77bb2e --- /dev/null +++ b/pkgs/servers/rippled/scons-env.patch @@ -0,0 +1,46 @@ +diff --git a/SConstruct b/SConstruct +index 8ba8bbd..95eab3b 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -24,6 +24,8 @@ USING_CLANG = OSX or os.environ.get('CC', None) == 'clang' + # + BOOST_HOME = os.environ.get("RIPPLED_BOOST_HOME", None) + ++ZLIB_HOME = os.environ.get("RIPPLED_ZLIB_HOME", None) ++ + + if OSX or Ubuntu or Debian or Archlinux: + CTAGS = 'ctags' +@@ -36,7 +38,7 @@ else: + # scons tools + # + +-HONOR_ENVS = ['CC', 'CXX', 'PATH'] ++HONOR_ENVS = ['CC', 'CXX', 'PATH', 'PKG_CONFIG_PATH'] + + env = Environment( + tools = ['default', 'protoc'], +@@ -156,8 +158,8 @@ INCLUDE_PATHS = [ + 'build/proto' + ] + +-# if BOOST_HOME: +-# INCLUDE_PATHS.append(BOOST_HOME) ++if BOOST_HOME: ++ INCLUDE_PATHS.append("%s/include" % BOOST_HOME) + + #------------------------------------------------------------------------------- + # +@@ -261,7 +263,11 @@ env.Append( + # such, as installed into `/usr/lib/` + if BOOST_HOME is not None: + env.Prepend( +- LIBPATH = ["%s/stage/lib" % BOOST_HOME]) ++ LIBPATH = ["%s/lib" % BOOST_HOME]) ++ ++if ZLIB_HOME is not None: ++ env.Prepend( ++ LIBPATH = ["%s/lib" % ZLIB_HOME]) + + if not OSX: + env.Append(LINKFLAGS = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index da2edad1e60..8a9228d15a2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6528,6 +6528,8 @@ let rethinkdb = callPackage ../servers/nosql/rethinkdb { }; + rippled = callPackage ../servers/rippled { }; + spamassassin = callPackage ../servers/mail/spamassassin { inherit (perlPackages) HTMLParser NetDNS NetAddrIP DBFile HTTPDate MailDKIM LWP IOSocketSSL; From 59124ddf95488c5de645c2e95f29c3c2349e85ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 30 Mar 2014 07:59:32 +0800 Subject: [PATCH 030/880] vimprobable2: update to 1.4.2 --- .../applications/networking/browsers/vimprobable2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix index 2a44449c750..f315f9ffa1a 100644 --- a/pkgs/applications/networking/browsers/vimprobable2/default.nix +++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix @@ -2,11 +2,11 @@ pkgconfig, webkit, gsettings_desktop_schemas }: stdenv.mkDerivation rec { - version = "1.2.1"; + version = "1.4.2"; name = "vimprobable2-${version}"; src = fetchurl { url = "mirror://sourceforge/vimprobable/vimprobable2_${version}.tar.bz2"; - sha256 = "19zx1k3s2gnhzzd2wpyqsk151w9p52ifl64xaz9a6qkgvrxlli8p"; + sha256 = "13jdximksh9r3cgd2f8vms0pbsn3x0gxvyqdqiw16xp5fmdx5kzr"; }; # Nixos default ca bundle From d14b9e9850b300208a0ab2d4387addf555273012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 30 Mar 2014 09:02:07 +0800 Subject: [PATCH 031/880] get rid of old webkit and webkit_gtk2 packages --- .../libraries/webkit/bison26.patch | 515 ------------------ pkgs/development/libraries/webkit/default.nix | 106 ---- pkgs/development/libraries/webkit/gtk2.nix | 109 ---- .../libraries/webkit/src-for-default.nix | 10 - .../libraries/webkit/src-for-gtk2.nix | 10 - .../libraries/webkit/src-for-svn.nix | 9 - .../libraries/webkit/src-info-for-default.nix | 6 - .../libraries/webkit/src-info-for-svn.nix | 6 - pkgs/top-level/all-packages.nix | 32 +- pkgs/top-level/python-packages.nix | 2 +- pkgs/top-level/release-python.nix | 1 - 11 files changed, 5 insertions(+), 801 deletions(-) delete mode 100644 pkgs/development/libraries/webkit/bison26.patch delete mode 100644 pkgs/development/libraries/webkit/default.nix delete mode 100644 pkgs/development/libraries/webkit/gtk2.nix delete mode 100644 pkgs/development/libraries/webkit/src-for-default.nix delete mode 100644 pkgs/development/libraries/webkit/src-for-gtk2.nix delete mode 100644 pkgs/development/libraries/webkit/src-for-svn.nix delete mode 100644 pkgs/development/libraries/webkit/src-info-for-default.nix delete mode 100644 pkgs/development/libraries/webkit/src-info-for-svn.nix diff --git a/pkgs/development/libraries/webkit/bison26.patch b/pkgs/development/libraries/webkit/bison26.patch deleted file mode 100644 index 95898adeb8a..00000000000 --- a/pkgs/development/libraries/webkit/bison26.patch +++ /dev/null @@ -1,515 +0,0 @@ -Index: /trunk/Source/WebCore/ChangeLog -=================================================================== ---- /trunk/Source/WebCore/ChangeLog (revision 124098) -+++ /trunk/Source/WebCore/ChangeLog (revision 124099) -@@ -1,2 +1,27 @@ -+2012-07-30 Alexis Menard -+ -+ Build fix with newer bison 2.6. -+ https://bugs.webkit.org/show_bug.cgi?id=92264 -+ -+ Reviewed by Adam Barth. -+ -+ As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html -+ YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS -+ version I had access to as well as recent Linux runs at least version 2.3 so it's safe -+ to use the replacement of these deprecated macros in favor of %lex-param and %parse-param. -+ As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release -+ of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore. -+ -+ No new tests : build fix and the patch should not trigger any regressions -+ -+ * css/CSSGrammar.y: -+ * css/CSSParser.cpp: -+ * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define. -+ * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h -+ therefore including this file within the namespace {} declarations leads to xpathyyparse being -+ defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp -+ (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs -+ to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same. -+ - 2012-07-30 Sadrul Habib Chowdhury - -Index: /trunk/Source/WebCore/css/CSSParser.cpp -=================================================================== ---- /trunk/Source/WebCore/css/CSSParser.cpp (revision 124098) -+++ /trunk/Source/WebCore/css/CSSParser.cpp (revision 124099) -@@ -115,5 +115,5 @@ - #endif - --extern int cssyyparse(void* parser); -+extern int cssyyparse(WebCore::CSSParser*); - - using namespace std; -Index: /trunk/Source/WebCore/css/CSSGrammar.y -=================================================================== ---- /trunk/Source/WebCore/css/CSSGrammar.y (revision 124098) -+++ /trunk/Source/WebCore/css/CSSGrammar.y (revision 124099) -@@ -54,11 +54,10 @@ - #define YYDEBUG 0 - --// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x --#define YYPARSE_PARAM parser --#define YYLEX_PARAM parser -- - %} - - %pure_parser -+ -+%parse-param { CSSParser* parser } -+%lex-param { CSSParser* parser } - - %union { -@@ -90,5 +89,5 @@ - %{ - --static inline int cssyyerror(const char*) -+static inline int cssyyerror(void*, const char*) - { - return 1; -Index: /trunk/Source/WebCore/xml/XPathParser.cpp -=================================================================== ---- /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124098) -+++ /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124099) -@@ -33,22 +33,19 @@ - #include "XPathException.h" - #include "XPathNSResolver.h" -+#include "XPathPath.h" - #include "XPathStep.h" - #include - #include - --int xpathyyparse(void*); -- -+using namespace WebCore; - using namespace WTF; - using namespace Unicode; -- --namespace WebCore { --namespace XPath { -- --class LocationPath; -- --#include "XPathGrammar.h" -+using namespace XPath; -+ -+extern int xpathyyparse(WebCore::XPath::Parser*); -+#include "XPathGrammar.h" - - Parser* Parser::currentParser = 0; -- -+ - enum XMLCat { NameStart, NameCont, NotPartOfName }; - -@@ -631,4 +628,2 @@ - } - --} --} -Index: /trunk/Source/WebCore/xml/XPathGrammar.y -=================================================================== ---- /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124098) -+++ /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124099) -@@ -35,4 +35,5 @@ - #include "XPathPath.h" - #include "XPathPredicate.h" -+#include "XPathStep.h" - #include "XPathVariableReference.h" - #include -@@ -45,6 +46,4 @@ - #define YYDEBUG 0 - #define YYMAXDEPTH 10000 --#define YYPARSE_PARAM parserParameter --#define PARSER static_cast(parserParameter) - - using namespace WebCore; -@@ -54,4 +53,5 @@ - - %pure_parser -+%parse-param { WebCore::XPath::Parser* parser } - - %union -@@ -72,5 +72,5 @@ - - static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); } --static void xpathyyerror(const char*) { } -+static void xpathyyerror(void*, const char*) { } - - %} -@@ -119,5 +119,5 @@ - OrExpr - { -- PARSER->m_topExpr = $1; -+ parser->m_topExpr = $1; - } - ; -@@ -139,5 +139,5 @@ - { - $$ = new LocationPath; -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - | -@@ -151,5 +151,5 @@ - $$ = $2; - $$->insertFirstStep($1); -- PARSER->unregisterParseNode($1); -+ parser->unregisterParseNode($1); - } - ; -@@ -160,6 +160,6 @@ - $$ = new LocationPath; - $$->appendStep($1); -- PARSER->unregisterParseNode($1); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->registerParseNode($$); - } - | -@@ -167,5 +167,5 @@ - { - $$->appendStep($3); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($3); - } - | -@@ -174,6 +174,6 @@ - $$->appendStep($2); - $$->appendStep($3); -- PARSER->unregisterParseNode($2); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($2); -+ parser->unregisterParseNode($3); - } - ; -@@ -184,9 +184,9 @@ - if ($2) { - $$ = new Step(Step::ChildAxis, *$1, *$2); -- PARSER->deletePredicateVector($2); -+ parser->deletePredicateVector($2); - } else - $$ = new Step(Step::ChildAxis, *$1); -- PARSER->deleteNodeTest($1); -- PARSER->registerParseNode($$); -+ parser->deleteNodeTest($1); -+ parser->registerParseNode($$); - } - | -@@ -195,6 +195,6 @@ - String localName; - String namespaceURI; -- if (!PARSER->expandQName(*$1, localName, namespaceURI)) { -- PARSER->m_gotNamespaceError = true; -+ if (!parser->expandQName(*$1, localName, namespaceURI)) { -+ parser->m_gotNamespaceError = true; - YYABORT; - } -@@ -202,9 +202,9 @@ - if ($2) { - $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2); -- PARSER->deletePredicateVector($2); -+ parser->deletePredicateVector($2); - } else - $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -213,9 +213,9 @@ - if ($3) { - $$ = new Step($1, *$2, *$3); -- PARSER->deletePredicateVector($3); -+ parser->deletePredicateVector($3); - } else - $$ = new Step($1, *$2); -- PARSER->deleteNodeTest($2); -- PARSER->registerParseNode($$); -+ parser->deleteNodeTest($2); -+ parser->registerParseNode($$); - } - | -@@ -224,6 +224,6 @@ - String localName; - String namespaceURI; -- if (!PARSER->expandQName(*$2, localName, namespaceURI)) { -- PARSER->m_gotNamespaceError = true; -+ if (!parser->expandQName(*$2, localName, namespaceURI)) { -+ parser->m_gotNamespaceError = true; - YYABORT; - } -@@ -231,9 +231,9 @@ - if ($3) { - $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3); -- PARSER->deletePredicateVector($3); -+ parser->deletePredicateVector($3); - } else - $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); -- PARSER->deleteString($2); -- PARSER->registerParseNode($$); -+ parser->deleteString($2); -+ parser->registerParseNode($$); - } - | -@@ -260,6 +260,6 @@ - $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest); - -- PARSER->deleteString($1); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->registerNodeTest($$); - } - | -@@ -267,6 +267,6 @@ - { - $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest); -- PARSER->deleteString($1); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->registerNodeTest($$); - } - | -@@ -274,7 +274,7 @@ - { - $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace()); -- PARSER->deleteString($1); -- PARSER->deleteString($3); -- PARSER->registerNodeTest($$); -+ parser->deleteString($1); -+ parser->deleteString($3); -+ parser->registerNodeTest($$); - } - ; -@@ -294,6 +294,6 @@ - $$ = new Vector; - $$->append(new Predicate($1)); -- PARSER->unregisterParseNode($1); -- PARSER->registerPredicateVector($$); -+ parser->unregisterParseNode($1); -+ parser->registerPredicateVector($$); - } - | -@@ -301,5 +301,5 @@ - { - $$->append(new Predicate($2)); -- PARSER->unregisterParseNode($2); -+ parser->unregisterParseNode($2); - } - ; -@@ -316,5 +316,5 @@ - { - $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - ; -@@ -324,5 +324,5 @@ - { - $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - | -@@ -330,5 +330,5 @@ - { - $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); -- PARSER->registerParseNode($$); -+ parser->registerParseNode($$); - } - ; -@@ -338,6 +338,6 @@ - { - $$ = new VariableReference(*$1); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -350,6 +350,6 @@ - { - $$ = new StringExpression(*$1); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -357,6 +357,6 @@ - { - $$ = new Number($1->toDouble()); -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -370,6 +370,6 @@ - if (!$$) - YYABORT; -- PARSER->deleteString($1); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->registerParseNode($$); - } - | -@@ -379,7 +379,7 @@ - if (!$$) - YYABORT; -- PARSER->deleteString($1); -- PARSER->deleteExpressionVector($3); -- PARSER->registerParseNode($$); -+ parser->deleteString($1); -+ parser->deleteExpressionVector($3); -+ parser->registerParseNode($$); - } - ; -@@ -390,6 +390,6 @@ - $$ = new Vector; - $$->append($1); -- PARSER->unregisterParseNode($1); -- PARSER->registerExpressionVector($$); -+ parser->unregisterParseNode($1); -+ parser->registerExpressionVector($$); - } - | -@@ -397,5 +397,5 @@ - { - $$->append($3); -- PARSER->unregisterParseNode($3); -+ parser->unregisterParseNode($3); - } - ; -@@ -413,7 +413,7 @@ - $$->addSubExpression($1); - $$->addSubExpression($3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -431,7 +431,7 @@ - $3->setAbsolute(true); - $$ = new Path(static_cast($1), $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - | -@@ -441,8 +441,8 @@ - $3->setAbsolute(true); - $$ = new Path(static_cast($1), $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($2); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($2); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -454,7 +454,7 @@ - { - $$ = new Filter($1, *$2); -- PARSER->unregisterParseNode($1); -- PARSER->deletePredicateVector($2); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->deletePredicateVector($2); -+ parser->registerParseNode($$); - } - ; -@@ -466,7 +466,7 @@ - { - $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -478,7 +478,7 @@ - { - $$ = new LogicalOp(LogicalOp::OP_And, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -490,7 +490,7 @@ - { - $$ = new EqTestOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -502,7 +502,7 @@ - { - $$ = new EqTestOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -514,7 +514,7 @@ - { - $$ = new NumericOp(NumericOp::OP_Add, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - | -@@ -522,7 +522,7 @@ - { - $$ = new NumericOp(NumericOp::OP_Sub, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -534,7 +534,7 @@ - { - $$ = new NumericOp($2, $1, $3); -- PARSER->unregisterParseNode($1); -- PARSER->unregisterParseNode($3); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($1); -+ parser->unregisterParseNode($3); -+ parser->registerParseNode($$); - } - ; -@@ -547,6 +547,6 @@ - $$ = new Negative; - $$->addSubExpression($2); -- PARSER->unregisterParseNode($2); -- PARSER->registerParseNode($$); -+ parser->unregisterParseNode($2); -+ parser->registerParseNode($$); - } - ; diff --git a/pkgs/development/libraries/webkit/default.nix b/pkgs/development/libraries/webkit/default.nix deleted file mode 100644 index ef4d259cb02..00000000000 --- a/pkgs/development/libraries/webkit/default.nix +++ /dev/null @@ -1,106 +0,0 @@ -args : with args; -let - s = import ./src-for-default.nix; # 1.8.3 needs newer gtk3, wait for x-updates - version = lib.attrByPath ["version"] s.version args; -in -rec { - src = fetchurl { - url = s.url; - sha256 = s.hash; - }; - - buildInputs = with xlibs; [ - pkgconfig libtool intltool autoconf automake gperf bison flex - gtk3 gtk2 glib atk cairo pango fontconfig freetype libsoup gtkdoc - libjpeg libpng libtiff libxml2 libxslt sqlite icu curl - which libproxy geoclue enchant python ruby perl - mesa libXt libXrender renderproto libXcomposite compositeproto - libXdamage damageproto kbproto - ]; - - propagatedBuildInputs = [ - gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good - ]; - - configureFlags = [ - # "--enable-3D-transforms" # no longer recognized - "--enable-web-sockets" - "--enable-web-timing" - - # https://bugs.webkit.org/show_bug.cgi?id=55294 - "--enable-image-resizer" - - "--enable-geolocation" - - # Not implemented? - # "--enable-web-audio" - - "--enable-mathml" - - #"--enable-wml" - - # https://bugs.webkit.org/show_bug.cgi?id=45110 - #"--enable-indexed-database" - - # Doesn't work in release... - #"--enable-xhtmlmp" - - # "--enable-input-speech" - - #"--enable-file-writer" # no longer recognized - "--enable-blob" - - # https://bugs.webkit.org/show_bug.cgi?id=59430 - # "--enable-directory-upload" - - # https://bugs.webkit.org/show_bug.cgi?id=58443 - # "--enable-file-system" - - "--enable-dependency-tracking" # to fix parallel building - ]; - - # instead of enableParallelBuilding = true; - makeFlags = "-j$NIX_BUILD_CORES"; - - /* doConfigure should be specified separately */ - phaseNames = ["doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") - "doReplaceUsrBin" "doMakeInstall" "doAddPrograms"]; - - patches = [ ./bison26.patch ]; # http://trac.webkit.org/changeset/124099 - patchFlags = "-p2"; - - #doCheck = true; # tests still have problems - - doReplaceUsrBin = fullDepEntry ('' - for i in $(find . -name '*.pl') $(find . -name '*.pm'); do - sed -e 's@/usr/bin/gcc@gcc@' -i $i - done - '') ["minInit" "doUnpack"]; - - doAddPrograms = fullDepEntry ('' - mkdir -p $out/bin - for i in Programs/.libs/* Programs/*; do - cp $i $out/bin/webkit-program-$(basename $i) || true - done - '') ["minInit" "doMake" "defEnsureDir"]; - - paranoidFixComments = fullDepEntry ('' - sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h') - '') ["minInit" "doUnpack"]; - - # See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html - fixConfigure = fullDepEntry ('' - sed -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \ - -e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \ - configure{,.ac} - '') ["minInit" "doUnpack"]; - - name = s.name; - meta = { - description = "WebKit - a fast and correct HTML renderer"; - maintainers = [stdenv.lib.maintainers.raskin]; - }; - passthru = { - inherit gstreamer gst_plugins_base gst_plugins_good gst_ffmpeg libsoup; - }; -} diff --git a/pkgs/development/libraries/webkit/gtk2.nix b/pkgs/development/libraries/webkit/gtk2.nix deleted file mode 100644 index c2e3b9b06dd..00000000000 --- a/pkgs/development/libraries/webkit/gtk2.nix +++ /dev/null @@ -1,109 +0,0 @@ - -args : with args; -let - s = import ./src-for-gtk2.nix; - version = lib.attrByPath ["version"] s.version args; -in -rec { - src = fetchurl { - url = s.url; - sha256 = s.hash; - }; - - buildInputs = with xlibs; [ - pkgconfig libtool intltool autoconf automake gperf bison flex - gtk2 glib atk cairo pango fontconfig freetype libsoup gtkdoc - libjpeg libpng libtiff libxml2 libxslt sqlite icu curl - which libproxy geoclue enchant python ruby perl - mesa libXt libXrender renderproto libXcomposite compositeproto - libXdamage damageproto kbproto - ]; - - propagatedBuildInputs = [ - gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good - ]; - - configureFlags = [ - "--with-gtk=2.0" - - # "--enable-3D-transforms" # no longer recognized - "--enable-web-sockets" - "--enable-web-timing" - - # https://bugs.webkit.org/show_bug.cgi?id=55294 - "--enable-image-resizer" - - "--enable-geolocation" - - # Not implemented? - # "--enable-web-audio" - - "--enable-mathml" - - #"--enable-wml" - - # https://bugs.webkit.org/show_bug.cgi?id=45110 - #"--enable-indexed-database" - - # Doesn't work in release... - #"--enable-xhtmlmp" - - # "--enable-input-speech" - - #"--enable-file-writer" # no longer recognized - "--enable-blob" - - # https://bugs.webkit.org/show_bug.cgi?id=59430 - # "--enable-directory-upload" - - # https://bugs.webkit.org/show_bug.cgi?id=58443 - # "--enable-file-system" - - "--enable-dependency-tracking" # to fix parallel building - ]; - - # instead of enableParallelBuilding = true; - makeFlags = "-j$NIX_BUILD_CORES"; - - /* doConfigure should be specified separately */ - phaseNames = ["doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".") - "doReplaceUsrBin" "doMakeInstall" "doAddPrograms"]; - - patches = [ ./bison26.patch ]; # http://trac.webkit.org/changeset/124099 - patchFlags = "-p2"; - - #doCheck = true; # tests still have problems - - doReplaceUsrBin = fullDepEntry ('' - for i in $(find . -name '*.pl') $(find . -name '*.pm'); do - sed -e 's@/usr/bin/gcc@gcc@' -i $i - done - '') ["minInit" "doUnpack"]; - - doAddPrograms = fullDepEntry ('' - mkdir -p $out/bin - for i in Programs/.libs/* Programs/*; do - cp $i $out/bin/webkit-program-$(basename $i) || true - done - '') ["minInit" "doMake" "defEnsureDir"]; - - paranoidFixComments = fullDepEntry ('' - sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h') - '') ["minInit" "doUnpack"]; - - # See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html - fixConfigure = fullDepEntry ('' - sed -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \ - -e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \ - configure{,.ac} - '') ["minInit" "doUnpack"]; - - name = s.name; - meta = { - description = "WebKit - a fast and correct HTML renderer"; - maintainers = [stdenv.lib.maintainers.raskin]; - }; - passthru = { - inherit gstreamer gst_plugins_base gst_plugins_good gst_ffmpeg libsoup; - }; -} diff --git a/pkgs/development/libraries/webkit/src-for-default.nix b/pkgs/development/libraries/webkit/src-for-default.nix deleted file mode 100644 index 65bcd435096..00000000000 --- a/pkgs/development/libraries/webkit/src-for-default.nix +++ /dev/null @@ -1,10 +0,0 @@ -rec { - version="1.8.1"; - name="webkit-1.8.1"; - hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls"; - url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz"; - advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz"; - - -} - diff --git a/pkgs/development/libraries/webkit/src-for-gtk2.nix b/pkgs/development/libraries/webkit/src-for-gtk2.nix deleted file mode 100644 index 65bcd435096..00000000000 --- a/pkgs/development/libraries/webkit/src-for-gtk2.nix +++ /dev/null @@ -1,10 +0,0 @@ -rec { - version="1.8.1"; - name="webkit-1.8.1"; - hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls"; - url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz"; - advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz"; - - -} - diff --git a/pkgs/development/libraries/webkit/src-for-svn.nix b/pkgs/development/libraries/webkit/src-for-svn.nix deleted file mode 100644 index f90bafbf6dc..00000000000 --- a/pkgs/development/libraries/webkit/src-for-svn.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="r86499"; - name="webkit-r86499"; - hash="04sfwri81x2d9y3z0v7rhrr40vn0bxcbnhb8a0gymqkwa1ngpzmp"; - url="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r86499.tar.bz2"; - advertisedUrl="http://builds.nightly.webkit.org/files/trunk/src/WebKit-r86499.tar.bz2"; - - -} diff --git a/pkgs/development/libraries/webkit/src-info-for-default.nix b/pkgs/development/libraries/webkit/src-info-for-default.nix deleted file mode 100644 index c4e5b8a6fd6..00000000000 --- a/pkgs/development/libraries/webkit/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://webkitgtk.org/?page=download"; - versionExtractorSedScript = "s/.*-([.0-9]+)[.].*/\\1/"; - versionReferenceCreator = "s/-([.0-9.]+)[.]/-\${version}./"; - baseName = "webkit"; -} diff --git a/pkgs/development/libraries/webkit/src-info-for-svn.nix b/pkgs/development/libraries/webkit/src-info-for-svn.nix deleted file mode 100644 index 994cae544cb..00000000000 --- a/pkgs/development/libraries/webkit/src-info-for-svn.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://nightly.webkit.org/"; - versionExtractorSedScript = "s/.*-(r[0-9]+)[.].*/\\1/"; - versionReferenceCreator = "s/-(r[0-9.]+)[.]/-\${version}./"; - baseName = "webkit"; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e3b34243d4d..31456b94cbd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5909,28 +5909,7 @@ let wayland = callPackage ../development/libraries/wayland { }; - webkit = - builderDefsPackage ../development/libraries/webkit { - inherit gtk2; # for plugins etc. even with gtk3, see Gentoo ebuild - inherit gtk3 glib atk cairo pango fontconfig freetype; - inherit (gnome) gtkdoc libsoup; - inherit pkgconfig libtool intltool autoconf automake gperf flex - libjpeg libpng libtiff libxml2 libxslt sqlite icu curl - which libproxy geoclue enchant python ruby perl mesa xlibs; - inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good; - bison = bison2; - }; - - webkit_gtk2 = - builderDefsPackage ../development/libraries/webkit/gtk2.nix { - inherit gtk2 glib atk cairo pango fontconfig freetype; - inherit (gnome) gtkdoc libsoup; - inherit pkgconfig libtool intltool autoconf automake gperf flex - libjpeg libpng libtiff libxml2 libxslt sqlite icu curl - which libproxy geoclue enchant python ruby perl mesa xlibs; - inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good; - bison = bison2; - }; + webkit = webkitgtk; webkitgtk = callPackage ../development/libraries/webkitgtk { harfbuzz = harfbuzz.override { @@ -9064,8 +9043,7 @@ let }); surf = callPackage ../applications/misc/surf { - libsoup = gnome.libsoup; - webkit = webkit_gtk2; + webkit = webkitgtk2; }; svk = perlPackages.SVK; @@ -10612,8 +10590,7 @@ let vimPlugins = callPackage ../misc/vim-plugins { }; vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 { - inherit (gnome) libsoup; - webkit = webkit_gtk2; + webkit = webkitgtk2; }; vimprobable2Wrapper = wrapFirefox @@ -10621,8 +10598,7 @@ let }; vimb = callPackage ../applications/networking/browsers/vimb { - inherit (gnome) libsoup; - webkit = webkit_gtk2; + webkit = webkitgtk2; }; vimbWrapper = wrapFirefox { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5a4be8d1704..4605a2dadd7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5848,7 +5848,7 @@ rec { }; buildInputs = with pkgs; [ - pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkit_gtk2 icu + pkgconfig python gtk2 pygtk libxml2 libxslt libsoup webkitgtk2 icu ]; meta = { diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix index 8eb08d25983..dfdbb1db8bd 100644 --- a/pkgs/top-level/release-python.nix +++ b/pkgs/top-level/release-python.nix @@ -1724,7 +1724,6 @@ let wavesurfer = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; wdfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; webkit = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; - webkit_gtk2 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; weechat = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; welkin = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; wesnoth = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; From 6e7fe59bb13a2e3bf05516c559fbf4272a0331d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 30 Mar 2014 09:52:36 +0800 Subject: [PATCH 032/880] uzbl: build with webkitgtk2, cleanup --- .../networking/browsers/uzbl/default.nix | 71 ++++++++----------- pkgs/top-level/all-packages.nix | 8 +-- 2 files changed, 33 insertions(+), 46 deletions(-) diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix index 4c6458d909f..ba9c8bde37a 100644 --- a/pkgs/applications/networking/browsers/uzbl/default.nix +++ b/pkgs/applications/networking/browsers/uzbl/default.nix @@ -1,45 +1,36 @@ -a : -let - fetchgit = a.fetchgit; +{ stdenv, fetchurl, pkgconfig, python, makeWrapper +, webkit, glib_networking, gsettings_desktop_schemas +}: - buildInputs = with a; [ - libsoup pkgconfig webkit gtk makeWrapper - kbproto glib pango cairo gdk_pixbuf atk - python3 - ]; -in -rec { - src = fetchgit { - url = "https://github.com/Dieterbe/uzbl.git"; - rev = "refs/tags/2012.05.14"; - sha256 = "1crvikb0qqsx5qb003i4w7ywh72psl37gjslrj5hx2fd2f215l0l"; - }; +stdenv.mkDerivation rec { + name = "uzbl-20120514"; - name = "uzbl-git"; - - inherit buildInputs; - configureFlags = []; - - /* doConfigure should be removed if not needed */ - phaseNames = ["addInputs" "setVars" "doMakeInstall" "doWrap"]; - - setVars = a.noDepEntry ('' - export NIX_LDFLAGS="$NIX_LDFLAGS -L${a.libX11}/lib -lX11" - ''); - - doWrap = a.makeManyWrappers "$out/bin/uzbl-core" - '' - --prefix GST_PLUGIN_PATH : ${a.webkit.gstreamer}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_plugins_base}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_plugins_good}/lib/gstreamer-* \ - --prefix GST_PLUGIN_PATH : ${a.webkit.gst_ffmpeg}/lib/gstreamer-* \ - --prefix GIO_EXTRA_MODULES : ${a.glib_networking}/lib/gio/modules - ''; - - installFlags = "PREFIX=$out PYINSTALL_EXTRA=\"--prefix=$out\""; - - meta = { + meta = with stdenv.lib; { description = "Tiny externally controllable webkit browser"; - maintainers = [a.lib.maintainers.raskin]; + homepage = "http://uzbl.org/"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ raskin ]; }; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://github.com/uzbl/uzbl/archive/2012.05.14.tar.gz"; + sha256 = "1flpf0rg0c3n9bjifr37zxljn9yxslg8vkll7ghkm341x76cbkwn"; + }; + + preConfigure = '' + makeFlags="$makeFlags PREFIX=$out" + makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out" + ''; + + postInstall = '' + wrapProgram $out/bin/uzbl-core \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" + ''; + + nativeBuildInputs = [ pkgconfig python makeWrapper ]; + + buildInputs = [ webkit ]; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 31456b94cbd..6aec2cf19a2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9162,12 +9162,8 @@ let uwimap = callPackage ../tools/networking/uwimap { }; - uzbl = builderDefsPackage (import ../applications/networking/browsers/uzbl) { - inherit pkgconfig webkit makeWrapper glib_networking python3; - inherit glib pango cairo gdk_pixbuf atk; - inherit (xlibs) libX11 kbproto; - inherit (gnome) libsoup; - gtk = gtk3; + uzbl = callPackage ../applications/networking/browsers/uzbl { + webkit = webkitgtk2; }; vanitygen = callPackage ../applications/misc/vanitygen { }; From b894dfffb3f1b6f9051ea0b649a05b4ad4ccf12f Mon Sep 17 00:00:00 2001 From: Joachim Schiele Date: Sun, 30 Mar 2014 13:00:25 +0200 Subject: [PATCH 033/880] added mtpfs to mount MTP devices via usb using FUSE --- pkgs/tools/filesystems/mtpfs/default.nix | 26 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 +++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/tools/filesystems/mtpfs/default.nix diff --git a/pkgs/tools/filesystems/mtpfs/default.nix b/pkgs/tools/filesystems/mtpfs/default.nix new file mode 100644 index 00000000000..7725b0d7af8 --- /dev/null +++ b/pkgs/tools/filesystems/mtpfs/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, pkgconfig, fuse, libmtp, glib, libmad, libid3tag }: + +stdenv.mkDerivation rec { + name = "mtpfs-1.1"; + + buildInputs = [ pkgconfig fuse libmtp glib libid3tag libmad ]; + + # adding LIBS is a hack, duno why it does not find libid3tag.so by adding buildInputs + preConfigure = '' + export MAD_CFLAGS=${libmad}/include + export MAD_LIBS=${libmad}/lib/libmad.so + export LIBS=${libid3tag}/lib/libid3tag.so + ''; + + src = fetchurl { + url = "http://www.adebenham.com/files/mtp/${name}.tar.gz"; + sha256 = "07acrqb17kpif2xcsqfqh5j4axvsa4rnh6xwnpqab5b9w5ykbbqv"; + }; + + meta = { + homepage = https://code.google.com/p/mtpfs/; + description = "FUSE Filesystem providing access to MTP devices"; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.qknight ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index da2edad1e60..59c234a4865 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4929,6 +4929,7 @@ let libmtp = callPackage ../development/libraries/libmtp { }; + libmsgpack = callPackage ../development/libraries/libmsgpack { }; libnatspec = callPackage ../development/libraries/libnatspec { }; @@ -5375,6 +5376,8 @@ let mtdev = callPackage ../development/libraries/mtdev { }; + mtpfs = callPackage ../tools/filesystems/mtpfs { }; + mu = callPackage ../tools/networking/mu { texinfo = texinfo4; }; From 7ebd856a3801d35872c60b112fce51132b45aff5 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 31 Mar 2014 19:16:52 +0200 Subject: [PATCH 034/880] Provide nixos-container unconditionally --- nixos/modules/virtualisation/containers.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 7e45d9f8b22..16df108c21e 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -267,9 +267,7 @@ in ${cfg.localAddress} ${name}.containers '') config.containers); - environment.systemPackages = optional (config.containers != {}) nixos-container; - - system.build.foo = nixos-container; + environment.systemPackages = [ nixos-container ]; }; } From bdb658d033df47c97a0cdbe9628fdcf8c086e149 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 31 Mar 2014 19:17:17 +0200 Subject: [PATCH 035/880] nixpkgs-lint: Tweak --- maintainers/scripts/nixpkgs-lint.pl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/maintainers/scripts/nixpkgs-lint.pl b/maintainers/scripts/nixpkgs-lint.pl index d74f5c740f5..7e9ff91ebe0 100755 --- a/maintainers/scripts/nixpkgs-lint.pl +++ b/maintainers/scripts/nixpkgs-lint.pl @@ -31,8 +31,7 @@ GetOptions("package|p=s" => \$filter, "maintainer|m=s" => \$maintainer, "file|f=s" => \$path, "help" => sub { showHelp() } - ) - or die("syntax: $0 ...\n"); + ) or exit 1; # Evaluate Nixpkgs into an XML representation. my $xml = `nix-env -f '$path' -qa '$filter' --xml --meta --drv-path`; From 6da72a4456ea7cc12219c962739f279e5060fd66 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 31 Mar 2014 19:21:36 +0200 Subject: [PATCH 036/880] nixos-container: Rewrite in Perl Also fix race condition when multiple containers are created simultaneously (as NixOps tends to do). --- nixos/modules/virtualisation/containers.nix | 5 +- .../modules/virtualisation/nixos-container.pl | 198 ++++++++++++++++++ .../modules/virtualisation/nixos-container.sh | 171 --------------- 3 files changed, 201 insertions(+), 173 deletions(-) create mode 100644 nixos/modules/virtualisation/nixos-container.pl delete mode 100644 nixos/modules/virtualisation/nixos-container.sh diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 16df108c21e..9964cd431cd 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -18,8 +18,9 @@ let name = "nixos-container"; dir = "bin"; isExecutable = true; - src = ./nixos-container.sh; - inherit (pkgs) bash socat; + src = ./nixos-container.pl; + perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; + inherit (pkgs) socat; }; in diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl new file mode 100644 index 00000000000..dfc856e8b66 --- /dev/null +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -0,0 +1,198 @@ +#! @perl@ + +use strict; +use File::Path; +use File::Slurp; +use Fcntl ':flock'; +use Getopt::Long qw(:config gnu_getopt); + +my $socat = '@socat@/bin/socat'; + +# Parse the command line. + +sub showHelp { + print < [--config ] [--ensure-unique-name] + nixos-container destroy + nixos-container start + nixos-container stop + nixos-container login + nixos-container root-shell + nixos-container set-root-password + nixos-container show-ip +EOF + exit 0; +} + +my $ensureUniqueName = 0; +my $extraConfig = ""; + +GetOptions( + "help" => sub { showHelp() }, + "ensure-unique-name" => \$ensureUniqueName, + "config=s" => \$extraConfig + ) or exit 1; + +my $action = $ARGV[0] or die "$0: no action specified\n"; + + +# Execute the selected action. + +mkpath("/etc/containers", 0, 0755); +mkpath("/var/lib/containers", 0, 0700); + +if ($action eq "list") { + foreach my $confFile (glob "/etc/containers/*.conf") { + $confFile =~ /\/([^\/]+).conf$/ or next; + print "$1\n"; + } + exit 0; +} + +my $containerName = $ARGV[1] or die "$0: no container name specified\n"; +$containerName =~ /^[a-zA-Z0-9\-]+$/ or die "$0: invalid container name\n"; + +if ($action eq "create") { + # Acquire an exclusive lock to prevent races with other + # invocations of ‘nixos-container create’. + my $lockFN = "/run/lock/nixos-container"; + open(my $lock, '>>', $lockFN) or die "$0: opening $lockFN: $!"; + flock($lock, LOCK_EX) or die "$0: could not lock $lockFN: $!"; + + my $confFile = "/etc/containers/$containerName.conf"; + my $root = "/var/lib/containers/$containerName"; + + # Maybe generate a unique name. + if ($ensureUniqueName) { + my $base = $containerName; + for (my $nr = 0; ; $nr++) { + $containerName = "$base-$nr"; + $confFile = "/etc/containers/$containerName.conf"; + $root = "/var/lib/containers/$containerName"; + last unless -e $confFile || -e $root; + } + } + + die "$0: container ‘$containerName’ already exists\n" if -e $confFile; + + # Get an unused IP address. + my %usedIPs; + foreach my $confFile2 (glob "/etc/containers/*.conf") { + my $s = read_file($confFile2) or die; + $usedIPs{$1} = 1 if $s =~ /^HOST_ADDRESS=([0-9\.]+)$/m; + $usedIPs{$1} = 1 if $s =~ /^LOCAL_ADDRESS=([0-9\.]+)$/m; + } + + my ($ipPrefix, $hostAddress, $localAddress); + for (my $nr = 1; $nr < 255; $nr++) { + $ipPrefix = "10.233.$nr"; + $hostAddress = "$ipPrefix.1"; + $localAddress = "$ipPrefix.2"; + last unless $usedIPs{$hostAddress} || $usedIPs{$localAddress}; + $ipPrefix = undef; + } + + die "$0: out of IP addresses\n" unless defined $ipPrefix; + + my @conf; + push @conf, "PRIVATE_NETWORK=1\n"; + push @conf, "HOST_ADDRESS=$hostAddress\n"; + push @conf, "LOCAL_ADDRESS=$localAddress\n"; + write_file($confFile, \@conf); + + close($lock); + + print STDERR "host IP is $hostAddress, container IP is $localAddress\n"; + + mkpath("$root/etc/nixos", 0, 0755); + + my $nixosConfig = < ]; + $extraConfig +} +EOF + my $nixosConfigFile = "$root/etc/nixos/configuration.nix"; + write_file($nixosConfigFile, $nixosConfig); + + # The per-container directory is restricted to prevent users on + # the host from messing with guest users who happen to have the + # same uid. + my $profileDir = "/nix/var/nix/profiles/per-container"; + mkpath($profileDir, 0, 0700); + $profileDir = "$profileDir/$containerName"; + mkpath($profileDir, 0, 0755); + + system("nix-env", "-p", "$profileDir/system", + "-I", "nixos-config=$nixosConfigFile", "-f", "", + "--set", "-A", "system") == 0 + or die "$0: failed to build initial container configuration\n"; + + print "$containerName\n" if $ensureUniqueName; + exit 0; +} + +my $confFile = "/etc/containers/$containerName.conf"; +die "$0: container ‘$containerName’ does not exist\n" if !-e $confFile; + +sub stopContainer { + system("systemctl", "stop", "container\@$containerName") == 0 + or die "$0: failed to stop container\n"; +} + +if ($action eq "destroy") { + my $root = "/var/lib/containers/$containerName"; + my $profileDir = "/nix/var/nix/profiles/per-container/$containerName"; + + my $status = `systemctl show 'container\@$containerName'`; + stopContainer if $status =~ /ActiveState=active/; + + rmtree($profileDir) if -e $profileDir; + rmtree($root) if -e $root; + unlink($confFile) or die; +} + +elsif ($action eq "start") { + system("systemctl", "start", "container\@$containerName") == 0 + or die "$0: failed to start container\n"; +} + +elsif ($action eq "stop") { + stopContainer; +} + +elsif ($action eq "login") { + exec($socat, "unix:/var/lib/containers/$containerName/var/lib/login.socket", "-,echo=0,raw"); +} + +elsif ($action eq "root-shell") { + exec($socat, "unix:/var/lib/containers/$containerName/var/lib/root-shell.socket", "-"); +} + +elsif ($action eq "set-root-password") { + # FIXME: don't get password from the command line. + my $password = $ARGV[2] or die "$0: no password given\n"; + open(SOCAT, "|-", $socat, "unix:/var/lib/containers/$containerName/var/lib/root-shell.socket", "-"); + print SOCAT "passwd\n"; + print SOCAT "$password\n"; + print SOCAT "$password\n"; + close(SOCAT); +} + +elsif ($action eq "show-ip") { + my $s = read_file($confFile) or die; + $s =~ /^LOCAL_ADDRESS=([0-9\.]+)$/m or die "$0: cannot get IP address\n"; + print "$1\n"; +} + +else { + die "$0: unknown action ‘$action’\n"; +} diff --git a/nixos/modules/virtualisation/nixos-container.sh b/nixos/modules/virtualisation/nixos-container.sh deleted file mode 100644 index 47abf96072f..00000000000 --- a/nixos/modules/virtualisation/nixos-container.sh +++ /dev/null @@ -1,171 +0,0 @@ -#! @bash@/bin/sh -e - -usage() { - echo "Usage: $0 list" >&2 - echo " $0 create [--config ] [--ensure-unique-name]" >&2 - echo " $0 update " >&2 - echo " $0 destroy " >&2 - echo " $0 login " >&2 - echo " $0 root-shell " >&2 - echo " $0 set-root-password " >&2 - echo " $0 show-ip " >&2 -} - -args="`getopt --options '' -l help -l config: -l ensure-unique-name -- "$@"`" -eval "set -- $args" -extraConfig= -ensureUniqueName= -while [ $# -gt 0 ]; do - case "$1" in - (--help) usage; exit 0;; - (--config) shift; extraConfig=$1;; - (--ensure-unique-name) ensureUniqueName=1;; - (--) shift; break;; - (*) break;; - esac - shift -done - -action="$1" -if [ -z "$action" ]; then usage; exit 1; fi -shift - -getContainerRoot() { - root="/var/lib/containers/$container" - if ! [ -d "$root" ]; then - echo "$0: container ‘$container’ does not exist" >&2 - exit 1 - fi -} - -if [ $action = list ]; then - for i in $(cd /etc/containers && echo *.conf); do - echo "$(basename "$i" .conf)" - done - exit 0 -fi - -container="$1" -if [ -z "$container" ]; then usage; exit 1; fi -shift - -if [ $action = create ]; then - - if [ -n "$ensureUniqueName" ]; then - # FIXME: race - nr=0 - while [ -e "/etc/containers/$container-$nr.conf" -o -e "/var/lib/containers/$container-$nr" ]; do - : $((nr++)) - done - container="$container-$nr" - fi - - confFile="/etc/containers/$container.conf" - root="/var/lib/containers/$container" - - if [ -e "$confFile" -o -e "$root/nix" ]; then - echo "$0: container ‘$container’ already exists" >&2 - exit 1 - fi - - profileDir="/nix/var/nix/profiles/per-container/$container" - mkdir -m 0755 -p "$root/etc/nixos" "$profileDir" - - config=" -{ config, pkgs, ... }: - -with pkgs.lib; - -{ boot.isContainer = true; - security.initialRootPassword = mkDefault \"!\"; - networking.hostName = mkDefault \"$container\"; - networking.useDHCP = false; - imports = [ ]; - $extraConfig -}" - configFile="$root/etc/nixos/configuration.nix" - echo "$config" > "$configFile" - - nix-env -p "$profileDir/system" -I "nixos-config=$configFile" -f '' --set -A system - - # Allocate a new /8 network in the 10.233.* range. FIXME: race - network="$(sed -e 's/.*_ADDRESS=10\.233\.\(.*\)\..*/\1/; t; d' /etc/containers/*.conf | sort -n | tail -n1)" - if [ -z "$network" ]; then network=0; else : $((network++)); fi - - hostAddress="10.233.$network.1" - localAddress="10.233.$network.2" - echo "host IP is $hostAddress, container IP is $localAddress" >&2 - - cat > "$confFile" <&2 - systemctl start "container@$container.service" - - # Print generated container name on stdout. - if [ -n "$ensureUniqueName" ]; then - echo "$container" - fi - -elif [ $action = update ]; then - - getContainerRoot - - configFile="$root/etc/nixos/configuration.nix" - profileDir="/nix/var/nix/profiles/per-container/$container" - - nix-env -p "$profileDir/system" -I "nixos-config=$configFile" -f '' --set -A system - - echo "reloading container@$container.service..." >&2 - systemctl reload "container@$container.service" - -elif [ $action = destroy ]; then - - getContainerRoot - - confFile="/etc/containers/$container.conf" - if [ -e "$confFile" -a ! -w "$confFile" ]; then - echo "$0: cannot destroy declarative container (remove it from your configuration.nix instead)" - exit 1 - fi - - if systemctl show "container@$container.service" | grep -q ActiveState=active; then - echo "stopping container@$container.service..." >&2 - systemctl stop "container@$container.service" - fi - - rm -f "$confFile" - rm -rf "$root" - -elif [ $action = login ]; then - - getContainerRoot - exec @socat@/bin/socat "unix:$root/var/lib/login.socket" -,echo=0,raw - -elif [ $action = root-shell ]; then - - getContainerRoot - exec @socat@/bin/socat "unix:$root/var/lib/root-shell.socket" - - -elif [ $action = set-root-password ]; then - - password="$1" - if [ -z "$password" ]; then usage; exit 1; fi - - # FIXME: not very secure. - getContainerRoot - (echo "passwd"; echo "$password"; echo "$password") | @socat@/bin/socat "unix:$root/var/lib/root-shell.socket" - - -elif [ $action = show-ip ]; then - - getContainerRoot - . "/etc/containers/$container.conf" - echo "$LOCAL_ADDRESS" - -else - echo "$0: unknown action ‘$action’" >&2 - exit 1 -fi From def448f127ddc6383f1811de74eb04bf28615018 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 31 Mar 2014 22:59:01 -0400 Subject: [PATCH 037/880] rippled: added comment on commented out config options --- nixos/modules/services/misc/rippled.nix | 32 ++++++++----------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/nixos/modules/services/misc/rippled.nix b/nixos/modules/services/misc/rippled.nix index 7d339a48b97..e4d1caa565c 100644 --- a/nixos/modules/services/misc/rippled.nix +++ b/nixos/modules/services/misc/rippled.nix @@ -18,18 +18,6 @@ let /var/log/rippled/debug.log '' - /* - + optionalString (cfg.ips != null) '' - [ips] - ${concatStringsSep "\n" cfg.ips} - - '' - + optionalString (cfg.ipsFixed != null) '' - [ips_fixed] - ${concatStringsSep "\n" cfg.ipsFixed} - - '' - */ + optionalString (cfg.peerIp != null) '' [peer_ip] ${cfg.peerIp} @@ -57,6 +45,16 @@ in description = "Whether to enable rippled"; }; + # + # Rippled has a simple configuration file layout that is easy to + # build with nix. Many of the options are defined here but are + # commented out until the code to append them to the config above + # is written and they are tested. + # + # If you find a yourself implementing more options, please submit a + # pull request. + # + /* ips = mkOption { default = [ "r.ripple.com 51235" ]; @@ -286,16 +284,6 @@ in config = mkIf cfg.enable { - environment = { - etc = singleton - { source = rippledStateCfgFile; - target = "rippled"; - }; - - # users can attempt to send RPC commands to the server. - systemPackages = [ pkgs.rippled ]; - }; - users.extraUsers = singleton { name = "rippled"; description = "Ripple server user"; From ede097adcb7716e45b277cd2be14c8e3bd361939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 1 Apr 2014 11:11:46 +0800 Subject: [PATCH 038/880] miro: build with webkitgtk2 --- pkgs/applications/video/miro/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix index 14aeca62a71..528eeff7e23 100644 --- a/pkgs/applications/video/miro/default.nix +++ b/pkgs/applications/video/miro/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, python, buildPythonPackage, pythonPackages, pkgconfig -, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkit_gtk2, libsoup, pygtk +, pyrex096, ffmpeg, boost, glib, pygobject, gtk2, webkitgtk2, libsoup, pygtk , taglib, pysqlite, pycurl, mutagen, pycairo, pythonDBus, pywebkitgtk -, libtorrentRasterbar +, libtorrentRasterbar, glib_networking, gsettings_desktop_schemas , gst_python, gst_plugins_base, gst_plugins_good, gst_ffmpeg }: @@ -22,9 +22,6 @@ buildPythonPackage rec { patches = [ ./gconf.patch ]; postPatch = '' - sed -i -e '2i import os; os.environ["GST_PLUGIN_PATH"] = \\\ - '"'$GST_PLUGIN_PATH'" miro.real - sed -i -e 's/\$(shell which python)/python/' Makefile sed -i -e 's|/usr/bin/||' -e 's|/usr||' \ -e 's/BUILD_TIME[^,]*/BUILD_TIME=0/' setup.py @@ -55,10 +52,14 @@ buildPythonPackage rec { postInstall = '' mv "$out/bin/miro.real" "$out/bin/miro" + wrapProgram "$out/bin/miro" \ + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \ + --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ + --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" ''; buildInputs = [ - pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkit_gtk2 libsoup + pkgconfig pyrex096 ffmpeg boost glib pygobject gtk2 webkitgtk2 libsoup pygtk taglib ]; From 9493159017858013b7f7c33a158fa6973bed705c Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 1 Apr 2014 00:56:23 -0500 Subject: [PATCH 039/880] kernel: remove 3.11 series (EOL) Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/linux-3.11.nix | 17 ----------------- pkgs/top-level/all-packages.nix | 10 ---------- 2 files changed, 27 deletions(-) delete mode 100644 pkgs/os-specific/linux/kernel/linux-3.11.nix diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.11.nix deleted file mode 100644 index 6c3c37663c6..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-3.11.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, fetchurl, ... } @ args: - -import ./generic.nix (args // rec { - version = "3.11.10"; - extraMeta.branch = "3.11"; - - src = fetchurl { - url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "00g4rbkjsmyzzm9zmdll8qqs1mffa0pybwjpn9jnli2kgh9inzyb"; - }; - - features.iwlwifi = true; - features.efiBootStub = true; - features.needsCifsUtils = true; - features.canDisableNetfilterConntrackHelpers = true; - features.netfilterRPFilter = true; -}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e2bb49f63b0..573b7042705 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6941,15 +6941,6 @@ let ''; }); - linux_3_11 = makeOverridable (import ../os-specific/linux/kernel/linux-3.11.nix) { - inherit fetchurl stdenv perl buildLinux; - kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") - [ kernelPatches.mips_fpureg_emu - kernelPatches.mips_fpu_sigill - kernelPatches.mips_ext3_n32 - ]; - }; - linux_3_12 = makeOverridable (import ../os-specific/linux/kernel/linux-3.12.nix) { inherit fetchurl stdenv perl buildLinux; kernelPatches = lib.optionals ((platform.kernelArch or null) == "mips") @@ -7069,7 +7060,6 @@ let linuxPackages_3_6_rpi = linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi; linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; - linuxPackages_3_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_11 linuxPackages_3_11); linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); linuxPackages_3_13_grsecurity = linuxPackagesFor pkgs.linux_3_13_grsecurity linuxPackages_3_13_grsecurity; linuxPackages_3_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_13 linuxPackages_3_13); From bdff718c5beac36c46f9d1e458ef25a50aef752c Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 1 Apr 2014 01:10:28 -0500 Subject: [PATCH 040/880] kernel: add lockdep expression Lockdep is the kernel's locking validation/debugging tool and has seen heavy pro-active usage and development. In Linux 3.14, it's now available directly to userspace for the same purpose. It comes with a convenient utility to LD_PRELOAD a shared library for validation, or a user-space API to link to directly. Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/lockdep.nix | 25 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/os-specific/linux/kernel/lockdep.nix diff --git a/pkgs/os-specific/linux/kernel/lockdep.nix b/pkgs/os-specific/linux/kernel/lockdep.nix new file mode 100644 index 00000000000..4b1805fc39e --- /dev/null +++ b/pkgs/os-specific/linux/kernel/lockdep.nix @@ -0,0 +1,25 @@ +{ stdenv, kernel }: + +assert stdenv.lib.versionAtLeast kernel.version "3.14"; +stdenv.mkDerivation { + name = "lockdep-linux-${kernel.version}"; + inherit (kernel) src patches; + + preConfigure = "cd tools/lib/lockdep"; + installPhase = '' + mkdir -p $out/bin $out/lib $out/include + + cp -R include/liblockdep $out/include + make install DESTDIR=$out prefix="" + + substituteInPlace $out/bin/lockdep --replace "./liblockdep.so" "$out/lib/liblockdep.so" + ''; + + meta = { + description = "User-space locking validation via the kernel"; + homepage = "https://kernel.org/"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 573b7042705..b0405bbd656 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7031,6 +7031,8 @@ let perf = callPackage ../os-specific/linux/kernel/perf.nix { }; + lockdep = callPackage ../os-specific/linux/kernel/lockdep.nix { }; + psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { }; spl = callPackage ../os-specific/linux/spl/default.nix { }; From 51e449aabbc922faa00dc7b5cbd0f106eba7f928 Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 1 Apr 2014 09:33:04 +0200 Subject: [PATCH 041/880] chromium: Fix build of beta and dev channels. Okay, now this time we really broke beta and dev, because python_arch no longer is in build/common.gypi anymore. This just adds chrome/chrome_tests.gypi to the list of files to be changed by sed. Also, this time I did test at least whether gyp is running fine and interrupted after the first 1000 build targets, so all channels *should* now build fine. Signed-off-by: aszlig --- pkgs/applications/networking/browsers/chromium/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index c4040ec0356..213e75ee6ef 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -55,7 +55,7 @@ let -e 's/-f(stack-protector)(-all)?/-fno-\1/' \ -e 's|/bin/echo|echo|' \ -e "/python_arch/s/: *'[^']*'/: '""'/" \ - build/common.gypi + build/common.gypi chrome/chrome_tests.gypi sed -i '/not RunGN/,+1d' build/gyp_chromium sed -i -e 's|/usr/bin/gcc|gcc|' \ third_party/WebKit/Source/build/scripts/scripts.gypi \ From 1459896be15887fe093932de18f8179aa2a32868 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 1 Apr 2014 02:59:20 -0500 Subject: [PATCH 042/880] kernel: add myself to maintainer list Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/manual-config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index dd199814760..6805355052a 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -198,6 +198,7 @@ let repositories.git = https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git; maintainers = [ maintainers.shlevy + maintainers.thoughtpolice ]; platforms = platforms.linux; }; From 4202a9315a6786e2b6f7e12fa84689624e7822d6 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 1 Apr 2014 02:59:53 -0500 Subject: [PATCH 043/880] grsecurity: add myself to maintainer list Signed-off-by: Austin Seipp --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b0405bbd656..36a9211785c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6872,7 +6872,7 @@ let # config options you need (e.g. by overriding extraConfig). See list of options here: # https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options linux_3_2_grsecurity = lowPrio (lib.addMetaAttrs { - maintainers = with lib.maintainers; [ wizeman ]; + maintainers = with lib.maintainers; [ wizeman thoughtpolice ]; } (lib.overrideDerivation (linux_3_2.override (args: { kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_2_55 kernelPatches.grsec_path ]; argsOverride = { @@ -6881,7 +6881,7 @@ let })) (args: grsecurityOverrider args))); linux_3_13_grsecurity = lowPrio (lib.addMetaAttrs { - maintainers = with lib.maintainers; [ wizeman ]; + maintainers = with lib.maintainers; [ wizeman thoughtpolice ]; } (lib.overrideDerivation (linux_3_13.override (args: { kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_13_7 kernelPatches.grsec_path ]; argsOverride = { From 7288f25bd1ecaf19182ba2a7bfa4b488303e17ad Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 1 Apr 2014 03:00:17 -0500 Subject: [PATCH 044/880] kernel: stable/longterm updates - longterm: 3.4.83 -> 3.4.85 - longterm: 3.10.33 -> 3.10.35 - longterm: 3.12.14 -> 3.12.15 - stable: 3.13.7 -> 3.13.8 NOTE: This will break the testing grsec kernel at the moment (there's not a 3.18.8 patch yet), but it's destined to be upgraded to 3.14 soon anyway. Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/linux-3.10.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-3.12.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-3.13.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-3.4.nix | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index 4c6e01271fb..e5dbfe0d27b 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.33"; + version = "3.10.35"; extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0pdrzhdylan87nrhpz9dxx3da0008hkch4k1cjw46gg2jmxcryhh"; + sha256 = "01hznshgclxgs9hvag1i1a69k95nf61z00q6qly4ym25wb77znyv"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix index e2ec7295a5f..c758768a5ef 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.12.14"; + version = "3.12.15"; extraMeta.branch = "3.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1fv5mr8y5kn7077brajgv6l4shs8044i6pkh6phv7ms5ywacbllx"; + sha256 = "08y42y5piibql0v6pwdp19nxvw5jngs4nw404lwh412zk0cnh4gn"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.13.nix b/pkgs/os-specific/linux/kernel/linux-3.13.nix index c7658cc232e..b2be5ff2074 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.13.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.13.7"; + version = "3.13.8"; extraMeta.branch = "3.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0llyc343hzk8a2vhv63xja269jfqaavz613x98y71qfi05ald524"; + sha256 = "0z6lfsf1ldv7id3fm6l5jdn7c6076605wj7mfi90pgf079kbbqwj"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index 294f616242d..5eeddb35adb 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.4.83"; + version = "3.4.85"; extraMeta.branch = "3.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1jammd31cgzymaqd2qwrm1shx5xwpaxmpnv658fix275fn35a8gb"; + sha256 = "1ldbq9qka6bdgic4ydl9pnny734gyi2vxzdsnfmfi8mx7bnar29y"; }; features.iwlwifi = true; From 010688a763b59c35f7fb8b713ac5ab2588d8e9ab Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 1 Apr 2014 03:47:27 -0500 Subject: [PATCH 045/880] btsync: 1.2.91 -> 1.3.77 This also does some various cleanup on the build process. In particular, patchelf was not properly setting the rpath so e.g. librt and libm did not point into glibc inside the Nix store on my Ubuntu system. This properly sets the library paths on installation. Also, the download URL for BitTorrent Sync changed, which is incredibly annoying, because the URL doesn't encode version information. So maybe this will fail later. :( (A final note: this also changes the package name from 'btsync-bin' to just 'btsync', and cleans up some meta attributes.) Signed-off-by: Austin Seipp --- .../networking/bittorrentsync/default.nix | 44 +++++++++---------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix index c6277da704e..8a2c8a6e07e 100644 --- a/pkgs/applications/networking/bittorrentsync/default.nix +++ b/pkgs/applications/networking/bittorrentsync/default.nix @@ -1,47 +1,43 @@ { stdenv, fetchurl, patchelf }: -# this package contains the daemon version of bittorrent sync -# it's unfortunately closed source. - let - # TODO: arm, ppc, osx - arch = if stdenv.system == "x86_64-linux" then "x64" else if stdenv.system == "i686-linux" then "i386" else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - - interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2" - else if stdenv.system == "i686-linux" then "ld-linux.so.2" + + sha256 = if stdenv.system == "x86_64-linux" then "1x95pag8ncjx3svm4424fjk5nmbdg8m87fsxy9sc63ba3qs9645j" + else if stdenv.system == "i686-linux" then "0l8d85ib6kbpz5sh9v0qga03i4xph61iiy9xlhazm9h30d5a6l8v" else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; - version = "1.2.91"; - sha256 = if stdenv.system == "x86_64-linux" then "1rx5mmk3ffkh6dbm0m33nyx6spsxqjw9djclcf9x9bs3zfyzgmnd" - else if stdenv.system == "i686-linux" then "1566mp01149gsb57dv87420w1vq2f3adp6g1c90xdxjxzd67yqpw" - else throw "Bittorrent Sync for: ${stdenv.system} not supported!"; + libPath = stdenv.lib.makeLibraryPath [ stdenv.gcc.libc ]; +in +stdenv.mkDerivation rec { + name = "btsync-${version}"; + version = "1.3.77"; -in stdenv.mkDerivation { - name = "btsync-bin-${version}"; - src = fetchurl { - url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz"; + src = fetchurl { + url = "http://download-lb.utorrent.com/endpoint/btsync/os/linux-${arch}/track/stable"; + name = "btsync-${arch}-${version}.tar.gz"; inherit sha256; }; - sourceRoot = "."; + dontStrip = true; # Don't strip, otherwise patching the rpaths breaks + sourceRoot = "."; + buildInputs = [ patchelf ]; installPhase = '' ensureDir "$out/bin/" cp -r "btsync" "$out/bin/" - patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \ - "$out/bin/btsync" + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath ${libPath} "$out/bin/btsync" ''; - buildInputs = [ patchelf ]; - meta = { - homepage = "http://labs.bittorrent.com/experiments/sync.html"; description = "Automatically sync files via secure, distributed technology"; - license = stdenv.lib.licenses.unfree; - maintainers = [ stdenv.lib.maintainers.iElectric ]; + homepage = "http://www.bittorrent.com/sync"; + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ iElectric thoughtpolice ]; }; } From 19bc051ca11be6abef4bc7ca705a9faa56c356e7 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 1 Apr 2014 03:00:17 -0500 Subject: [PATCH 046/880] kernel: stable/longterm updates - longterm: 3.4.83 -> 3.4.85 - longterm: 3.10.33 -> 3.10.35 - longterm: 3.12.14 -> 3.12.15 - stable: 3.13.7 -> 3.13.8 NOTE: This will break the testing grsec kernel at the moment (there's not a 3.13.8 patch yet), but it's destined to be upgraded to 3.14 soon anyway. Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/linux-3.10.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-3.12.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-3.13.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-3.4.nix | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index 4c6e01271fb..e5dbfe0d27b 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.33"; + version = "3.10.35"; extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0pdrzhdylan87nrhpz9dxx3da0008hkch4k1cjw46gg2jmxcryhh"; + sha256 = "01hznshgclxgs9hvag1i1a69k95nf61z00q6qly4ym25wb77znyv"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix index e2ec7295a5f..c758768a5ef 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.12.14"; + version = "3.12.15"; extraMeta.branch = "3.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1fv5mr8y5kn7077brajgv6l4shs8044i6pkh6phv7ms5ywacbllx"; + sha256 = "08y42y5piibql0v6pwdp19nxvw5jngs4nw404lwh412zk0cnh4gn"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.13.nix b/pkgs/os-specific/linux/kernel/linux-3.13.nix index c7658cc232e..b2be5ff2074 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.13.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.13.7"; + version = "3.13.8"; extraMeta.branch = "3.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0llyc343hzk8a2vhv63xja269jfqaavz613x98y71qfi05ald524"; + sha256 = "0z6lfsf1ldv7id3fm6l5jdn7c6076605wj7mfi90pgf079kbbqwj"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index 294f616242d..5eeddb35adb 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.4.83"; + version = "3.4.85"; extraMeta.branch = "3.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1jammd31cgzymaqd2qwrm1shx5xwpaxmpnv658fix275fn35a8gb"; + sha256 = "1ldbq9qka6bdgic4ydl9pnny734gyi2vxzdsnfmfi8mx7bnar29y"; }; features.iwlwifi = true; From 0fd5a3af0c2fd71dc05ed04738b4527cc1dccdca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 1 Apr 2014 11:30:16 +0200 Subject: [PATCH 047/880] libyaml: minor update to fix CVE-2014-2525 --- pkgs/development/libraries/libyaml/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix index 15ba83b757a..d0ad17048aa 100644 --- a/pkgs/development/libraries/libyaml/default.nix +++ b/pkgs/development/libraries/libyaml/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl }: let - version = "0.1.5"; + version = "0.1.6"; in stdenv.mkDerivation { name = "libyaml-${version}"; src = fetchurl { url = "http://pyyaml.org/download/libyaml/yaml-${version}.tar.gz"; - sha256 = "1vrv5ly58bkmcyc049ad180f2m8iav6l9h3v8l2fqdmrny7yx1zs"; + sha256 = "0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx"; }; meta = with stdenv.lib; { From 886320136e2d7640bf3dd1634c72611a3d1c21cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 1 Apr 2014 13:25:48 +0200 Subject: [PATCH 048/880] bittorrentSync: use versioned url for download --- pkgs/applications/networking/bittorrentsync/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/applications/networking/bittorrentsync/default.nix b/pkgs/applications/networking/bittorrentsync/default.nix index 8a2c8a6e07e..c260b75c9fe 100644 --- a/pkgs/applications/networking/bittorrentsync/default.nix +++ b/pkgs/applications/networking/bittorrentsync/default.nix @@ -16,8 +16,7 @@ stdenv.mkDerivation rec { version = "1.3.77"; src = fetchurl { - url = "http://download-lb.utorrent.com/endpoint/btsync/os/linux-${arch}/track/stable"; - name = "btsync-${arch}-${version}.tar.gz"; + url = "http://syncapp.bittorrent.com/${version}/btsync_${arch}-${version}.tar.gz"; inherit sha256; }; From db2f743156579d12478f744749e1017fb3682cef Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 1 Apr 2014 13:14:20 +0200 Subject: [PATCH 049/880] gnome-screenshot: new package Utility used in the GNOME desktop environment for taking screenshots http://en.wikipedia.org/wiki/GNOME_Screenshot --- .../gnome-3/core/gnome-screenshot/default.nix | 39 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 2 files changed, 41 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix new file mode 100644 index 00000000000..0d891e4625d --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix @@ -0,0 +1,39 @@ +{ stdenv, intltool, fetchurl, pkgconfig, libcanberra_gtk3 +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper +, itstool, gnome3, librsvg, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "gnome-screenshot-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-screenshot/3.12/${name}.tar.xz"; + sha256 = "ae4bf706652ae9b28c7930d22c2c37469a78d7f6656d312960b3c75ee5c36eb1"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libcanberra_gtk3 + gnome3.gsettings_desktop_schemas makeWrapper ]; + + installFlags = "gsettingsschemadir=\${out}/share/gnome-screenshot/glib-2.0/schemas/"; + + postInstall = '' + wrapProgram "$out/bin/gnome-screenshot" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-screenshot:$XDG_ICON_DIRS" + ''; + + meta = with stdenv.lib; { + homepage = http://en.wikipedia.org/wiki/GNOME_Screenshot; + description = "Utility used in the GNOME desktop environment for taking screenshots"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 61dfe2b1795..9e79460ec42 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -64,6 +64,8 @@ rec { gnome_terminal = callPackage ./core/gnome-terminal { }; + gnome-screenshot = callPackage ./core/gnome-screenshot { }; + gnome_themes_standard = callPackage ./core/gnome-themes-standard { }; gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; From 75fb34eb6d5355a156f60ccfb07712c2fa922294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Tue, 1 Apr 2014 13:44:28 +0000 Subject: [PATCH 050/880] add pythonPackages.gunicorn --- pkgs/top-level/python-packages.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d87eb45dc69..11c8feb48b8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3222,6 +3222,22 @@ rec { }; }; + gunicorn = buildPythonPackage rec { + name = "gunicorn-18.0"; + + src = fetchurl { + url = "http://pypi.python.org/packages/source/g/gunicorn/${name}.tar.gz"; + md5 = "c7138b9ac7515a42066922d2b6120fbe"; + }; + + buildInputs = [ pytest ]; + + meta = { + homepage = http://pypi.python.org/pypi/gunicorn; + description = "WSGI HTTP Server for UNIX"; + }; + }; + hcs_utils = buildPythonPackage rec { name = "hcs_utils-1.3"; From 0ded8e6de3da16e9c84ec7f4e5c382565585e04b Mon Sep 17 00:00:00 2001 From: George Kollias Date: Tue, 1 Apr 2014 20:20:33 +0300 Subject: [PATCH 051/880] Added MonetDB NixOS module. --- nixos/modules/misc/ids.nix | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/services/databases/monetdb.nix | 88 ++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 nixos/modules/services/databases/monetdb.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 9c413e36d56..ddf3b6bc509 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -123,6 +123,7 @@ ngircd = 112; btsync = 113; minecraft = 114; + monetdb = 115; # When adding a uid, make sure it doesn't match an existing gid. @@ -221,6 +222,7 @@ jenkins = 109; systemd-journal-gateway = 110; notbit = 111; + monetdb = 112; # When adding a gid, make sure it doesn't match an existing uid. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 652a99e7c5a..1b5ffd9740d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -95,6 +95,7 @@ ./services/databases/openldap.nix ./services/databases/postgresql.nix ./services/databases/virtuoso.nix + ./services/databases/monetdb.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix ./services/hardware/acpid.nix diff --git a/nixos/modules/services/databases/monetdb.nix b/nixos/modules/services/databases/monetdb.nix new file mode 100644 index 00000000000..9d3059c7f45 --- /dev/null +++ b/nixos/modules/services/databases/monetdb.nix @@ -0,0 +1,88 @@ +{ config, pkgs, ... }: +let + cfg = config.services.monetdb; + monetdbUser = "monetdb"; +in +with pkgs.lib; +{ + + ###### interface + + options = { + + services.monetdb = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable MonetDB database server."; + }; + + package = mkOption { + type = types.path; + description = "MonetDB package to use."; + }; + + dbfarmDir = mkOption { + type = types.path; + default = "/var/lib/monetdb"; + description = '' + Specifies location of Monetdb dbfarm (keeps database and auxiliary files). + ''; + }; + + port = mkOption { + default = "50000"; + example = "50000"; + description = "Port to listen on."; + }; + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + users.extraUsers.monetdb = + { name = monetdbUser; + uid = config.ids.uids.monetdb; + description = "monetdb user"; + home = cfg.dbfarmDir; + }; + + users.extraGroups.monetdb.gid = config.ids.gids.monetdb; + + environment.systemPackages = [ cfg.package ]; + + systemd.services.monetdb = + { description = "MonetDB Server"; + + wantedBy = [ "multi-user.target" ]; + + after = [ "network.target" ]; + + path = [ cfg.package ]; + + preStart = + '' + # Initialise the database. + if ! test -e ${cfg.dbfarmDir}/.merovingian_properties; then + mkdir -m 0700 -p ${cfg.dbfarmDir} + chown -R ${monetdbUser} ${cfg.dbfarmDir} + ${cfg.package}/bin/monetdbd create ${cfg.dbfarmDir} + ${cfg.package}/bin/monetdbd set port=${cfg.port} ${cfg.dbfarmDir} + fi + ''; + + serviceConfig.ExecStart = "${cfg.package}/bin/monetdbd start -n ${cfg.dbfarmDir}"; + + serviceConfig.ExecStop = "${cfg.package}/bin/monetdbd stop ${cfg.dbfarmDir}"; + + unitConfig.RequiresMountsFor = "${cfg.dbfarmDir}"; + }; + + }; + +} From ec1acce4e964c6192149a23d247931ca7cb7029a Mon Sep 17 00:00:00 2001 From: George Kollias Date: Tue, 1 Apr 2014 20:41:37 +0300 Subject: [PATCH 052/880] fixed monetdb's gid to be the same with its id. --- nixos/modules/misc/ids.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index ddf3b6bc509..2153779ce55 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -222,7 +222,7 @@ jenkins = 109; systemd-journal-gateway = 110; notbit = 111; - monetdb = 112; + monetdb = 115; # When adding a gid, make sure it doesn't match an existing uid. From 407a6857c615a260e36f19e82f251978726e26b2 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Wed, 2 Apr 2014 02:15:38 +0200 Subject: [PATCH 053/880] grsecurity: Update stable and test patches stable: 3.0-3.2.55-201403252026 -> 3.0-3.2.55-201403300851 test: 3.0-3.13.7-201403252047 -> 3.0-3.13.8-201404011912 --- pkgs/os-specific/linux/kernel/patches.nix | 14 +++++++------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 492fe647a88..d4e4ed30b18 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -75,22 +75,22 @@ rec { grsecurity_3_0_3_2_55 = { name = "grsecurity-3.0-3.2.55"; patch = fetchurl { - url = http://grsecurity.net/stable/grsecurity-3.0-3.2.55-201403252026.patch; - sha256 = "1jfy4cfzgfixyyq5436fzwhg9ch31ynq6d5sxzajqkvmprq5kbhn"; + url = http://grsecurity.net/stable/grsecurity-3.0-3.2.55-201403300851.patch; + sha256 = "1a1bhf5i3jx1c6l1bibc5ppd12xzpdk7a5q83rivjiixv37s1x85"; }; features.grsecurity = true; # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.55 features.apparmor = true; }; - grsecurity_3_0_3_13_7 = - { name = "grsecurity-3.0-3.13.7"; + grsecurity_3_0_3_13_8 = + { name = "grsecurity-3.0-3.13.8"; patch = fetchurl { - url = http://grsecurity.net/test/grsecurity-3.0-3.13.7-201403252047.patch; - sha256 = "0f3mhkf15fpgy28rkfkd0wnccvz2n7s21gppnksl5w9dlw8m7mib"; + url = http://grsecurity.net/test/grsecurity-3.0-3.13.8-201404011912.patch; + sha256 = "1fwb41l7gjkdyl08b6a9mg4ahnw55yk0a7kd69ca8zrqd0j668ci"; }; features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.13.7 + # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.13.8 features.apparmor = true; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e2bb49f63b0..189fb517618 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6883,7 +6883,7 @@ let linux_3_13_grsecurity = lowPrio (lib.addMetaAttrs { maintainers = with lib.maintainers; [ wizeman ]; } (lib.overrideDerivation (linux_3_13.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_13_7 kernelPatches.grsec_path ]; + kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_13_8 kernelPatches.grsec_path ]; argsOverride = { modDirVersion = "${linux_3_13.modDirVersion}-grsec"; }; From f61110d65d8324e621feb2c25e081f125000a3ce Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Mon, 31 Mar 2014 23:31:09 -0500 Subject: [PATCH 054/880] nixos: murmur service Murmur is the headless server component of the Mumble chat system. Signed-off-by: Austin Seipp --- nixos/modules/misc/ids.nix | 1 + nixos/modules/module-list.nix | 1 + nixos/modules/services/networking/murmur.nix | 253 +++++++++++++++++++ 3 files changed, 255 insertions(+) create mode 100644 nixos/modules/services/networking/murmur.nix diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 9c413e36d56..44e27732f42 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -123,6 +123,7 @@ ngircd = 112; btsync = 113; minecraft = 114; + murmur = 115; # When adding a uid, make sure it doesn't match an existing gid. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 652a99e7c5a..3d0585b9dff 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -180,6 +180,7 @@ ./services/networking/ircd-hybrid/default.nix ./services/networking/kippo.nix ./services/networking/minidlna.nix + ./services/networking/murmur.nix ./services/networking/nat.nix ./services/networking/networkmanager.nix ./services/networking/ngircd.nix diff --git a/nixos/modules/services/networking/murmur.nix b/nixos/modules/services/networking/murmur.nix new file mode 100644 index 00000000000..2a5549beaf8 --- /dev/null +++ b/nixos/modules/services/networking/murmur.nix @@ -0,0 +1,253 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.services.murmur; + configFile = pkgs.writeText "murmurd.ini" '' + database=/var/lib/murmur/murmur.sqlite + dbDriver=QSQLITE + + autobanAttempts=${toString cfg.autobanAttempts} + autobanTimeframe=${toString cfg.autobanTimeframe} + autobanTime=${toString cfg.autobanTime} + + logfile=/var/log/murmur/murmurd.log + pidfile=${cfg.pidfile} + + welcome="${cfg.welcome}" + port=${toString cfg.port} + + ${if cfg.hostName == "" then "" else "host="+cfg.hostName} + ${if cfg.password == "" then "" else "serverpassword="+cfg.password} + + bandwidth=${toString cfg.bandwidth} + users=${toString cfg.users} + + textmessagelength=${toString cfg.textMsgLength} + imagemessagelength=${toString cfg.imgMsgLength} + allowhtml=${if cfg.allowHtml then "true" else "false"} + logdays=${toString cfg.logDays} + bonjour=${if cfg.bonjour then "true" else "false"} + sendversion=${if cfg.sendVersion then "true" else "false"} + + ${if cfg.registerName == "" then "" else "registerName="+cfg.registerName} + ${if cfg.registerPassword == "" then "" else "registerPassword="+cfg.registerPassword} + ${if cfg.registerUrl == "" then "" else "registerUrl="+cfg.registerUrl} + ${if cfg.registerHostname == "" then "" else "registerHostname="+cfg.registerHostname} + + certrequired=${if cfg.clientCertRequired then "true" else "false"} + ${if cfg.sslCert == "" then "" else "sslCert="+cfg.sslCert} + ${if cfg.sslKey == "" then "" else "sslKey="+cfg.sslKey} + ''; +in +{ + options = { + services.murmur = { + enable = mkOption { + type = types.bool; + default = false; + description = "If enabled, start the Murmur Service."; + }; + + autobanAttempts = mkOption { + type = types.int; + default = 10; + description = '' + Number of attempts a client is allowed to make in + autobanTimeframe seconds, before being + banned for autobanTime. + ''; + }; + + autobanTimeframe = mkOption { + type = types.int; + default = 120; + description = '' + Timeframe in which a client can connect without being banned + for repeated attempts (in seconds). + ''; + }; + + autobanTime = mkOption { + type = types.int; + default = 300; + description = "The amount of time an IP ban lasts (in seconds)."; + }; + + pidfile = mkOption { + type = types.path; + default = "/tmp/murmurd.pid"; + description = "Path to PID file for Murmur daemon."; + }; + + welcome = mkOption { + type = types.str; + default = ""; + description = "Welcome message for connected clients."; + }; + + port = mkOption { + type = types.int; + default = 64738; + description = "Ports to bind to (UDP and TCP)."; + }; + + hostName = mkOption { + type = types.str; + default = ""; + description = "Host to bind to. Defaults binding on all addresses."; + }; + + password = mkOption { + type = types.str; + default = ""; + description = "Required password to join server, if specified."; + }; + + bandwidth = mkOption { + type = types.int; + default = 72000; + description = '' + Maximum bandwidth (in bits per second) that clients may send + speech at. + ''; + }; + + users = mkOption { + type = types.int; + default = 100; + description = "Maximum number of concurrent clients allowed."; + }; + + textMsgLength = mkOption { + type = types.int; + default = 5000; + description = "Max length of text messages. Set 0 for no limit."; + }; + + imgMsgLength = mkOption { + type = types.int; + default = 131072; + description = "Max length of image messages. Set 0 for no limit."; + }; + + allowHtml = mkOption { + type = types.bool; + default = true; + description = '' + Allow HTML in client messages, comments, and channel + descriptions. + ''; + }; + + logDays = mkOption { + type = types.int; + default = 31; + description = '' + How long to store RPC logs for in the database. Set 0 to + keep logs forever, or -1 to disable DB logging. + ''; + }; + + bonjour = mkOption { + type = types.bool; + default = false; + description = '' + Enable Bonjour auto-discovery, which allows clients over + your LAN to automatically discover Murmur servers. + ''; + }; + + sendVersion = mkOption { + type = types.bool; + default = true; + description = "Send Murmur version in UDP response."; + }; + + registerName = mkOption { + type = types.str; + default = ""; + description = '' + Public server registration name, and also the name of the + Root channel. Even if you don't publicly register your + server, you probably still want to set this. + ''; + }; + + registerPassword = mkOption { + type = types.str; + default = ""; + description = '' + Public server registry password, used authenticate your + server to the registry to prevent impersonation; required for + subsequent registry updates. + ''; + }; + + registerUrl = mkOption { + type = types.str; + default = ""; + description = "URL website for your server."; + }; + + registerHostname = mkOption { + type = types.str; + default = ""; + description = '' + DNS hostname where your server can be reached. This is only + needed if you want your server to be accessed by its + hostname and not IP - but the name *must* resolve on the + internet properly. + ''; + }; + + clientCertRequired = mkOption { + type = types.bool; + default = false; + description = "Require clients to authenticate via certificates."; + }; + + sslCert = mkOption { + type = types.str; + default = ""; + description = "Path to your SSL certificate."; + }; + + sslKey = mkOption { + type = types.str; + default = ""; + description = "Path to your SSL key."; + }; + }; + }; + + config = mkIf cfg.enable { + users.extraUsers.murmur = { + description = "Murmur Service user"; + home = "/var/lib/murmur"; + createHome = true; + uid = config.ids.uids.murmur; + }; + + systemd.services.murmur = { + description = "Murmur Chat Service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target "]; + + serviceConfig = { + Type = "forking"; + PIDFile = cfg.pidfile; + Restart = "always"; + User = "murmur"; + ExecStart = "${pkgs.murmur}/bin/murmurd -ini ${configFile}"; + PermissionsStartOnly = true; + }; + + preStart = '' + mkdir -p /var/log/murmur + chown -R murmur /var/log/murmur + ''; + }; + }; +} From 788354cc348d976eeb84e5e8041ea5563d931504 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Mon, 31 Mar 2014 23:33:46 -0500 Subject: [PATCH 055/880] nixos: add mumble test This tests that both the client and server work. With screenshots! Signed-off-by: Austin Seipp --- nixos/tests/default.nix | 1 + nixos/tests/mumble.nix | 54 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 nixos/tests/mumble.nix diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix index 4aeb7f55ac3..955c87b2714 100644 --- a/nixos/tests/default.nix +++ b/nixos/tests/default.nix @@ -25,6 +25,7 @@ with import ../lib/testing.nix { inherit system minimal; }; mysql = makeTest (import ./mysql.nix); mysql_replication = makeTest (import ./mysql-replication.nix); munin = makeTest (import ./munin.nix); + mumble = makeTest (import ./mumble.nix); nat = makeTest (import ./nat.nix); nfs3 = makeTest (import ./nfs.nix { version = 3; }); #nfs4 = makeTest (import ./nfs.nix { version = 4; }); diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix new file mode 100644 index 00000000000..509742f2899 --- /dev/null +++ b/nixos/tests/mumble.nix @@ -0,0 +1,54 @@ +{ pkgs, ... }: + +let + client = { config, pkgs, ... }: { + imports = [ ./common/x11.nix ]; + environment.systemPackages = [ pkgs.mumble ]; + }; +in +{ + nodes = { + server = { config, pkgs, ... }: { + services.murmur.enable = true; + services.murmur.registerName = "NixOS tests"; + }; + + client1 = client; + client2 = client; + }; + + testScript = '' + startAll; + + $server->waitForUnit("murmur.service"); + $client1->waitForX; + $client2->waitForX; + + $client1->execute("mumble mumble://client1\@server/test &"); + $client2->execute("mumble mumble://client2\@server/test &"); + + $server->sleep(10); # Wait for Mumble UI to pop up + + # cancel client audio configuration + $client1->sendKeys("esc"); + $client2->sendKeys("esc"); + $server->sleep(1); + + # cancel client cert configuration + $client1->sendKeys("esc"); + $client2->sendKeys("esc"); + $server->sleep(1); + + # accept server certificate + $client1->sendChars("y"); + $client2->sendChars("y"); + + # Find clients in logs + $server->waitUntilSucceeds("grep -q 'client1' /var/log/murmur/murmurd.log"); + $server->waitUntilSucceeds("grep -q 'client2' /var/log/murmur/murmurd.log"); + + $server->sleep(5); # wait to get screenshot + $client1->screenshot("screen1"); + $client2->screenshot("screen2"); + ''; +} From 1b042b7b359d0cfd23d9759815c58feb55f99363 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 2 Apr 2014 11:58:39 +0200 Subject: [PATCH 056/880] gnome-system-log: new package Graphical, menu-driven viewer that you can use to view and monitor your system logs https://help.gnome.org/users/gnome-system-log/3.9/ --- .../gnome-3/core/gnome-system-log/default.nix | 43 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 6 ++- 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 pkgs/desktops/gnome-3/core/gnome-system-log/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix new file mode 100644 index 00000000000..8b387627da5 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix @@ -0,0 +1,43 @@ +{ stdenv, intltool, fetchurl, pkgconfig +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper +, itstool, gnome3, librsvg, gdk_pixbuf, libxml2 }: + +stdenv.mkDerivation rec { + name = "gnome-system-log-3.9.90"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-system-log/3.9/${name}.tar.xz"; + sha256 = "9eeb51982d347aa7b33703031e2c1d8084201374665425cd62199649b29a5411"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool + gnome3.gsettings_desktop_schemas makeWrapper libxml2 ]; + + installFlags = "gsettingsschemadir=\${out}/share/gnome-system-log/glib-2.0/schemas/"; + + postInstall = '' + wrapProgram "$out/bin/gnome-system-log" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-system-log:$XDG_ICON_DIRS" + ''; + + preFixup = '' + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-system-log/3.9/; + description = "Graphical, menu-driven viewer that you can use to view and monitor your system logs"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 9e79460ec42..a9b883a6e11 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -60,11 +60,13 @@ rec { gnome_shell = callPackage ./core/gnome-shell { }; + gnome-screenshot = callPackage ./core/gnome-screenshot { }; + gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { }; - gnome_terminal = callPackage ./core/gnome-terminal { }; + gnome-system-log = callPackage ./core/gnome-system-log { }; - gnome-screenshot = callPackage ./core/gnome-screenshot { }; + gnome_terminal = callPackage ./core/gnome-terminal { }; gnome_themes_standard = callPackage ./core/gnome-themes-standard { }; From f7b19ea8b3bf6427c25c577bbd177e22b31dc8d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 2 Apr 2014 12:40:52 +0200 Subject: [PATCH 057/880] typo --- pkgs/os-specific/linux/v4l2loopback/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/v4l2loopback/default.nix b/pkgs/os-specific/linux/v4l2loopback/default.nix index af1cf6d320c..5b88d4c7556 100644 --- a/pkgs/os-specific/linux/v4l2loopback/default.nix +++ b/pkgs/os-specific/linux/v4l2loopback/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ]; meta = with stdenv.lib; { - description = "a kernel module to create V4L2 loopback devices"; + description = "A kernel module to create V4L2 loopback devices"; homepage = https://github.com/umlaeute/v4l2loopback; license = licenses.gpl2; maintainers = [ maintainers.iElectric ]; From dddb15668e4951340b72b553795cf199efa75c30 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Wed, 2 Apr 2014 13:07:34 +0200 Subject: [PATCH 058/880] Update lens-datetime to 0.2.1 --- .../development/libraries/haskell/lens-datetime/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/lens-datetime/default.nix b/pkgs/development/libraries/haskell/lens-datetime/default.nix index 2de451f4177..72781f39cdb 100644 --- a/pkgs/development/libraries/haskell/lens-datetime/default.nix +++ b/pkgs/development/libraries/haskell/lens-datetime/default.nix @@ -2,11 +2,11 @@ cabal.mkDerivation (self: { pname = "lens-datetime"; - version = "0.2"; - sha256 = "0wrs7alz1zfg1xrg04lhz01mrd1gcz2xr8b5mxfdvq94f5m87sdr"; + version = "0.2.1"; + sha256 = "1wqks7ynw3njlizdd9hvgrc1xjxcgcfck9ppj1lgg8wr3l2myi72"; buildDepends = [ lens time ]; meta = { - homepage = "http://github.com/klao/lens-datetime"; + homepage = "http://github.com/nilcons/lens-datetime"; description = "Lenses for Data.Time.* types"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; From c928d1b4bcfa397d597e7c776d280f93bfb0761c Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 2 Apr 2014 13:57:33 +0200 Subject: [PATCH 059/880] gnome-calculator: new package Application that solves mathematical equations and is suitable as a default application in a Desktop environment https://wiki.gnome.org/action/show/Apps/Calculator --- .../gnome-3/core/gnome-calculator/default.nix | 38 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-calculator/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix new file mode 100644 index 00000000000..805f0e5276d --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix @@ -0,0 +1,38 @@ +{ stdenv, intltool, fetchurl, pkgconfig, libxml2 +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper +, itstool, gnome3, librsvg, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "gnome-calculator-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz"; + sha256 = "22882c770251203be85f728d73b0d3946728774fd437cf460cd6d958fc4b4dc5"; + }; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool + libxml2 gnome3.gtksourceview + gnome3.gsettings_desktop_schemas makeWrapper ]; + + installFlags = "gsettingsschemadir=\${out}/share/gnome-calculator/glib-2.0/schemas/"; + + postInstall = '' + wrapProgram "$out/bin/gnome-calculator" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-calculator:$XDG_ICON_DIRS" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Apps/Calculator; + description = "Application that solves mathematical equations and is suitable as a default application in a Desktop environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 9e79460ec42..b46e0821068 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -40,6 +40,8 @@ rec { gnome_control_center = callPackage ./core/gnome-control-center { }; + gnome-calculator = callPackage ./core/gnome-calculator { }; + gnome_common = callPackage ./core/gnome-common { }; gnome_icon_theme = callPackage ./core/gnome-icon-theme { }; From 90cf41c0d7017e32f966e09a8c83487b431fde73 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 2 Apr 2014 09:05:01 -0400 Subject: [PATCH 060/880] mariadb: Bump --- pkgs/servers/sql/mariadb/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index db6797a8d68..a6105c12890 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, cmake, ncurses, openssl, bison, boost, libxml2, libaio, judy, libevent, groff }: stdenv.mkDerivation rec { - name = "mariadb-10.0.8"; + name = "mariadb-10.0.10"; src = fetchurl { - url = "http://tweedo.com/mirror/mariadb/${name}/kvm-tarbake-jaunty-x86/${name}.tar.gz"; - md5 = "2b925d0beae8101f1f3f98102da91bf7"; + url = "https://fossies.org/linux/misc/${name}.tar.gz"; + md5 = "14ce22b8197d4eae88d237776d47220f"; }; buildInputs = [ cmake ncurses openssl bison boost libxml2 libaio judy libevent groff ]; From e8c6c60b93f7d3d113f0ffbcc232d19b9a5bdc44 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Wed, 2 Apr 2014 04:21:42 +0200 Subject: [PATCH 061/880] linux: Update to 3.2.56 --- pkgs/os-specific/linux/kernel/linux-3.2.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix index cee4bf31dfe..1dd13724857 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.2.55"; + version = "3.2.56"; extraMeta.branch = "3.2"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "15fj7kd3ba52in1siqbdq45i7xzb53yy88l9k4bgfgds3j8wxj9m"; + sha256 = "08858sx63bsay185ywwyh01wnms7lyh9rvgwznwnzmjpnfi3hihm"; }; features.iwlwifi = true; From 52d233af22f591e8527d23ef979566fae0c59e39 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Wed, 2 Apr 2014 04:22:07 +0200 Subject: [PATCH 062/880] grsecurity: Update stable patch from 3.0-3.2.55-201403300851 -> 3.0-3.2.56-201404012135 --- pkgs/os-specific/linux/kernel/patches.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index d4e4ed30b18..c5b6362108e 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -72,14 +72,14 @@ rec { }; - grsecurity_3_0_3_2_55 = - { name = "grsecurity-3.0-3.2.55"; + grsecurity_3_0_3_2_56 = + { name = "grsecurity-3.0-3.2.56"; patch = fetchurl { - url = http://grsecurity.net/stable/grsecurity-3.0-3.2.55-201403300851.patch; - sha256 = "1a1bhf5i3jx1c6l1bibc5ppd12xzpdk7a5q83rivjiixv37s1x85"; + url = http://grsecurity.net/stable/grsecurity-3.0-3.2.56-201404012135.patch; + sha256 = "1l7c1l5cxv1j9iw12rxf7nsvbmg6jna96y1bxc8i4yi0jwiwn2nc"; }; features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.55 + # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.56 features.apparmor = true; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 189fb517618..1f39a230abe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6874,7 +6874,7 @@ let linux_3_2_grsecurity = lowPrio (lib.addMetaAttrs { maintainers = with lib.maintainers; [ wizeman ]; } (lib.overrideDerivation (linux_3_2.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_2_55 kernelPatches.grsec_path ]; + kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_2_56 kernelPatches.grsec_path ]; argsOverride = { modDirVersion = "${linux_3_2.modDirVersion}-grsec"; }; From e33d79dd547f6f2bd0892bf638be4b6c01197ad2 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Wed, 2 Apr 2014 17:07:44 +0200 Subject: [PATCH 063/880] Disable check for haskell/math-functions, it fails on i686 --- pkgs/development/libraries/haskell/math-functions/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/math-functions/default.nix b/pkgs/development/libraries/haskell/math-functions/default.nix index 7faca58fd85..a7a9d92fb97 100644 --- a/pkgs/development/libraries/haskell/math-functions/default.nix +++ b/pkgs/development/libraries/haskell/math-functions/default.nix @@ -12,6 +12,8 @@ cabal.mkDerivation (self: { HUnit ieee754 QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 vector ]; + # fails on i686 at version 0.1.5.2 + doCheck = false; meta = { homepage = "https://github.com/bos/math-functions"; description = "Special functions and Chebyshev polynomials"; From 53ce02b7c002a44e7c8a402f5cf824a1da2281f2 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Wed, 2 Apr 2014 17:29:33 +0200 Subject: [PATCH 064/880] Jailbreak the whole haskell/Chart "ecosystem", not just Chart --- pkgs/development/libraries/haskell/Chart-cairo/default.nix | 1 + pkgs/development/libraries/haskell/Chart-diagrams/default.nix | 1 + pkgs/development/libraries/haskell/Chart-gtk/default.nix | 1 + 3 files changed, 3 insertions(+) diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix index 3b9e6fb4e33..55c893bcc81 100644 --- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix +++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix @@ -9,6 +9,7 @@ cabal.mkDerivation (self: { buildDepends = [ cairo Chart colour dataDefaultClass lens mtl operational time ]; + jailbreak = true; meta = { homepage = "https://github.com/timbod7/haskell-chart/wiki"; description = "Cairo backend for Charts"; diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix index 008869713ef..2593b67edbc 100644 --- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix +++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix @@ -12,6 +12,7 @@ cabal.mkDerivation (self: { diagramsPostscript diagramsSvg lens mtl operational SVGFonts text time ]; + jailbreak = true; meta = { homepage = "https://github.com/timbod7/haskell-chart/wiki"; description = "Diagrams backend for Charts"; diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix index a2e695a891d..4745dda31cc 100644 --- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix +++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "1.2"; sha256 = "0qq72cf1m2gvcksa1jj5g9qi6b47pmpzh3grhs7kh3m7qyq0a56g"; buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ]; + jailbreak = true; meta = { homepage = "https://github.com/timbod7/haskell-chart/wiki"; description = "Utility functions for using the chart library with GTK"; From 4e875dd3ff68d7502db377967044461d01cf08dd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 2 Apr 2014 17:44:02 +0200 Subject: [PATCH 065/880] esniper: update to version 2.29.0 --- pkgs/applications/networking/esniper/default.nix | 8 ++++---- .../networking/esniper/fix-ebay-login.patch | 13 ------------- 2 files changed, 4 insertions(+), 17 deletions(-) delete mode 100644 pkgs/applications/networking/esniper/fix-ebay-login.patch diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix index ee263245218..0a9703d5e34 100644 --- a/pkgs/applications/networking/esniper/default.nix +++ b/pkgs/applications/networking/esniper/default.nix @@ -1,18 +1,18 @@ { stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }: stdenv.mkDerivation { - name = "esniper-2.28.0"; + name = "esniper-2.29.0"; src = fetchurl { - url = "mirror://sourceforge/esniper/esniper-2-28-0.tgz"; - sha256 = "c2b0ccb757616b32f2d6cf54a4a5e367405fa7bcd6e6ed11835fe4f8a06a016b"; + url = "mirror://sourceforge/esniper/esniper-2-29-0.tgz"; + sha256 = "052jfbzm0a88h3hss2vg1vfdrhibjwhbcdnwsbkk5i1z0jj16xxc"; }; buildInputs = [ openssl curl ]; # Add support for CURL_CA_BUNDLE variable. # Fix . - patches = [ ./find-ca-bundle.patch ./fix-ebay-login.patch ]; + patches = [ ./find-ca-bundle.patch ]; postInstall = '' sed <"frontends/snipe" >"$out/bin/snipe" \ diff --git a/pkgs/applications/networking/esniper/fix-ebay-login.patch b/pkgs/applications/networking/esniper/fix-ebay-login.patch deleted file mode 100644 index 07d0a577a08..00000000000 --- a/pkgs/applications/networking/esniper/fix-ebay-login.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- esniper-orig/auction.c 2014-03-23 22:28:46.684289574 +0100 -+++ esniper/auction.c 2014-03-23 22:24:00.540568653 +0100 -@@ -424,7 +424,9 @@ - if ((pp->srcId && !strcmp(pp->srcId, "SignInAlertSupressor"))|| - (pp->pageName && - (!strncasecmp(pp->pageName, "MyeBay", 6) || -- !strncasecmp(pp->pageName, "My eBay", 7)) -+ !strncasecmp(pp->pageName, "My eBay", 7) || -+ !strncasecmp(pp->pageName, "Watch list", 10) || -+ !strncasecmp(pp->pageName, "User Agreement", 10)) - )) - loginTime = time(NULL); - else if (pp->pageName && From 9415c34e3d128e13a30c20f0ea5596a8969e8220 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 1 Apr 2014 00:26:01 +0200 Subject: [PATCH 066/880] haskell-ghc-mod: update to version 4.0.0 --- .../libraries/haskell/ghc-mod/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix index 260fff8ae82..fca6ea9cd55 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix @@ -1,20 +1,20 @@ -{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcPaths -, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers +{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcSybUtils +, hlint, hspec, ioChoice, syb, time, transformers }: cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "3.1.7"; - sha256 = "1mv6m1fcqkm4i27jw1aniwfq2dhpn4m7kicyq4l70zmkfr7y7c5s"; + version = "4.0.0"; + sha256 = "11l0wycx0l0wqq8a3wsiw88fr8pahjzh65yxqw6r1rgj10cszai8"; isLibrary = true; isExecutable = true; buildDepends = [ - Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice syb - time transformers + Cabal convertible filepath ghcSybUtils hlint ioChoice syb time + transformers ]; testDepends = [ - Cabal convertible doctest filepath ghcPaths ghcSybUtils hlint hspec - ioChoice syb time transformers + Cabal convertible doctest filepath ghcSybUtils hlint hspec ioChoice + syb time transformers ]; buildTools = [ emacs ]; postInstall = '' From ed119be3f18a38e285c839a419cb98c9d9653f26 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 1 Apr 2014 00:26:02 +0200 Subject: [PATCH 067/880] haskell-shakespeare-css: update to version 1.0.7.4 --- .../development/libraries/haskell/shakespeare-css/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/shakespeare-css/default.nix b/pkgs/development/libraries/haskell/shakespeare-css/default.nix index ae966a4501e..8f06ee67361 100644 --- a/pkgs/development/libraries/haskell/shakespeare-css/default.nix +++ b/pkgs/development/libraries/haskell/shakespeare-css/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "shakespeare-css"; - version = "1.0.7.3"; - sha256 = "0f2l1i4h3h5xps74nx3gy1mbi96m12rzgidlh4ilxz6p7dx9wnbq"; + version = "1.0.7.4"; + sha256 = "1lb3w0498bdsd2cmz2ns11dv5abif0wsilbqy0ymfb1dgl2rbpmz"; buildDepends = [ parsec shakespeare text transformers ]; testDepends = [ hspec HUnit shakespeare text ]; meta = { From c073ab5f92710d669ad8543ece2ee6d045d100d6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 1 Apr 2014 00:26:03 +0200 Subject: [PATCH 068/880] haskell-snap-server: update to version 0.9.4.2 --- pkgs/development/libraries/haskell/snap/server.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix index 4634ec554eb..4dca1dea284 100644 --- a/pkgs/development/libraries/haskell/snap/server.nix +++ b/pkgs/development/libraries/haskell/snap/server.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "snap-server"; - version = "0.9.4.1"; - sha256 = "07k7gndzmh4d2mghi8qv25frvdlgmn7497hh6j22ki0al0zrs0l9"; + version = "0.9.4.2"; + sha256 = "05na8gqbqy0nznasaxfkp4hr7h0s6ypm8000mhn50d27v8nk526m"; buildDepends = [ attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator caseInsensitive enumerator MonadCatchIOTransformers mtl network From 41cfbc1a82fe2686954d8b5147976ba04803fae6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 1 Apr 2014 00:26:04 +0200 Subject: [PATCH 069/880] haskell-unix-bytestring: update to version 0.3.7.2 --- .../development/libraries/haskell/unix-bytestring/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/unix-bytestring/default.nix b/pkgs/development/libraries/haskell/unix-bytestring/default.nix index 174fc925aae..484ab6148a2 100644 --- a/pkgs/development/libraries/haskell/unix-bytestring/default.nix +++ b/pkgs/development/libraries/haskell/unix-bytestring/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "unix-bytestring"; - version = "0.3.7"; - sha256 = "1qwgs2bwga057csfa8izq0kc5vwi2vcaz2snlcgp0h9vql3qmvrg"; + version = "0.3.7.2"; + sha256 = "0n1i7pcdwhs0wz6spf3pndr8i74qn0cdzr3p46w4r4mvvwr76i2s"; meta = { homepage = "http://code.haskell.org/~wren/"; description = "Unix/Posix-specific functions for ByteStrings"; From 1237886a918511cc361245474e1a122206046135 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 1 Apr 2014 00:26:06 +0200 Subject: [PATCH 070/880] haskell-cabal2nix: update to version 1.61 --- pkgs/development/tools/haskell/cabal2nix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix index 9dc8536a4c0..7ad20ee066b 100644 --- a/pkgs/development/tools/haskell/cabal2nix/default.nix +++ b/pkgs/development/tools/haskell/cabal2nix/default.nix @@ -3,8 +3,8 @@ cabal.mkDerivation (self: { pname = "cabal2nix"; - version = "1.60"; - sha256 = "1jp4rq8gfdz5knm9cbralhjyw2a391cck49422bskl7c23p94y3l"; + version = "1.61"; + sha256 = "058bwswkhsj3rbxl42n23ri79smmhkaj6wid4c6x02yl3m8l7xsy"; isLibrary = false; isExecutable = true; buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ]; From cf4142b015876f69d530206655501e5320b90172 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 1 Apr 2014 00:27:12 +0200 Subject: [PATCH 071/880] haskell-bytestring-show: update to version 0.3.5.6 --- .../development/libraries/haskell/bytestring-show/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/bytestring-show/default.nix b/pkgs/development/libraries/haskell/bytestring-show/default.nix index b71b2a3ad83..19b8f15bc6d 100644 --- a/pkgs/development/libraries/haskell/bytestring-show/default.nix +++ b/pkgs/development/libraries/haskell/bytestring-show/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "bytestring-show"; - version = "0.3.5.5"; - sha256 = "0vd8f3jrzi2s119rcn20k6srk6l7ypiars1mxw1n1jrjx8ill2y4"; + version = "0.3.5.6"; + sha256 = "04h81a0bh2fvnkby1qafnydb29gzk6d4d311i2lbn7lm2vyjw919"; buildDepends = [ binary ]; meta = { homepage = "http://code.haskell.org/~dolio/"; From 79a4148aa2c1554399b3c05e809b32d09d7e087c Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 2 Apr 2014 18:26:21 +0200 Subject: [PATCH 072/880] gnome-font-viewer: new package Program that can preview fonts and create thumbnails for fonts --- .../core/gnome-font-viewer/default.nix | 39 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 2 files changed, 41 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix new file mode 100644 index 00000000000..8a1b0054e39 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix @@ -0,0 +1,39 @@ +{ stdenv, intltool, fetchurl +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool +, gnome3, librsvg, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "gnome-font-viewer-3.10.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-font-viewer/3.10/${name}.tar.xz"; + sha256 = "3928350f58ac6c95f44b64cba1a5f03437b19d9b2645a7b01176067504fdd652"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gnome_desktop + gnome3.gsettings_desktop_schemas makeWrapper ]; + + installFlags = "gsettingsschemadir=\${out}/share/gnome-font-viewer/glib-2.0/schemas/"; + + postInstall = '' + wrapProgram "$out/bin/gnome-font-viewer" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-font-viewer:$XDG_ICON_DIRS" + ''; + + meta = with stdenv.lib; { + description = "Program that can preview fonts and create thumbnails for fonts"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 9e79460ec42..03bd3203b28 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -42,6 +42,8 @@ rec { gnome_common = callPackage ./core/gnome-common { }; + gnome-font-viewer = callPackage ./core/gnome-font-viewer { }; + gnome_icon_theme = callPackage ./core/gnome-icon-theme { }; gnome_icon_theme_symbolic = callPackage ./core/gnome-icon-theme-symbolic { }; From 457fdb38425fd00378f213f9bd5c306ed99395bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 27 Feb 2014 08:22:41 +0100 Subject: [PATCH 073/880] texinfo: move ncurses support into texinfoInteractive This, for example, drops the stdenv dependency on ncurses. --- pkgs/development/tools/misc/texinfo/5.2.nix | 5 +++-- pkgs/top-level/all-packages.nix | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix index 1bb8fca0ecf..0a7446fe534 100644 --- a/pkgs/development/tools/misc/texinfo/5.2.nix +++ b/pkgs/development/tools/misc/texinfo/5.2.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, ncurses, perl, xz }: +{ stdenv, fetchurl, ncurses, perl, xz, interactive ? false }: stdenv.mkDerivation rec { name = "texinfo-5.2"; @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"; }; - buildInputs = [ ncurses perl xz ]; + buildInputs = [ perl xz ] + ++ stdenv.lib.optional interactive ncurses; preInstall = '' installFlags="TEXMF=$out/texmf-dist"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90cb16d0bec..08ac0eb93d3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3914,6 +3914,9 @@ let texinfo5 = callPackage ../development/tools/misc/texinfo/5.2.nix { }; texinfo4 = texinfo413; texinfo = texinfo5; + texinfoInteractive = appendToName "interactive" ( + texinfo.override { interactive = true; } + ); texi2html = callPackage ../development/tools/misc/texi2html { }; From 267d0a5ab6c56150c9476c54a6d7988e8e95939a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 27 Feb 2014 08:28:35 +0100 Subject: [PATCH 074/880] Merge #1633: --enable-symlinks in ncurses and e2fsprogs --- pkgs/development/libraries/ncurses/default.nix | 2 +- pkgs/tools/filesystems/e2fsprogs/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix index 2e5db48b7df..993993cecd0 100644 --- a/pkgs/development/libraries/ncurses/default.nix +++ b/pkgs/development/libraries/ncurses/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (rec { patches = [ ./patch-ac ]; configureFlags = '' - --with-shared --without-debug --enable-pc-files + --with-shared --without-debug --enable-pc-files --enable-symlinks ${if unicode then "--enable-widec" else ""}${if cxx then "" else "--without-cxx-binding"} ''; diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix index 16e836e2ddc..dcbf7235e49 100644 --- a/pkgs/tools/filesystems/e2fsprogs/default.nix +++ b/pkgs/tools/filesystems/e2fsprogs/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { }; # libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency). - configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck"; + configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck --enable-symlink-install"; enableParallelBuilding = true; From 25f0b7cb5060fa64205f085204f488ed45a17412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 1 Mar 2014 13:56:30 +0100 Subject: [PATCH 075/880] gcc-{,cross-}wrapper: add 'cpp' wrapper (close #1820) The gcc-wrapper doesn't wrap 'cpp'. This breaks some software (such as Buildroot) because the 'cpp' they get come from the non-wrapped gcc package which doesn't know about any standard include paths. gcc-cross-wrapper is untested. --- pkgs/build-support/gcc-cross-wrapper/builder.sh | 2 ++ pkgs/build-support/gcc-wrapper/builder.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkgs/build-support/gcc-cross-wrapper/builder.sh b/pkgs/build-support/gcc-cross-wrapper/builder.sh index 5a5bd45a8f8..2dfa315d168 100644 --- a/pkgs/build-support/gcc-cross-wrapper/builder.sh +++ b/pkgs/build-support/gcc-cross-wrapper/builder.sh @@ -87,6 +87,8 @@ mkGccWrapper $out/bin/$crossConfig-gcc $gccPath/$crossConfig-gcc mkGccWrapper $out/bin/$crossConfig-g++ $gccPath/$crossConfig-g++ ln -s $crossConfig-g++ $out/bin/$crossConfig-c++ +mkGccWrapper $out/bin/$crossConfig-cpp $gccPath/$crossConfig-cpp + mkGccWrapper $out/bin/$crossConfig-g77 $gccPath/$crossConfig-g77 ln -s $crossConfig-g77 $out/bin/$crossConfig-f77 diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh index e7c3400e9f7..b19f2dc067c 100644 --- a/pkgs/build-support/gcc-wrapper/builder.sh +++ b/pkgs/build-support/gcc-wrapper/builder.sh @@ -154,6 +154,8 @@ then ln -sv g++ $out/bin/c++ fi +mkGccWrapper $out/bin/cpp $gccPath/cpp + if mkGccWrapper $out/bin/gfortran $gccPath/gfortran then ln -sv gfortran $out/bin/g77 From de11c288c17864258fec530255a8d6b7d5eecf4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 1 Mar 2014 14:00:54 +0100 Subject: [PATCH 076/880] gcc-wrapper: preferLocalBuild, as it does little work This is re-revert of e31523a369a. --- pkgs/build-support/gcc-wrapper/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix index 1f521f40585..8e8b0b90945 100644 --- a/pkgs/build-support/gcc-wrapper/default.nix +++ b/pkgs/build-support/gcc-wrapper/default.nix @@ -73,6 +73,8 @@ stdenv.mkDerivation { abort "don't know the name of the dynamic linker for this platform"); }; + preferLocalBuild = true; + meta = let gcc_ = if gcc != null then gcc else {}; in (if gcc_ ? meta then removeAttrs gcc.meta ["priority"] else {}) // From 1046b4ccabdef4313520fb41be627232ffa44fc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 9 Mar 2014 21:38:15 +0100 Subject: [PATCH 077/880] Merge #1905: perl: disable tests that involve networking I rebased the branch not to include newer changes from master. --- pkgs/development/interpreters/perl/5.16/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/interpreters/perl/5.16/default.nix b/pkgs/development/interpreters/perl/5.16/default.nix index a8c17545303..bbd9e003b2c 100644 --- a/pkgs/development/interpreters/perl/5.16/default.nix +++ b/pkgs/development/interpreters/perl/5.16/default.nix @@ -70,6 +70,8 @@ stdenv.mkDerivation rec { testsToSkip = '' lib/Net/hostent.t \ dist/IO/t/{io_multihomed.t,io_sock.t} \ + dist/Net-Ping/t/*.t \ + cpan/autodie/t/truncate.t \ t/porting/{maintainers.t,regen.t} \ cpan/Socket/t/get{name,addr}info.t \ '' + optionalString stdenv.isFreeBSD '' From 1f6a15d7ded115ece48419cb1e642816b2145db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 10 Mar 2014 20:30:27 +0100 Subject: [PATCH 078/880] Merge #1901: add preFixupPhases to stdenv; for gsettings Without this stdenv change it seems difficult to fix some glib's gsettings issues, as the folders in question may (not) be created in installPhase. --- doc/stdenv.xml | 7 +++++++ pkgs/desktops/gnome-3/core/baobab/default.nix | 15 +++++---------- pkgs/development/libraries/glib/default.nix | 2 ++ pkgs/development/libraries/glib/setup-hook.sh | 17 +++++++++++++++++ pkgs/stdenv/generic/setup.sh | 2 +- pkgs/stdenv/mingw/setup.sh | 2 +- 6 files changed, 33 insertions(+), 12 deletions(-) create mode 100644 pkgs/development/libraries/glib/setup-hook.sh diff --git a/doc/stdenv.xml b/doc/stdenv.xml index 1846886919d..74eb63b4b49 100644 --- a/doc/stdenv.xml +++ b/doc/stdenv.xml @@ -298,6 +298,13 @@ executed and in what order: + + preFixupPhases + + Additional phases executed just before the fixup phase. + + + preDistPhases diff --git a/pkgs/desktops/gnome-3/core/baobab/default.nix b/pkgs/desktops/gnome-3/core/baobab/default.nix index 07805644d90..5121f1f69be 100644 --- a/pkgs/desktops/gnome-3/core/baobab/default.nix +++ b/pkgs/desktops/gnome-3/core/baobab/default.nix @@ -1,7 +1,7 @@ { stdenv, intltool, fetchurl, vala, libgtop , pkgconfig, gtk3, glib, hicolor_icon_theme , bash, makeWrapper, itstool, libxml2 -, gnome3, librsvg, gdk_pixbuf }: +, gnome3, librsvg, gdk_pixbuf, file }: stdenv.mkDerivation rec { name = "baobab-3.10.1"; @@ -22,19 +22,14 @@ stdenv.mkDerivation rec { hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; buildInputs = [ vala pkgconfig gtk3 glib libgtop intltool itstool libxml2 - gnome3.gsettings_desktop_schemas makeWrapper ]; - - installFlags = "gsettingsschemadir=\${out}/share/baobab/glib-2.0/schemas/"; - - postInstall = '' - wrapProgram "$out/bin/baobab" \ - --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/baobab:$XDG_ICON_DIRS" - ''; + gnome3.gsettings_desktop_schemas makeWrapper file ]; preFixup = '' rm $out/share/icons/hicolor/icon-theme.cache rm $out/share/icons/HighContrast/icon-theme.cache + wrapProgram "$out/bin/baobab" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index af4b152dcce..033a1def3ce 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -48,6 +48,8 @@ stdenv.mkDerivation rec { sha256 = "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd"; }; + setupHook = ./setup-hook.sh; + buildInputs = [ libelf ] ++ optionals doCheck [ tzdata libxml2 desktop_file_utils shared_mime_info ]; diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh new file mode 100644 index 00000000000..e5c0c372da0 --- /dev/null +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -0,0 +1,17 @@ +# Install gschemas, if any, in a package-specific directory +installFlagsArray+=("gsettingsschemadir=$out/gsettings-schemas/$name/glib-2.0/schemas/") + +make_glib_find_gsettings_schemas() { + # For packages that need gschemas of other packages (e.g. empathy) + if [ -d "$1/gsettings-schemas/*/glib-2.0/schemas" ]; then + addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/gsettings-schemas/"* + fi +} + +envHooks+=(make_glib_find_gsettings_schemas) + +glibPreFixupPhase() { + addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/gsettings-schemas/$name" +} + +preFixupPhases="$preFixupPhases glibPreFixupPhase" diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index 4740c638633..d79131ac067 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -877,7 +877,7 @@ genericBuild() { if [ -z "$phases" ]; then phases="$prePhases unpackPhase patchPhase $preConfigurePhases \ configurePhase $preBuildPhases buildPhase checkPhase \ - $preInstallPhases installPhase fixupPhase installCheckPhase \ + $preInstallPhases installPhase $preFixupPhases fixupPhase installCheckPhase \ $preDistPhases distPhase $postPhases"; fi diff --git a/pkgs/stdenv/mingw/setup.sh b/pkgs/stdenv/mingw/setup.sh index 592580a829e..c757eb7ae54 100755 --- a/pkgs/stdenv/mingw/setup.sh +++ b/pkgs/stdenv/mingw/setup.sh @@ -725,7 +725,7 @@ genericBuild() { if test -z "$phases"; then phases="$prePhases unpackPhase patchPhase $preConfigurePhases \ configurePhase $preBuildPhases buildPhase checkPhase \ - $preInstallPhases installPhase fixupPhase \ + $preInstallPhases installPhase $preFixupPhases fixupPhase \ $preDistPhases distPhase $postPhases"; fi From 23d38a3e223df9f25ed5493794f21b4a0e9f607c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 16 Mar 2014 08:23:59 +0100 Subject: [PATCH 079/880] gcc44: disable parallel build Maybe 4.4 is no longer needed? #699 --- pkgs/development/compilers/gcc/4.4/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/gcc/4.4/default.nix b/pkgs/development/compilers/gcc/4.4/default.nix index e81ca398319..99c342da780 100644 --- a/pkgs/development/compilers/gcc/4.4/default.nix +++ b/pkgs/development/compilers/gcc/4.4/default.nix @@ -246,7 +246,8 @@ stdenv.mkDerivation ({ enableMultilib version; }; # ghdl does not build fine with parallel building - enableParallelBuilding = !langVhdl && !langAda; + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46173 + #enableParallelBuilding = !langVhdl && !langAda; meta = { homepage = http://gcc.gnu.org/; From 1ed628acb21fd8ee7d6b70947b2fbbd61d13ec01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 19 Mar 2014 08:37:05 +0100 Subject: [PATCH 080/880] gcc-wrapper: don't fail when cpp doesn't exist This is fixup for 1d3917bb #1820. Gnatboot doesn't have cpp. --- pkgs/build-support/gcc-wrapper/builder.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/build-support/gcc-wrapper/builder.sh b/pkgs/build-support/gcc-wrapper/builder.sh index b19f2dc067c..c79680712ee 100644 --- a/pkgs/build-support/gcc-wrapper/builder.sh +++ b/pkgs/build-support/gcc-wrapper/builder.sh @@ -154,7 +154,7 @@ then ln -sv g++ $out/bin/c++ fi -mkGccWrapper $out/bin/cpp $gccPath/cpp +mkGccWrapper $out/bin/cpp $gccPath/cpp || true if mkGccWrapper $out/bin/gfortran $gccPath/gfortran then From c4371afd06ae0185aef6bb6d503e2629b5c7cd82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 19 Mar 2014 19:56:51 +0100 Subject: [PATCH 081/880] stdenv/setup.sh: make substitute* not drop EOF newline This should solve #1982. --- pkgs/stdenv/generic/setup.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh index d79131ac067..1d79a45678c 100644 --- a/pkgs/stdenv/generic/setup.sh +++ b/pkgs/stdenv/generic/setup.sh @@ -304,9 +304,11 @@ substitute() { local -a params=("$@") - local n p pattern replacement varName + local n p pattern replacement varName content - local content="$(cat $input)" + # a slightly hacky way to keep newline at the end + content="$(cat $input; echo -n X)" + content="${content%X}" for ((n = 2; n < ${#params[*]}; n += 1)); do p=${params[$n]} From 0119561d99250a9e2bda50a377d3ba53b9827aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Wed, 2 Apr 2014 21:07:23 +0200 Subject: [PATCH 082/880] nodePackages: add react.js and update node-packages-generated.nix --- pkgs/top-level/node-packages-generated.nix | 256 +++++++++++++++++---- pkgs/top-level/node-packages.json | 1 + 2 files changed, 214 insertions(+), 43 deletions(-) diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix index d8f4f2078c7..b764512ff0b 100644 --- a/pkgs/top-level/node-packages-generated.nix +++ b/pkgs/top-level/node-packages-generated.nix @@ -1018,6 +1018,25 @@ ]; passthru.names = [ "backoff" ]; }; + by-spec."base62"."0.1.1" = + self.by-version."base62"."0.1.1"; + by-version."base62"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "node-base62-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/base62/-/base62-0.1.1.tgz"; + name = "base62-0.1.1.tgz"; + sha1 = "7b4174c2f94449753b11c2651c083da841a7b084"; + }) + ]; + buildInputs = + (self.nativeDeps."base62" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "base62" ]; + }; by-spec."base64-js"."~0.0.4" = self.by-version."base64-js"."0.0.6"; by-version."base64-js"."0.0.6" = lib.makeOverridable self.buildNodePackage { @@ -5140,6 +5159,29 @@ ]; passthru.names = [ "entities" ]; }; + by-spec."envify"."~1.2.0" = + self.by-version."envify"."1.2.1"; + by-version."envify"."1.2.1" = lib.makeOverridable self.buildNodePackage { + name = "envify-1.2.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/envify/-/envify-1.2.1.tgz"; + name = "envify-1.2.1.tgz"; + sha1 = "ac34e3676f9035d59518fef57d9914a24a18767a"; + }) + ]; + buildInputs = + (self.nativeDeps."envify" or []); + deps = [ + self.by-version."xtend"."2.1.2" + self.by-version."through"."2.3.4" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" + self.by-version."jstransform"."3.0.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "envify" ]; + }; by-spec."errorhandler"."1.0.0" = self.by-version."errorhandler"."1.0.0"; by-version."errorhandler"."1.0.0" = lib.makeOverridable self.buildNodePackage { @@ -5378,6 +5420,25 @@ self.by-version."esprima"."1.0.4"; by-spec."esprima"."~1.0.4" = self.by-version."esprima"."1.0.4"; + by-spec."esprima-fb"."~3001.1.0-dev-harmony-fb" = + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb"; + by-version."esprima-fb"."3001.1.0-dev-harmony-fb" = lib.makeOverridable self.buildNodePackage { + name = "esprima-fb-3001.1.0-dev-harmony-fb"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz"; + name = "esprima-fb-3001.1.0-dev-harmony-fb.tgz"; + sha1 = "b77d37abcd38ea0b77426bb8bc2922ce6b426411"; + }) + ]; + buildInputs = + (self.nativeDeps."esprima-fb" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "esprima-fb" ]; + }; by-spec."esprima-six"."0.0.3" = self.by-version."esprima-six"."0.0.3"; by-version."esprima-six"."0.0.3" = lib.makeOverridable self.buildNodePackage { @@ -7515,7 +7576,7 @@ ]; peerDependencies = [ self.by-version."grunt"."0.4.4" - self.by-version."karma"."0.12.2" + self.by-version."karma"."0.12.3" ]; passthru.names = [ "grunt-karma" ]; }; @@ -8994,6 +9055,34 @@ by-spec."jsesc"."~0.4.3" = self.by-version."jsesc"."0.4.3"; by-spec."jshint"."*" = + self.by-version."jshint"."2.5.0"; + by-version."jshint"."2.5.0" = lib.makeOverridable self.buildNodePackage { + name = "jshint-2.5.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/jshint/-/jshint-2.5.0.tgz"; + name = "jshint-2.5.0.tgz"; + sha1 = "82fd1a235ffce75fad1b40b2a38bef47beac8c54"; + }) + ]; + buildInputs = + (self.nativeDeps."jshint" or []); + deps = [ + self.by-version."shelljs"."0.1.4" + self.by-version."underscore"."1.4.4" + self.by-version."cli"."0.4.5" + self.by-version."minimatch"."0.2.14" + self.by-version."htmlparser2"."3.3.0" + self.by-version."console-browserify"."0.1.6" + self.by-version."exit"."0.1.2" + self.by-version."strip-json-comments"."0.1.1" + ]; + peerDependencies = [ + ]; + passthru.names = [ "jshint" ]; + }; + "jshint" = self.by-version."jshint"."2.5.0"; + by-spec."jshint"."~2.4.0" = self.by-version."jshint"."2.4.4"; by-version."jshint"."2.4.4" = lib.makeOverridable self.buildNodePackage { name = "jshint-2.4.4"; @@ -9019,9 +9108,6 @@ ]; passthru.names = [ "jshint" ]; }; - "jshint" = self.by-version."jshint"."2.4.4"; - by-spec."jshint"."~2.4.0" = - self.by-version."jshint"."2.4.4"; by-spec."json-schema"."0.2.2" = self.by-version."json-schema"."0.2.2"; by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage { @@ -9178,6 +9264,28 @@ ]; passthru.names = [ "jsprim" ]; }; + by-spec."jstransform"."~3.0.0" = + self.by-version."jstransform"."3.0.0"; + by-version."jstransform"."3.0.0" = lib.makeOverridable self.buildNodePackage { + name = "node-jstransform-3.0.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/jstransform/-/jstransform-3.0.0.tgz"; + name = "jstransform-3.0.0.tgz"; + sha1 = "a2591ab6cee8d97bf3be830dbfa2313b87cd640b"; + }) + ]; + buildInputs = + (self.nativeDeps."jstransform" or []); + deps = [ + self.by-version."base62"."0.1.1" + self.by-version."esprima-fb"."3001.1.0-dev-harmony-fb" + self.by-version."source-map"."0.1.31" + ]; + peerDependencies = [ + ]; + passthru.names = [ "jstransform" ]; + }; by-spec."junk"."~0.2.0" = self.by-version."junk"."0.2.2"; by-version."junk"."0.2.2" = lib.makeOverridable self.buildNodePackage { @@ -9198,14 +9306,14 @@ passthru.names = [ "junk" ]; }; by-spec."karma"."*" = - self.by-version."karma"."0.12.2"; - by-version."karma"."0.12.2" = lib.makeOverridable self.buildNodePackage { - name = "karma-0.12.2"; + self.by-version."karma"."0.12.3"; + by-version."karma"."0.12.3" = lib.makeOverridable self.buildNodePackage { + name = "karma-0.12.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma/-/karma-0.12.2.tgz"; - name = "karma-0.12.2.tgz"; - sha1 = "9c145720fb088807b3af8de4c68a4c530e45c4de"; + url = "http://registry.npmjs.org/karma/-/karma-0.12.3.tgz"; + name = "karma-0.12.3.tgz"; + sha1 = "2599e3e8797de991cf68ed80290e7462c1e8483d"; }) ]; buildInputs = @@ -9233,24 +9341,24 @@ ]; passthru.names = [ "karma" ]; }; - "karma" = self.by-version."karma"."0.12.2"; + "karma" = self.by-version."karma"."0.12.3"; by-spec."karma".">=0.11.11" = - self.by-version."karma"."0.12.2"; + self.by-version."karma"."0.12.3"; by-spec."karma".">=0.9" = - self.by-version."karma"."0.12.2"; + self.by-version."karma"."0.12.3"; by-spec."karma".">=0.9.3" = - self.by-version."karma"."0.12.2"; + self.by-version."karma"."0.12.3"; by-spec."karma"."~0.12.0" = - self.by-version."karma"."0.12.2"; + self.by-version."karma"."0.12.3"; by-spec."karma-chrome-launcher"."*" = - self.by-version."karma-chrome-launcher"."0.1.2"; - by-version."karma-chrome-launcher"."0.1.2" = lib.makeOverridable self.buildNodePackage { - name = "node-karma-chrome-launcher-0.1.2"; + self.by-version."karma-chrome-launcher"."0.1.3"; + by-version."karma-chrome-launcher"."0.1.3" = lib.makeOverridable self.buildNodePackage { + name = "node-karma-chrome-launcher-0.1.3"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.2.tgz"; - name = "karma-chrome-launcher-0.1.2.tgz"; - sha1 = "f7154d03be01f4c246368d56d43d7232e14ccce6"; + url = "http://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.3.tgz"; + name = "karma-chrome-launcher-0.1.3.tgz"; + sha1 = "b7f82dd9c83c84d26355bf31159739706973a3ec"; }) ]; buildInputs = @@ -9258,11 +9366,11 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.12.2" + self.by-version."karma"."0.12.3" ]; passthru.names = [ "karma-chrome-launcher" ]; }; - "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.2"; + "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."0.1.3"; by-spec."karma-coverage"."*" = self.by-version."karma-coverage"."0.2.1"; by-version."karma-coverage"."0.2.1" = lib.makeOverridable self.buildNodePackage { @@ -9282,7 +9390,7 @@ self.by-version."dateformat"."1.0.7-1.2.3" ]; peerDependencies = [ - self.by-version."karma"."0.12.2" + self.by-version."karma"."0.12.3" ]; passthru.names = [ "karma-coverage" ]; }; @@ -9304,7 +9412,7 @@ self.by-version."xmlbuilder"."0.4.2" ]; peerDependencies = [ - self.by-version."karma"."0.12.2" + self.by-version."karma"."0.12.3" ]; passthru.names = [ "karma-junit-reporter" ]; }; @@ -9325,7 +9433,7 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.12.2" + self.by-version."karma"."0.12.3" self.by-version."mocha"."1.18.2" ]; passthru.names = [ "karma-mocha" ]; @@ -9347,21 +9455,21 @@ deps = [ ]; peerDependencies = [ - self.by-version."karma"."0.12.2" + self.by-version."karma"."0.12.3" self.by-version."requirejs"."2.1.11" ]; passthru.names = [ "karma-requirejs" ]; }; "karma-requirejs" = self.by-version."karma-requirejs"."0.2.1"; by-spec."karma-sauce-launcher"."*" = - self.by-version."karma-sauce-launcher"."0.2.4"; - by-version."karma-sauce-launcher"."0.2.4" = lib.makeOverridable self.buildNodePackage { - name = "node-karma-sauce-launcher-0.2.4"; + self.by-version."karma-sauce-launcher"."0.2.5"; + by-version."karma-sauce-launcher"."0.2.5" = lib.makeOverridable self.buildNodePackage { + name = "node-karma-sauce-launcher-0.2.5"; src = [ (fetchurl { - url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.4.tgz"; - name = "karma-sauce-launcher-0.2.4.tgz"; - sha1 = "9d33b23d44c7580ea0d9d1651fd56d96276d8cd7"; + url = "http://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-0.2.5.tgz"; + name = "karma-sauce-launcher-0.2.5.tgz"; + sha1 = "d1fe0c0dbc104e5be04a2050a61f13ab7ae8ca04"; }) ]; buildInputs = @@ -9373,11 +9481,11 @@ self.by-version."saucelabs"."0.1.1" ]; peerDependencies = [ - self.by-version."karma"."0.12.2" + self.by-version."karma"."0.12.3" ]; passthru.names = [ "karma-sauce-launcher" ]; }; - "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.4"; + "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."0.2.5"; by-spec."keen.io"."~0.0.4" = self.by-version."keen.io"."0.0.4"; by-version."keen.io"."0.0.4" = lib.makeOverridable self.buildNodePackage { @@ -12630,7 +12738,7 @@ (fetchurl { url = "https://github.com/ciaranj/node-oauth/tarball/master"; name = "oauth-0.9.11.tgz"; - sha256 = "8716e78676584860379f3ccc0f510beea508152d1728f3f17e8e760e12b0ef8f"; + sha256 = "14cc7a064e3eda0948ac8db72fae140cb7b0fdbe031375d02cd6d0359c8b8faa"; }) ]; buildInputs = @@ -14156,6 +14264,27 @@ }; by-spec."rc"."~0.3.4" = self.by-version."rc"."0.3.4"; + by-spec."react"."*" = + self.by-version."react"."0.10.0"; + by-version."react"."0.10.0" = lib.makeOverridable self.buildNodePackage { + name = "node-react-0.10.0"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/react/-/react-0.10.0.tgz"; + name = "react-0.10.0.tgz"; + sha1 = "8c82753593d3f325ca99d820f7400ab02f1ee1f8"; + }) + ]; + buildInputs = + (self.nativeDeps."react" or []); + deps = [ + ]; + peerDependencies = [ + self.by-version."envify"."1.2.1" + ]; + passthru.names = [ "react" ]; + }; + "react" = self.by-version."react"."0.10.0"; by-spec."read"."1" = self.by-version."read"."1.0.5"; by-version."read"."1.0.5" = lib.makeOverridable self.buildNodePackage { @@ -15877,14 +16006,14 @@ by-spec."slide"."~1.1.5" = self.by-version."slide"."1.1.5"; by-spec."smartdc"."*" = - self.by-version."smartdc"."7.2.0"; - by-version."smartdc"."7.2.0" = lib.makeOverridable self.buildNodePackage { - name = "smartdc-7.2.0"; + self.by-version."smartdc"."7.2.1"; + by-version."smartdc"."7.2.1" = lib.makeOverridable self.buildNodePackage { + name = "smartdc-7.2.1"; src = [ (fetchurl { - url = "http://registry.npmjs.org/smartdc/-/smartdc-7.2.0.tgz"; - name = "smartdc-7.2.0.tgz"; - sha1 = "2b4f9375f2c709061e96440976767774d5e4fe86"; + url = "http://registry.npmjs.org/smartdc/-/smartdc-7.2.1.tgz"; + name = "smartdc-7.2.1.tgz"; + sha1 = "6fce690557f6b563c061d6adee161d6b33d06148"; }) ]; buildInputs = @@ -15902,7 +16031,7 @@ ]; passthru.names = [ "smartdc" ]; }; - "smartdc" = self.by-version."smartdc"."7.2.0"; + "smartdc" = self.by-version."smartdc"."7.2.1"; by-spec."smartdc-auth"."1.0.1" = self.by-version."smartdc-auth"."1.0.1"; by-version."smartdc-auth"."1.0.1" = lib.makeOverridable self.buildNodePackage { @@ -16143,6 +16272,26 @@ ]; passthru.names = [ "source-map" ]; }; + by-spec."source-map"."0.1.31" = + self.by-version."source-map"."0.1.31"; + by-version."source-map"."0.1.31" = lib.makeOverridable self.buildNodePackage { + name = "node-source-map-0.1.31"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz"; + name = "source-map-0.1.31.tgz"; + sha1 = "9f704d0d69d9e138a81badf6ebb4fde33d151c61"; + }) + ]; + buildInputs = + (self.nativeDeps."source-map" or []); + deps = [ + self.by-version."amdefine"."0.1.0" + ]; + peerDependencies = [ + ]; + passthru.names = [ "source-map" ]; + }; by-spec."source-map"."0.1.x" = self.by-version."source-map"."0.1.33"; by-spec."source-map".">= 0.1.2" = @@ -16593,6 +16742,25 @@ ]; passthru.names = [ "strip-ansi" ]; }; + by-spec."strip-json-comments"."0.1.x" = + self.by-version."strip-json-comments"."0.1.1"; + by-version."strip-json-comments"."0.1.1" = lib.makeOverridable self.buildNodePackage { + name = "strip-json-comments-0.1.1"; + src = [ + (fetchurl { + url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.1.tgz"; + name = "strip-json-comments-0.1.1.tgz"; + sha1 = "eb5a750bd4e8dc82817295a115dc11b63f01d4b0"; + }) + ]; + buildInputs = + (self.nativeDeps."strip-json-comments" or []); + deps = [ + ]; + peerDependencies = [ + ]; + passthru.names = [ "strip-json-comments" ]; + }; by-spec."strong-data-uri"."~0.1.0" = self.by-version."strong-data-uri"."0.1.1"; by-version."strong-data-uri"."0.1.1" = lib.makeOverridable self.buildNodePackage { @@ -19083,6 +19251,8 @@ ]; passthru.names = [ "xtend" ]; }; + by-spec."xtend"."~2.1.2" = + self.by-version."xtend"."2.1.2"; by-spec."yargs"."~1.1.2" = self.by-version."yargs"."1.1.3"; by-version."yargs"."1.1.3" = lib.makeOverridable self.buildNodePackage { diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json index 07adedb9a70..025c636b737 100644 --- a/pkgs/top-level/node-packages.json +++ b/pkgs/top-level/node-packages.json @@ -120,4 +120,5 @@ , "gh" , "deepmerge" , "slasp" +, "react" ] From 7b6225c3a4104c7fb5a373de7046e82d5eeb4bcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 2 Apr 2014 21:37:27 +0200 Subject: [PATCH 083/880] mesa: try enabling tests again I know this doesn't really belong into this branch, but rebuilding time is expensive (and I forgot in x-updates). Tests do work locally for me, but we might hit that mentioned bug again. --- pkgs/development/libraries/mesa/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index e5cd54c572f..2996fac4bb0 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -95,8 +95,7 @@ stdenv.mkDerivation { ; enableParallelBuilding = true; - #doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672, - #tests for 10.* fail to link due to some RTTI problem + doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672, # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM; # also move libOSMesa to $osmesa, as it's relatively big From 0b1e408b6b7c0dcb5d4d800f4795279dda50f9b3 Mon Sep 17 00:00:00 2001 From: "ambrop7@gmail.com" Date: Tue, 1 Apr 2014 23:52:52 +0200 Subject: [PATCH 084/880] vlc: Build with VDPAU support (close #2096) --- pkgs/applications/video/vlc/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index de2615d8334..2c5b53c596a 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -6,6 +6,7 @@ , mpeg2dec, udev, gnutls, avahi, libcddb, jackaudio, SDL, SDL_image , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus +, libvdpau }: stdenv.mkDerivation rec { @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { udev gnutls avahi libcddb jackaudio SDL SDL_image libmtp unzip taglib libkate libtiger libv4l samba liboggz libass libdvbpsi libva xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms - libdc1394 libraw1394 libopus libebml libmatroska + libdc1394 libraw1394 libopus libebml libmatroska libvdpau ]; nativeBuildInputs = [ pkgconfig ]; @@ -34,6 +35,7 @@ stdenv.mkDerivation rec { "--with-kde-solid=$out/share/apps/solid/actions" "--enable-dc1394" "--enable-ncurses" + "--enable-vdpau" ]; preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure''; From 44190ff1b9124735dcc4212c6ae48eb8b9bcc225 Mon Sep 17 00:00:00 2001 From: Gergely Risko Date: Wed, 2 Apr 2014 23:34:31 +0200 Subject: [PATCH 085/880] Update ffmpeg dependency in oraclejdk7 --- pkgs/development/compilers/jdk/jdk7-linux.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/jdk/jdk7-linux.nix b/pkgs/development/compilers/jdk/jdk7-linux.nix index 106b9fa02d7..2d2c07c67ff 100644 --- a/pkgs/development/compilers/jdk/jdk7-linux.nix +++ b/pkgs/development/compilers/jdk/jdk7-linux.nix @@ -9,7 +9,7 @@ , glib , libxml2 , libav_0_8 -, ffmpeg_0_6 +, ffmpeg , libxslt , mesa_noglu , freetype @@ -149,7 +149,7 @@ stdenv.mkDerivation rec { * libXt is only needed on amd64 */ libraries = - [stdenv.gcc.libc glib libxml2 libav_0_8 ffmpeg_0_6 libxslt mesa_noglu xlibs.libXxf86vm alsaLib fontconfig freetype gnome.pango gnome.gtk cairo gdk_pixbuf] ++ + [stdenv.gcc.libc glib libxml2 libav_0_8 ffmpeg libxslt mesa_noglu xlibs.libXxf86vm alsaLib fontconfig freetype gnome.pango gnome.gtk cairo gdk_pixbuf] ++ (if swingSupport then [xlibs.libX11 xlibs.libXext xlibs.libXtst xlibs.libXi xlibs.libXp xlibs.libXt xlibs.libXrender stdenv.gcc.gcc] else []); passthru.mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins"; From 0c66dbaee6647abfb4d2774588a0cf0ad8d4f02b Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Wed, 2 Apr 2014 17:58:54 -0400 Subject: [PATCH 086/880] Enable CC_STACKPROTECTOR_REGULAR on linux 3.14+ --- pkgs/os-specific/linux/kernel/common-config.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index a2b139dc6fc..5aed09105cc 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -167,8 +167,10 @@ with stdenv.lib; STRICT_DEVMEM y # Filter access to /dev/mem SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default DEVKMEM n # Disable /dev/kmem - ${optionalString (versionOlder version "3.14") '' + ${if versionOlder version "3.14" then '' CC_STACKPROTECTOR y # Detect buffer overflows on the stack + '' else '' + CC_STACKPROTECTOR_REGULAR y ''} ${optionalString (versionAtLeast version "3.12") '' USER_NS y # Support for user namespaces From 7973471c7b18224bcf15a6efb080e328a99fb387 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Sun, 30 Mar 2014 20:21:40 +0300 Subject: [PATCH 087/880] perlPackages.IOSocketInet6: update from 2.71 to 2.72 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f3663083384..43d81b6da86 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4373,10 +4373,10 @@ let self = _self // overrides; _self = with self; { }; IOSocketInet6 = buildPerlPackage rec { - name = "IO-Socket-INET6-2.71"; + name = "IO-Socket-INET6-2.72"; src = fetchurl { url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; - sha256 = "041iv3fdskvk7in73bf7253ah9aiqwxzi4zxfiwkn0jlb7mnqjrl"; + sha256 = "1fqypz6qa5rw2d5y2zq7f49frwra0aln13nhq5gi514j2zx21q45"; }; propagatedBuildInputs = [Socket6]; doCheck = false; From 9f957d054f0645ae451450fd0240f74243349b64 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 07:03:42 +0300 Subject: [PATCH 088/880] hostapd: update from 2.0 to 2.1 --- pkgs/os-specific/linux/hostapd/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix index 410fa6a7ad6..a8988f0a452 100644 --- a/pkgs/os-specific/linux/hostapd/default.nix +++ b/pkgs/os-specific/linux/hostapd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "hostapd-${version}"; - version = "2.0"; + version = "2.1"; src = fetchurl { url = "http://hostap.epitest.fi/releases/${name}.tar.gz"; - sha256 = "262ce394b930bccc3d65fb99ee380f28d36444978f524c845a98e8e29f4e9d35"; + sha256 = "121gpcs1ws7m2v8jk091jhmz3pm2xmhwkv96gqkyb4k0bgsi0waw"; }; buildInputs = [ libnl openssl pkgconfig ]; @@ -23,6 +23,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = http://hostap.epitest.fi; + repositories.git = git://w1.fi/hostap.git; description = "A user space daemon for access point and authentication servers"; license = licenses.gpl2; maintainers = [ maintainers.phreedom ]; From bf0bc1044d843ae93121eff2e6fd55c7448c7200 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 07:27:31 +0300 Subject: [PATCH 089/880] youtubeDL: update from 2014.03.30.1 to 2014.04.02 --- pkgs/tools/misc/youtube-dl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 6e2f92e9c1c..1a99cb291c4 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, python, zip }: let - version = "2014.03.30.1"; + version = "2014.04.02"; in stdenv.mkDerivation rec { name = "youtube-dl-${version}"; src = fetchurl { url = "http://youtube-dl.org/downloads/${version}/${name}.tar.gz"; - sha256 = "07xdhgc2sgr7bqkaxwcihvx6l0m6alp3i8d0ij7cxrk6b6rvwrgx"; + sha256 = "1c9d5wjl0aaqfvz868wbkr3dwby9vjkx0hkbnwx0wnpg48nlnwpm"; }; buildInputs = [ python ]; From 8654b6b51ce367c2e4980d52766ff7f8d51a84dd Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 07:36:35 +0300 Subject: [PATCH 090/880] perlPackages.GD: update from 2.50 to 2.53 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 43d81b6da86..249a8dfe571 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3712,10 +3712,10 @@ let self = _self // overrides; _self = with self; { }; GD = buildPerlPackage rec { - name = "GD-2.50"; + name = "GD-2.53"; src = fetchurl { url = "mirror://cpan/authors/id/L/LD/LDS/${name}.tar.gz"; - sha256 = "1qm8l0z2568byw4zmaqf954y3rm8nzx1nnz6cxnxd3d4cz894lvd"; + sha256 = "1ampz82kf0ixybncfgpvq2bp9nq5sjsmmw4c8srsv0g5jpz02pfh"; }; buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype From 899fd2942a040ef20c00abb0f9aff63b2f839520 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 07:45:37 +0300 Subject: [PATCH 091/880] units: update from 2.02 to 2.10 --- pkgs/tools/misc/units/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix index 0d1a962cbf6..84f0f63bd25 100644 --- a/pkgs/tools/misc/units/default.nix +++ b/pkgs/tools/misc/units/default.nix @@ -1,13 +1,14 @@ {stdenv, fetchurl}: stdenv.mkDerivation { - name = "units-2.02"; + name = "units-2.10"; src = fetchurl { - url = mirror://gnu/units/units-2.02.tar.gz; - sha256 = "16jfji9g1zc99agd5dcinajinhcxr4dgq2lrbc9md69ir5qgld1b"; + url = mirror://gnu/units/units-2.10.tar.gz; + sha256 = "0fa4bk5aqyis5zisz6l8mqqk76njj6zgx3pbrjp5kvraz1dz78lc"; }; meta = { description = "Unit conversion tool"; + platforms = stdenv.lib.platforms.linux; }; } From 4bdf7f4bea20023b54a9c0f80e298edef5927cc4 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 07:52:32 +0300 Subject: [PATCH 092/880] liboauth: update from 1.0.1 to 1.0.2 --- pkgs/development/libraries/liboauth/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix index 5a3b54544b5..b3eee8ed434 100644 --- a/pkgs/development/libraries/liboauth/default.nix +++ b/pkgs/development/libraries/liboauth/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { - name = "liboauth-1.0.1"; + name = "liboauth-1.0.2"; src = fetchurl { url = "mirror://sourceforge/liboauth/${name}.tar.gz"; - sha256 = "12wdwq09nba8dzzcgcpbzmgcjr141ky69pm78s15hyyvw4px71sh"; + sha256 = "1qs58yzydw20dmzvx22i541w641kwd6ja80s9na1az32n1krh6zv"; }; buildInputs = [ nss openssl ]; @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { platforms = platforms.linux; description = "C library implementing the OAuth secure authentication protocol"; homepage = http://liboauth.sourceforge.net/; + repositories.git = https://github.com/x42/liboauth.git; }; } From 3830fa819596df1e6d336ee581fc709fecd8cc99 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 07:55:17 +0300 Subject: [PATCH 093/880] add git repositry and meta.branch --- pkgs/applications/misc/mupdf/default.nix | 1 + pkgs/development/libraries/giflib/4.1.nix | 3 +++ 2 files changed, 4 insertions(+) diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix index 57ac7da9b78..ef7571f5d14 100644 --- a/pkgs/applications/misc/mupdf/default.nix +++ b/pkgs/applications/misc/mupdf/default.nix @@ -39,6 +39,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://mupdf.com/; + repositories.git = git://git.ghostscript.com/mupdf.git; description = "Lightweight PDF viewer and toolkit written in portable C"; license = "GPLv3+"; maintainers = with stdenv.lib.maintainers; [ viric ]; diff --git a/pkgs/development/libraries/giflib/4.1.nix b/pkgs/development/libraries/giflib/4.1.nix index 35d66b3647b..13cd1c79b6a 100644 --- a/pkgs/development/libraries/giflib/4.1.nix +++ b/pkgs/development/libraries/giflib/4.1.nix @@ -6,5 +6,8 @@ stdenv.mkDerivation { url = mirror://sourceforge/giflib/giflib-4.1.6.tar.bz2; sha256 = "1v9b7ywz7qg8hli0s9vv1b8q9xxb2xvqq2mg1zpr73xwqpcwxhg1"; }; + meta = { + branch = "4.1"; + }; } From 901a2fc581c14430c63696a12d5ebfc93ac429d1 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 07:56:36 +0300 Subject: [PATCH 094/880] manpages: update from 3.62 to 3.63 --- pkgs/data/documentation/man-pages/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix index b43cc8a7995..f384aa512eb 100644 --- a/pkgs/data/documentation/man-pages/default.nix +++ b/pkgs/data/documentation/man-pages/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "man-pages-3.62"; + name = "man-pages-3.63"; src = fetchurl { url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz"; - sha256 = "1pxnbznrzckzdnlfbdsg9hjd2g93q6b433l4gp095kdxxjqm1mgk"; + sha256 = "06iw95d3xpr9y5kbf889g4zvqlp7z68yabk3sjylbjdzapyqhgz6"; }; preBuild = @@ -16,5 +16,6 @@ stdenv.mkDerivation rec { meta = { description = "Linux development manual pages"; homepage = http://www.kernel.org/doc/man-pages/; + repositories.git = http://git.kernel.org/pub/scm/docs/man-pages/man-pages; }; } From 5150da8a5cf1c48c984a2b41e5f7ac4bd47745de Mon Sep 17 00:00:00 2001 From: vi Date: Thu, 3 Apr 2014 13:39:52 +0800 Subject: [PATCH 095/880] Added a derivation for Goerzen's `ftphs`. --- .../libraries/haskell/ftphs/default.nix | 18 ++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/development/libraries/haskell/ftphs/default.nix diff --git a/pkgs/development/libraries/haskell/ftphs/default.nix b/pkgs/development/libraries/haskell/ftphs/default.nix new file mode 100644 index 00000000000..c682c593ea6 --- /dev/null +++ b/pkgs/development/libraries/haskell/ftphs/default.nix @@ -0,0 +1,18 @@ +{ cabal, hslogger, MissingH, mtl, network, parsec, regexCompat }: + +cabal.mkDerivation (self: { + pname = "ftphs"; + version = "1.0.9.1"; + sha256 = "1whvawaifhi5xgmiagdayjf7m6p6vs71mvc4a4csd4vzzjr0a2yf"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + hslogger MissingH mtl network parsec regexCompat + ]; + meta = { + homepage = "http://software.complete.org/ftphs"; + description = "FTP Client and Server Library"; + license = "LGPL"; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index d9f00fb3f0b..64bf6e18e0e 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1083,6 +1083,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x fileLocation = callPackage ../development/libraries/haskell/file-location {}; + ftphs = callPackage ../development/libraries/haskell/ftphs {}; + extensibleEffects = callPackage ../development/libraries/haskell/extensible-effects {}; extensibleExceptions_0_1_1_0 = callPackage ../development/libraries/haskell/extensible-exceptions/0.1.1.0.nix {}; From 685d5a02a23a6fa52a82a79f3ec27d659c5a8a3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 3 Apr 2014 09:12:26 +0200 Subject: [PATCH 096/880] mesa: disable tests again Still affected by https://bugs.freedesktop.org/show_bug.cgi?id=67672 --- pkgs/development/libraries/mesa/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 2996fac4bb0..b7de29109dc 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -95,7 +95,7 @@ stdenv.mkDerivation { ; enableParallelBuilding = true; - doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672, + #doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672 # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM; # also move libOSMesa to $osmesa, as it's relatively big From bf8991175a19f8addd9622c61e7df946dec33522 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 10:22:59 +0300 Subject: [PATCH 097/880] global: update from 6.2.9 to 6.2.12 --- pkgs/development/tools/misc/global/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix index d1cd59d8828..4048d21c8f7 100644 --- a/pkgs/development/tools/misc/global/default.nix +++ b/pkgs/development/tools/misc/global/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libtool, ncurses }: stdenv.mkDerivation rec { - name = "global-6.2.9"; + name = "global-6.2.12"; src = fetchurl { url = "mirror://gnu/global/${name}.tar.gz"; - sha256 = "00y38kp0zbpjl9c9phldy7j2ihqc54qn4cdgk0azbjdsv75k3n6q"; + sha256 = "05jkhya1cs6yqhkf8nw5x56adkxxrqyga7sq7hx44dbf7alczwfa"; }; buildInputs = [ libtool ncurses ]; From 9cc46ebd926b9b76d3c11d186088aa44ab555014 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 10:26:55 +0300 Subject: [PATCH 098/880] ipmiutil: update from 2.9.2 to 2.9.3 --- pkgs/tools/system/ipmiutil/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix index 9f2afb9a0b2..c5f33c32359 100644 --- a/pkgs/tools/system/ipmiutil/default.nix +++ b/pkgs/tools/system/ipmiutil/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { baseName = "ipmiutil"; - version = "2.9.2"; + version = "2.9.3"; name = "${baseName}-${version}"; src = fetchurl { url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz"; - sha256 = "1n7amk8wbx9a9gbm37nyb8v0c37qgp6hv4hn3nln80rr6g98f9n3"; + sha256 = "1dwyxp4jn5wxzyahd0x839kj1q7z6xin1wybpx9na4xsgscj6v27"; }; buildInputs = [ openssl ]; From 9b4080b7af615241f65925f8082bcdb175b11159 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 10:28:15 +0300 Subject: [PATCH 099/880] mercurialFull: update from 2.9.1 to 2.9.2 --- pkgs/applications/version-management/mercurial/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index 609e2654d59..5fdafe8ac2a 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -2,7 +2,7 @@ , guiSupport ? false, tk ? null, curses }: let - name = "mercurial-2.9.1"; + name = "mercurial-2.9.2"; in stdenv.mkDerivation { @@ -10,7 +10,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://mercurial.selenic.com/release/${name}.tar.gz"; - sha256 = "06n07di6cf57bglnbh8szimngclyvf9c5ismz470gnyb9r1v23x2"; + sha256 = "0lwgncim4cy91ly8389h2bbhl4nbi8xjgp0kx37kgq8q2lx2nil6"; }; inherit python; # pass it so that the same version can be used in hg2git From 586d19d787eb4efb9294d3141fd3fff60e83cac2 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 10:30:47 +0300 Subject: [PATCH 100/880] mc: update from 4.8.11 to 4.8.12 --- pkgs/tools/misc/mc/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix index 88194ec0fdf..594947ba13d 100644 --- a/pkgs/tools/misc/mc/default.nix +++ b/pkgs/tools/misc/mc/default.nix @@ -2,11 +2,11 @@ , libX11, libICE, perl, zip, unzip, gettext, slang}: stdenv.mkDerivation rec { - name = "mc-4.8.11"; + name = "mc-4.8.12"; src = fetchurl { - url = http://www.midnight-commander.org/downloads/mc-4.8.11.tar.bz2; - sha256 = "1yjm6rp9h3491mar7vdw88mgvydmz7zdj97mmjkqyf5bidx4w2hf"; + url = http://www.midnight-commander.org/downloads/mc-4.8.12.tar.bz2; + sha256 = "15lkwcis0labshq9k8c2fqdwv8az2c87qpdqwp5p31s8gb1gqm0h"; }; buildInputs = [ pkgconfig perl glib gpm slang zip unzip file gettext libX11 libICE e2fsprogs ]; @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { meta = { description = "File Manager and User Shell for the GNU Project"; homepage = http://www.midnight-commander.org; + repositories.git = git://github.com/MidnightCommander/mc.git; license = "GPLv2+"; maintainers = [ stdenv.lib.maintainers.sander ]; }; From dd01251657a968840ce552945747bc1652921e57 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 10:40:05 +0300 Subject: [PATCH 101/880] perlPackages.TestWarn: update from 0.24 to 0.30 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 249a8dfe571..98778736f3b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8634,10 +8634,10 @@ let self = _self // overrides; _self = with self; { }; TestWarn = buildPerlPackage { - name = "Test-Warn-0.24"; + name = "Test-Warn-0.30"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.24.tar.gz; - sha256 = "12r1mcwrm6cgc3ppgawwv265vmrighj4bl6xc5c41f4c2l6bdxml"; + url = mirror://cpan/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz; + sha256 = "0haf2ii7br5z0psmkvlvmx2z2q9qz1c70gx0969r378qjidmb5w1"; }; propagatedBuildInputs = [ SubUplevel TreeDAGNode ]; meta = { From 91dd38ab796c5ed7ce33a222c283b5851ef3e2f9 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 10:42:27 +0300 Subject: [PATCH 102/880] perlPackages.TermReadLineGnu: update from 1.20 to 1.24 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 98778736f3b..dae501c7814 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8055,10 +8055,10 @@ let self = _self // overrides; _self = with self; { }; TermReadLineGnu = buildPerlPackage rec { - name = "Term-ReadLine-Gnu-1.20"; + name = "Term-ReadLine-Gnu-1.24"; src = fetchurl { url = "mirror://cpan/authors/id/H/HA/HAYASHI/${name}.tar.gz"; - sha256 = "00fvkqbnpmyld59jv2vbfw1szr5d0xxmbgl59gr7qijp9c497ni5"; + sha256 = "0dp18pgn8vl4dh6rgzcp1kzk4j6wjrrxd6sfcrrywy7jg4b7ikfc"; }; buildInputs = [ pkgs.readline pkgs.ncurses ]; NIX_CFLAGS_LINK = "-lreadline"; From 5d34b323a56dbd7b1370775b67b449992d9eeb00 Mon Sep 17 00:00:00 2001 From: Evgeny Egorochkin Date: Thu, 3 Apr 2014 10:46:02 +0300 Subject: [PATCH 103/880] mpv: update from 0.3.2 to 0.3.7 --- pkgs/applications/video/mpv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index f059472aa9b..b37a8a87630 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -52,7 +52,7 @@ let sha256 = "03cc750049350ee01cdbc584b70924e333fcc17ba4a2d04648dab1535538a873"; }; - version = "0.3.2"; + version = "0.3.7"; in @@ -61,7 +61,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; - sha256 = "1vzdhzry2adyp2yh2dmy1qznqhnzar7g24rhi0vv624jgd20qax2"; + sha256 = "1qmwmjvgdwh88l2caw2xy1d2h1cdg2w1hl4q5iwx2c0q7a99h41m"; }; buildInputs = with stdenv.lib; From c4339a029e163ed3d319847558bb3af26250341c Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Thu, 3 Apr 2014 14:25:37 +0100 Subject: [PATCH 104/880] haskellPackages.twitterConduit: New expression I've had to patch authenticate-oauth to get this working. The patch comes from a commit that's already in master, so future versions will have this and it's ok if cabal2nix ends up discarding this information. --- .../haskell/authenticate-oauth/RSA2.patch | 57 +++++++++++++++++++ .../haskell/authenticate-oauth/default.nix | 3 + .../haskell/twitter-conduit/default.nix | 28 +++++++++ .../haskell/twitter-types/default.nix | 23 ++++++++ pkgs/top-level/haskell-packages.nix | 4 ++ 5 files changed, 115 insertions(+) create mode 100644 pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch create mode 100644 pkgs/development/libraries/haskell/twitter-conduit/default.nix create mode 100644 pkgs/development/libraries/haskell/twitter-types/default.nix diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch b/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch new file mode 100644 index 00000000000..6a888aa3277 --- /dev/null +++ b/pkgs/development/libraries/haskell/authenticate-oauth/RSA2.patch @@ -0,0 +1,57 @@ +From c401c2c585b5345243211e981c123a92b995b448 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Sat, 25 Jan 2014 13:35:52 +0300 +Subject: [PATCH] authenticate-oauth.cabal: allow RSA-2 + +The only cosmetic change is rename of 'ha_SHA1' to 'hashSHA1' + +Signed-off-by: Sergei Trofimovich +--- + authenticate-oauth/Web/Authenticate/OAuth.hs | 10 ++++++++-- + authenticate-oauth/authenticate-oauth.cabal | 2 +- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/authenticate-oauth/Web/Authenticate/OAuth.hs b/authenticate-oauth/Web/Authenticate/OAuth.hs +index 3f38c8c..eccd0f1 100644 +--- a/authenticate-oauth/Web/Authenticate/OAuth.hs ++++ b/authenticate-oauth/Web/Authenticate/OAuth.hs +@@ -21,7 +21,7 @@ module Web.Authenticate.OAuth + paramEncode, addScope, addMaybeProxy + ) where + import Blaze.ByteString.Builder (toByteString, Builder) +-import Codec.Crypto.RSA (ha_SHA1, rsassa_pkcs1_v1_5_sign) ++import qualified Codec.Crypto.RSA as RSA + import Control.Exception + import Control.Monad + import Control.Monad.IO.Class (MonadIO, liftIO) +@@ -346,7 +346,13 @@ genSign oa tok req = + PLAINTEXT -> + return $ BS.intercalate "&" $ map paramEncode [oauthConsumerSecret oa, tokenSecret tok] + RSASHA1 pr -> +- liftM (encode . toStrict . rsassa_pkcs1_v1_5_sign ha_SHA1 pr) (getBaseString tok req) ++ liftM (encode . toStrict . RSA.rsassa_pkcs1_v1_5_sign ++#if MIN_VERSION_RSA(2, 0, 0) ++ RSA.hashSHA1 ++#else ++ RSA.ha_SHA1 ++#endif ++ pr) (getBaseString tok req) + + #if MIN_VERSION_http_conduit(2, 0, 0) + addAuthHeader :: BS.ByteString -> Credential -> Request -> Request +diff --git a/authenticate-oauth/authenticate-oauth.cabal b/authenticate-oauth/authenticate-oauth.cabal +index 00507da..e11c3bd 100644 +--- a/authenticate-oauth/authenticate-oauth.cabal ++++ b/authenticate-oauth/authenticate-oauth.cabal +@@ -19,7 +19,7 @@ library + , transformers >= 0.1 && < 0.4 + , bytestring >= 0.9 + , crypto-pubkey-types >= 0.1 && < 0.5 +- , RSA >= 1.2 && < 1.3 ++ , RSA >= 1.2 && < 2.1 + , time + , data-default + , base64-bytestring >= 0.1 && < 1.1 +-- +1.9.1 + diff --git a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix index 15c8267ca3e..9a75bd0cea5 100644 --- a/pkgs/development/libraries/haskell/authenticate-oauth/default.nix +++ b/pkgs/development/libraries/haskell/authenticate-oauth/default.nix @@ -7,6 +7,8 @@ cabal.mkDerivation (self: { pname = "authenticate-oauth"; version = "1.4.0.8"; sha256 = "1mc36d6lkmqywzsxhzwv4445mmwdz0rr5ibd2a1nbgw5c5jw76fy"; + patches = [ ./RSA2.patch ]; + patchFlags = "-p2"; buildDepends = [ base64Bytestring blazeBuilder blazeBuilderConduit conduit cryptoPubkeyTypes dataDefault httpConduit httpTypes monadControl @@ -17,5 +19,6 @@ cabal.mkDerivation (self: { description = "Library to authenticate with OAuth for Haskell web applications"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; }; }) diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix new file mode 100644 index 00000000000..d3985877077 --- /dev/null +++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix @@ -0,0 +1,28 @@ +{ cabal, aeson, attoparsec, attoparsecConduit, authenticateOauth +, conduit, dataDefault, doctest, failure, filepath, hlint +, httpClientMultipart, httpConduit, httpTypes, lens, liftedBase +, monadControl, monadLogger, resourcet, shakespeareText, text, time +, transformers, transformersBase, twitterTypes +}: + +cabal.mkDerivation (self: { + pname = "twitter-conduit"; + version = "0.0.2"; + sha256 = "1bkn0lfwwr5lnw4xfzdjiad48r1qz6m4z0nq1inz45gflmjwmghj"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + aeson attoparsec attoparsecConduit authenticateOauth conduit + dataDefault failure httpClientMultipart httpConduit httpTypes lens + liftedBase monadControl monadLogger resourcet shakespeareText text + time transformers transformersBase twitterTypes + ]; + testDepends = [ doctest filepath hlint ]; + meta = { + homepage = "https://github.com/himura/twitter-conduit"; + description = "Twitter API package with conduit interface and Streaming API support"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix new file mode 100644 index 00000000000..299d39c4546 --- /dev/null +++ b/pkgs/development/libraries/haskell/twitter-types/default.nix @@ -0,0 +1,23 @@ +{ cabal, aeson, attoparsec, httpTypes, HUnit, shakespeareText +, testFramework, testFrameworkHunit, testFrameworkThPrime, text +, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "twitter-types"; + version = "0.2.20130101"; + sha256 = "0y7pymwcv8i5f8hqh4h018xp5bd998l8fx9f2a8x6d53c7l34wmd"; + buildDepends = [ aeson httpTypes text unorderedContainers ]; + testDepends = [ + aeson attoparsec httpTypes HUnit shakespeareText testFramework + testFrameworkHunit testFrameworkThPrime text unorderedContainers + ]; + meta = { + homepage = "https://github.com/himura/twitter-types"; + description = "Twitter JSON parser and types"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.ocharles ]; + }; + doCheck = false; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 64bf6e18e0e..a963dd2b1e6 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2522,6 +2522,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x tuple = callPackage ../development/libraries/haskell/tuple {}; + twitterConduit = callPackage ../development/libraries/haskell/twitter-conduit {}; + + twitterTypes = callPackage ../development/libraries/haskell/twitter-types {}; + TypeCompose = callPackage ../development/libraries/haskell/TypeCompose {}; typeEq = callPackage ../development/libraries/haskell/type-eq {}; From fee81c37398f547faddfff7ee10d945bb4513f09 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 1 Apr 2014 15:42:18 +0200 Subject: [PATCH 105/880] Always enable container logins --- nixos/modules/module-list.nix | 1 + nixos/modules/virtualisation/container-login.nix | 6 ++++-- nixos/modules/virtualisation/containers.nix | 1 - nixos/modules/virtualisation/nixos-container.pl | 1 - 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 1c2fca1f88b..a7bf69cfc79 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -294,6 +294,7 @@ ./tasks/scsi-link-power-management.nix ./tasks/swraid.nix ./testing/service-runner.nix + ./virtualisation/container-login.nix ./virtualisation/containers.nix ./virtualisation/libvirtd.nix #./virtualisation/nova.nix diff --git a/nixos/modules/virtualisation/container-login.nix b/nixos/modules/virtualisation/container-login.nix index 09eaf90ae65..fb5e333b32a 100644 --- a/nixos/modules/virtualisation/container-login.nix +++ b/nixos/modules/virtualisation/container-login.nix @@ -1,8 +1,10 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: + +with lib; { - config = { + config = mkIf config.boot.isContainer { # Provide a login prompt on /var/lib/login.socket. On the host, # you can connect to it by running ‘socat diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 9964cd431cd..6c8a6f876c8 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -105,7 +105,6 @@ in security.initialRootPassword = mkDefault "!"; networking.hostName = mkDefault name; networking.useDHCP = false; - imports = [ ./container-login.nix ]; }; in [ extraConfig config.config ]; prefix = [ "containers" name ]; diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index dfc856e8b66..b08ed076658 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -116,7 +116,6 @@ with pkgs.lib; security.initialRootPassword = mkDefault "!"; networking.hostName = mkDefault "$containerName"; networking.useDHCP = false; - imports = [ ]; $extraConfig } EOF From 269926df0d1e0b03b9697f84e5b9720fa966b293 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 1 Apr 2014 15:43:27 +0200 Subject: [PATCH 106/880] container-login.nix -> container-config.nix --- nixos/modules/module-list.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a7bf69cfc79..e6694b8c99b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -294,7 +294,7 @@ ./tasks/scsi-link-power-management.nix ./tasks/swraid.nix ./testing/service-runner.nix - ./virtualisation/container-login.nix + ./virtualisation/container-config.nix ./virtualisation/containers.nix ./virtualisation/libvirtd.nix #./virtualisation/nova.nix From 1ad9a654be1120a6844c9eb7520188e874178ebe Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 1 Apr 2014 16:02:53 +0200 Subject: [PATCH 107/880] Make starting a container synchronous So now "systemctl start container@foo" will only return after the container has reached multi-user.target. --- ...ntainer-login.nix => container-config.nix} | 14 +++++++++++ nixos/modules/virtualisation/containers.nix | 25 ++++++++++++++++--- 2 files changed, 36 insertions(+), 3 deletions(-) rename nixos/modules/virtualisation/{container-login.nix => container-config.nix} (79%) diff --git a/nixos/modules/virtualisation/container-login.nix b/nixos/modules/virtualisation/container-config.nix similarity index 79% rename from nixos/modules/virtualisation/container-login.nix rename to nixos/modules/virtualisation/container-config.nix index fb5e333b32a..3d107899e4f 100644 --- a/nixos/modules/virtualisation/container-login.nix +++ b/nixos/modules/virtualisation/container-config.nix @@ -53,6 +53,20 @@ with lib; }; }; + systemd.services.container-startup-done = + { description = "Container Startup Notification"; + wantedBy = [ "multi-user.target" ]; + after = [ "multi-user.target" ]; + script = + '' + if [ -p /var/lib/startup-done ]; then + echo done > /var/lib/startup-done + fi + ''; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + }; + }; } diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 6c8a6f876c8..9be79cec369 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -150,11 +150,21 @@ in path = [ pkgs.iproute ]; environment.INSTANCE = "%i"; + environment.root = "/var/lib/containers/%i"; + + preStart = + '' + mkdir -p -m 0755 $root/var/lib + + # Create a named pipe to get a signal when the container + # has finished booting. + rm -f $root/var/lib/startup-done + mkfifo $root/var/lib/startup-done + ''; script = '' - root="/var/lib/containers/$INSTANCE" - mkdir -p -m 0755 "$root/etc" + mkdir -p -m 0755 "$root/etc" "$root/var/lib" if ! [ -e "$root/etc/os-release" ]; then touch "$root/etc/os-release" fi @@ -209,6 +219,13 @@ in "$SYSTEM_PATH/init" ''; + postStart = + '' + # This blocks until the container-startup-done service + # writes something to this pipe. + read x < $root/var/lib/startup-done + ''; + preStop = '' pid="$(cat /sys/fs/cgroup/systemd/machine/$INSTANCE.nspawn/system/tasks 2> /dev/null)" @@ -238,8 +255,10 @@ in . "/etc/containers/$INSTANCE.conf" fi echo $SYSTEM_PATH/bin/switch-to-configuration test | \ - ${pkgs.socat}/bin/socat unix:/var/lib/containers/$INSTANCE/var/lib/root-shell.socket - + ${pkgs.socat}/bin/socat unix:$root/var/lib/root-shell.socket - ''; + + serviceConfig.SyslogIdentifier = "container %i"; }; # Generate a configuration file in /etc/containers for each From b0b3fa928ad572c67bc3545c2b160bd8aef79d7a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 1 Apr 2014 16:35:11 +0200 Subject: [PATCH 108/880] Disable container support in containers Systemd-nspawn doesn't support nesting, so providing nixos-container inside a container doesn't make sense. --- nixos/modules/virtualisation/containers.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 9be79cec369..097dd3993eb 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -140,7 +140,7 @@ in }; - config = { + config = mkIf (!config.boot.isContainer) { systemd.services."container@" = { description = "Container '%i'"; @@ -222,7 +222,8 @@ in postStart = '' # This blocks until the container-startup-done service - # writes something to this pipe. + # writes something to this pipe. FIXME: it also hangs + # until the start timeout expires if systemd-nspawn exits. read x < $root/var/lib/startup-done ''; From 1e4fa227fe434c2042a2c690f62a7072afa36e93 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 3 Apr 2014 16:25:21 +0200 Subject: [PATCH 109/880] nixos-container: Don't destroy declarative containers --- nixos/modules/virtualisation/nixos-container.pl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index b08ed076658..e42a3edd024 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -1,6 +1,7 @@ #! @perl@ use strict; +use POSIX; use File::Path; use File::Slurp; use Fcntl ':flock'; @@ -148,6 +149,9 @@ sub stopContainer { } if ($action eq "destroy") { + die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n" + unless POSIX::access($confFile, &POSIX::W_OK); + my $root = "/var/lib/containers/$containerName"; my $profileDir = "/nix/var/nix/profiles/per-container/$containerName"; From 819e7c9fbd57698ecbf3653067c497b5887cfd87 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 3 Apr 2014 16:26:03 +0200 Subject: [PATCH 110/880] Add a test for NixOS containers --- nixos/modules/installer/cd-dvd/channel.nix | 2 +- nixos/tests/containers.nix | 79 ++++++++++++++++++++++ nixos/tests/default.nix | 1 + 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/containers.nix diff --git a/nixos/modules/installer/cd-dvd/channel.nix b/nixos/modules/installer/cd-dvd/channel.nix index 9aca5b89d25..74428f66dfa 100644 --- a/nixos/modules/installer/cd-dvd/channel.nix +++ b/nixos/modules/installer/cd-dvd/channel.nix @@ -28,7 +28,7 @@ in { # Provide the NixOS/Nixpkgs sources in /etc/nixos. This is required # for nixos-install. - boot.postBootCommands = + boot.postBootCommands = mkAfter '' if ! [ -e /var/lib/nixos/did-channel-init ]; then echo "unpacking the NixOS/Nixpkgs sources..." diff --git a/nixos/tests/containers.nix b/nixos/tests/containers.nix new file mode 100644 index 00000000000..d72e80b71af --- /dev/null +++ b/nixos/tests/containers.nix @@ -0,0 +1,79 @@ +# Test for NixOS' container support. + +{ pkgs, ... }: + +{ + + machine = + { config, pkgs, ... }: + { imports = [ ../modules/installer/cd-dvd/channel.nix ]; + virtualisation.writableStore = true; + virtualisation.memorySize = 768; + + containers.webserver = + { privateNetwork = true; + hostAddress = "10.231.136.1"; + localAddress = "10.231.136.2"; + config = + { services.httpd.enable = true; + services.httpd.adminAddr = "foo@example.org"; + }; + }; + + virtualisation.pathsInNixDB = [ pkgs.stdenv ]; + }; + + testScript = + '' + $machine->succeed("nixos-container list") =~ /webserver/; + + # Start the webserver container. + $machine->succeed("nixos-container start webserver"); + + # Since "start" returns after the container has reached + # multi-user.target, we should now be able to access it. + my $ip = $machine->succeed("nixos-container show-ip webserver"); + chomp $ip; + $machine->succeed("ping -c1 $ip"); + $machine->succeed("curl --fail http://$ip/ > /dev/null"); + + # Stop the container. + $machine->succeed("nixos-container stop webserver"); + $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null"); + + # Make sure we have a NixOS tree (required by ‘nixos-container create’). + $machine->succeed("nix-env -qa -A nixos.pkgs.hello >&2"); + + # Create some containers imperatively. + my $id1 = $machine->succeed("nixos-container create foo --ensure-unique-name"); + chomp $id1; + $machine->log("created container $id1"); + + my $id2 = $machine->succeed("nixos-container create foo --ensure-unique-name"); + chomp $id2; + $machine->log("created container $id2"); + + die if $id1 eq $id2; + + my $ip1 = $machine->succeed("nixos-container show-ip $id1"); + chomp $ip1; + my $ip2 = $machine->succeed("nixos-container show-ip $id2"); + chomp $ip2; + die if $ip1 eq $ip2; + + # Start one of them. + $machine->succeed("nixos-container start $id1"); + + # Execute commands via the root shell. + $machine->succeed("echo uname | nixos-container root-shell $id1") =~ /Linux/; + $machine->succeed("nixos-container set-root-password $id1 foobar"); + + # Destroy the containers. + $machine->succeed("nixos-container destroy $id1"); + $machine->succeed("nixos-container destroy $id2"); + + # Destroying a declarative container should fail. + $machine->fail("nixos-container destroy webserver"); + ''; + +} diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix index 5b68862a2cd..20deed2a249 100644 --- a/nixos/tests/default.nix +++ b/nixos/tests/default.nix @@ -8,6 +8,7 @@ with import ../lib/testing.nix { inherit system minimal; }; { avahi = makeTest (import ./avahi.nix); bittorrent = makeTest (import ./bittorrent.nix); + containers = makeTest (import ./containers.nix); firefox = makeTest (import ./firefox.nix); firewall = makeTest (import ./firewall.nix); installer = makeTests (import ./installer.nix); From f2cb92f5d4ac559c29def5cea90503c93ae0d344 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 3 Apr 2014 20:13:35 +0200 Subject: [PATCH 111/880] maxima: update to version 5.33.0 --- pkgs/applications/science/math/maxima/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 684ac321900..7123b476f35 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -2,7 +2,7 @@ let name = "maxima"; - version = "5.32.1"; + version = "5.33.0"; searchPath = stdenv.lib.makeSearchPath "bin" @@ -13,7 +13,7 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz"; - sha256 = "0krxha1jckgw5s52bjasf7bnkcnq81qyi2k1bcglgqzfp79b44gw"; + sha256 = "13axm11xw0f3frx5b0qdidi7igkn1524fzz77s9rbpl2yy2nrbz2"; }; buildInputs = [sbcl texinfo perl makeWrapper]; From 6e086caa8aca6c5d90bc32536efd705a674ecd10 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 3 Apr 2014 20:44:31 +0200 Subject: [PATCH 112/880] xterm: Don't enable unless X11 is enabled --- nixos/modules/services/x11/desktop-managers/xterm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/xterm.nix b/nixos/modules/services/x11/desktop-managers/xterm.nix index edc61c103ea..7321199b818 100644 --- a/nixos/modules/services/x11/desktop-managers/xterm.nix +++ b/nixos/modules/services/x11/desktop-managers/xterm.nix @@ -19,7 +19,7 @@ in }; - config = mkIf cfg.enable { + config = mkIf (config.services.xserver.enable && cfg.enable) { services.xserver.desktopManager.session = singleton { name = "xterm"; From 6c6d7dc11db0bf645c1799abd32af2be9094ee0b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 3 Apr 2014 14:19:18 -0500 Subject: [PATCH 113/880] ssh: Don't set xauth if not running xserver --- nixos/modules/programs/ssh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix index a66679dff90..89333533465 100644 --- a/nixos/modules/programs/ssh.nix +++ b/nixos/modules/programs/ssh.nix @@ -31,7 +31,7 @@ in setXAuthLocation = mkOption { type = types.bool; - default = true; + default = config.services.xserver.enable; description = '' Whether to set the path to xauth for X11-forwarded connections. This causes a dependency on X11 packages. From 52fbaee8d753ca87c8d6439256e044633ecabe4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Thu, 3 Apr 2014 22:46:45 +0200 Subject: [PATCH 114/880] solr: add extraJars option --- nixos/modules/services/search/solr.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix index a79b1194c80..a1567c535d9 100644 --- a/nixos/modules/services/search/solr.nix +++ b/nixos/modules/services/search/solr.nix @@ -23,6 +23,10 @@ let ln -s ${pkgs.ant}/lib/ant/lib/ant.jar $out/lib/ ln -s ${cfg.solrPackage}/lib/ext/* $out/lib/ ln -s ${pkgs.openjdk}/lib/openjdk/lib/tools.jar $out/lib/ + '' + optionalString (cfg.extraJars != []) '' + for f in ${concatStringsSep " " cfg.extraJars}; do + cp $f $out/lib + done ''; }; @@ -54,6 +58,14 @@ in { ''; }; + extraJars = mkOption { + type = types.listOf types.path; + default = []; + description = '' + List of paths pointing to jars. Jars are copied to commonLibFolder to be available to java/solr. + ''; + }; + log4jConfiguration = mkOption { type = types.lines; default = '' From 8b5c6172378fdd447fb89acf4dbf2e1d5ed0f416 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Thu, 3 Apr 2014 21:36:13 -0400 Subject: [PATCH 115/880] Add fuse to env by default Fixes #458 --- nixos/modules/tasks/filesystems.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index b0bcd2eb373..f9b40b8366a 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -148,7 +148,7 @@ in system.fsPackages = [ pkgs.dosfstools ]; environment.systemPackages = - [ pkgs.ntfs3g pkgs.cifs_utils ] + [ pkgs.ntfs3g pkgs.cifs_utils pkgs.fuse ] ++ config.system.fsPackages; environment.etc.fstab.text = From f82b678508a9c870866522c3779bd4377fe74757 Mon Sep 17 00:00:00 2001 From: Arvin Moezzi Date: Fri, 4 Apr 2014 09:25:21 +0200 Subject: [PATCH 116/880] calibre: upgrade from 1.25.0 to 1.31.0 --- pkgs/applications/misc/calibre/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index f3d7c26fe5c..c2d8e7979e4 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "calibre-1.25.0"; + name = "calibre-1.31.0"; src = fetchurl { url = "mirror://sourceforge/calibre/${name}.tar.xz"; - sha256 = "1y221r5vgq426ldqjrx3qvgf3j3v2wncwzra747psvhwf95zd5fd"; + sha256 = "1fl42y8ppw8s51v66dqsrg1ib28yi6z5779r9wfvdbl9v1clilfc"; }; inherit python; From 7df1ce5088f3404b985aac4bb1814f98463a43a0 Mon Sep 17 00:00:00 2001 From: Matej Cotman Date: Thu, 3 Apr 2014 18:54:10 +0200 Subject: [PATCH 117/880] syncthing: new package and nixos module --- nixos/modules/module-list.nix | 1 + .../modules/services/networking/syncthing.nix | 73 +++++++++++++++++++ .../networking/syncthing/default.nix | 51 +++++++++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 127 insertions(+) create mode 100644 nixos/modules/services/networking/syncthing.nix create mode 100644 pkgs/applications/networking/syncthing/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 652a99e7c5a..5d8461bb885 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -198,6 +198,7 @@ ./services/networking/sabnzbd.nix ./services/networking/searx.nix ./services/networking/supybot.nix + ./services/networking/syncthing.nix ./services/networking/ssh/lshd.nix ./services/networking/ssh/sshd.nix ./services/networking/tftpd.nix diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix new file mode 100644 index 00000000000..345693fec76 --- /dev/null +++ b/nixos/modules/services/networking/syncthing.nix @@ -0,0 +1,73 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.syncthing; + +in + +{ + + ###### interface + + options = { + + services.syncthing = { + + enable = mkOption { + default = false; + description = '' + Whether to enable the Syncthing, self-hosted open-source alternative + to Dropbox and BittorrentSync. Initial interface will be + available on http://127.0.0.1:8080/. + ''; + }; + + user = mkOption { + default = "syncthing"; + description = '' + Syncthing will be run under this user (user must exist, + this can be your user name). + ''; + }; + + dataDir = mkOption { + default = "/var/lib/syncthing"; + description = '' + Path where the `.syncthing` (settings and keys) and `Sync` + (your synced files) directories will exist. This can be your home + directory. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.syncthing.enable { + + systemd.services.syncthing = + { + description = "Syncthing service"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + environment.STNORESTART = "placeholder"; # do not self-restart + environment.HOME = "${config.services.syncthing.dataDir}"; + serviceConfig = { + User = "${config.services.syncthing.user}"; + ExecStart = "${pkgs.syncthing}/bin/syncthing -home=${config.services.syncthing.dataDir}/.syncthing"; + Restart = "always"; + }; + + }; + + environment.systemPackages = [ pkgs.syncthing ]; + + }; + +} diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix new file mode 100644 index 00000000000..50bc61eeeff --- /dev/null +++ b/pkgs/applications/networking/syncthing/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, fetchgit, go }: + +stdenv.mkDerivation rec { + name = "syncthing-${version}"; + version = "0.7.1"; + + src = fetchgit { + url = "git://github.com/calmh/syncthing.git"; + rev = "refs/tags/v${version}"; + sha256 = "1rja837kimiq15km8cridbm5yxvkm6mkvkwywdi76qf9rm0pcjl1"; + }; + + buildInputs = [ go ]; + + buildPhase = '' + mkdir -p "./dependencies/src/github.com/calmh/syncthing" + + cp -r "./auto" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./buffers" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./cid" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./discover" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./files" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./lamport" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./protocol" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./scanner" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./mc" "./dependencies/src/github.com/calmh/syncthing" + cp -r "./xdr" "./dependencies/src/github.com/calmh/syncthing" + + export GOPATH="`pwd`/Godeps/_workspace:`pwd`/dependencies" + + go test -cpu=1,2,4 ./... + + mkdir ./bin + + go build -o ./bin/syncthing -ldflags "-w -X main.Version v${version}" ./cmd/syncthing + go build -o ./bin/stcli -ldflags "-w -X main.Version v${version}" ./cmd/stcli + ''; + + installPhase = '' + ensureDir $out/bin + cp -r ./bin $out + ''; + + meta = { + homepage = http://syncthing.net/; + description = "Syncthing replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized"; + license = with stdenv.lib.licenses; mit; + maintainers = with stdenv.lib.maintainers; [ matejc ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index efe5e3834ea..5c43aa90d2c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9111,6 +9111,8 @@ let gpgSupport = true; }; + syncthing = callPackage ../applications/networking/syncthing { }; + # linux only by now synergy = callPackage ../applications/misc/synergy { }; From f530ead0ba741bc588fd679297364885a3f421a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 4 Apr 2014 10:46:19 +0200 Subject: [PATCH 118/880] syncthing: add preStart script to create dataDir --- nixos/modules/services/networking/syncthing.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix index 345693fec76..8ca16730a94 100644 --- a/nixos/modules/services/networking/syncthing.nix +++ b/nixos/modules/services/networking/syncthing.nix @@ -49,7 +49,7 @@ in ###### implementation - config = mkIf config.services.syncthing.enable { + config = mkIf cfg.enable { systemd.services.syncthing = { @@ -57,12 +57,17 @@ in after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; environment.STNORESTART = "placeholder"; # do not self-restart - environment.HOME = "${config.services.syncthing.dataDir}"; + environment.HOME = "${cfg.dataDir}"; serviceConfig = { - User = "${config.services.syncthing.user}"; - ExecStart = "${pkgs.syncthing}/bin/syncthing -home=${config.services.syncthing.dataDir}/.syncthing"; + User = "${cfg.user}"; + PermissionsStartOnly = true; Restart = "always"; + ExecStart = "${pkgs.syncthing}/bin/syncthing -home=${cfg.dataDir}/.syncthing"; }; + preStart = '' + mkdir -p ${cfg.dataDir} + chown ${cfg.user} ${cfg.dataDir} + ''; }; From ece01ad65f27fa2b0f0c715b1d9c5d0d5c91e424 Mon Sep 17 00:00:00 2001 From: Arseniy Seroka Date: Fri, 4 Apr 2014 16:35:44 +0400 Subject: [PATCH 119/880] vacuum-graphviz: add pkg --- .../libraries/haskell/vacuum-graphviz/default.nix | 13 +++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/development/libraries/haskell/vacuum-graphviz/default.nix diff --git a/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix b/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix new file mode 100644 index 00000000000..3810512756f --- /dev/null +++ b/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix @@ -0,0 +1,13 @@ +{ cabal, filepath, graphviz, vacuum }: + +cabal.mkDerivation (self: { + pname = "vacuum-graphviz"; + version = "2.1.0.1"; + sha256 = "093ba6n30a6gyifnk3bd50rkx8qldjqq9vsk92pnq152ibs36b2m"; + buildDepends = [ filepath graphviz vacuum ]; + meta = { + description = "A library for transforming vacuum graphs into GraphViz output"; + license = self.stdenv.lib.licenses.gpl3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index a963dd2b1e6..522baf33ff2 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2584,6 +2584,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x vacuumCairo = callPackage ../development/libraries/haskell/vacuum-cairo {}; + vacuumGraphviz = callPackage ../development/libraries/haskell/vacuum-graphviz {}; + vado = callPackage ../development/libraries/haskell/vado {}; vault = callPackage ../development/libraries/haskell/vault {}; From d89138f6ac1c7047c0ef496d8fd37f07bbab9dba Mon Sep 17 00:00:00 2001 From: Arseniy Seroka Date: Fri, 4 Apr 2014 17:04:32 +0400 Subject: [PATCH 120/880] vacuum-graphviz: add jailbreak --- pkgs/development/libraries/haskell/vacuum-graphviz/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix b/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix index 3810512756f..2db9e3c83c1 100644 --- a/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix +++ b/pkgs/development/libraries/haskell/vacuum-graphviz/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "2.1.0.1"; sha256 = "093ba6n30a6gyifnk3bd50rkx8qldjqq9vsk92pnq152ibs36b2m"; buildDepends = [ filepath graphviz vacuum ]; + jailbreak = true; meta = { description = "A library for transforming vacuum graphs into GraphViz output"; license = self.stdenv.lib.licenses.gpl3; From 1abd4b2264043d1a33ebb85ba0595d5448a96dbf Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 4 Apr 2014 16:04:26 +0200 Subject: [PATCH 121/880] libdvdread: update to 4.2.1 --- pkgs/development/libraries/libdvdread/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/development/libraries/libdvdread/default.nix index ee5d2e5e50e..2593274d89b 100644 --- a/pkgs/development/libraries/libdvdread/default.nix +++ b/pkgs/development/libraries/libdvdread/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libdvdcss}: stdenv.mkDerivation { - name = "libdvdread-4.1.3"; + name = "libdvdread-4.2.1"; src = fetchurl { - url = http://www.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdread-4.1.3.tar.bz2; - sha1 = "fc4c7ba3e49929191e057b435bc4f867583ea8d5"; + url = http://dvdnav.mplayerhq.hu/releases/libdvdread-4.2.1.tar.xz; + sha256 = "af9b98f049580a6521d56c978b736d3d609562dd12955e11d50e26d97542dcd4"; }; buildInputs = [libdvdcss]; From 13f40aea332f84bb82f1aed9a7ba62423d439b93 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 4 Apr 2014 16:14:38 +0200 Subject: [PATCH 122/880] libpwquality: factor out from gnome-control-center --- .../core/gnome-control-center/default.nix | 23 +++++-------------- .../libraries/libpwquality/default.nix | 12 ++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 20 insertions(+), 17 deletions(-) create mode 100644 pkgs/development/libraries/libpwquality/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index ed9adb370d4..6b8f427d410 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -1,24 +1,13 @@ -{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, libcanberra, accountservice -, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk, pulseaudio, fontconfig -, cracklib, python, krb5, networkmanagerapplet, libwacom, samba, libnotify, libxkbfile -, shared_mime_info, tzdata, icu, libtool, docbook_xsl, docbook_xsl_ns, makeWrapper }: +{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper +, libcanberra, accountservice, libpwquality, pulseaudio, fontconfig +, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk, libxkbfile +, cracklib, python, krb5, networkmanagerapplet, libwacom, samba, libnotify +, shared_mime_info, tzdata, icu, libtool, docbook_xsl, docbook_xsl_ns }: # http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules # TODO: bluetooth, networkmanager, wacom, smbclient, printers -let - libpwquality = stdenv.mkDerivation rec { - name = "libpwquality-1.2.3"; - - src = fetchurl { - url = "https://fedorahosted.org/releases/l/i/libpwquality/${name}.tar.bz2"; - sha256 = "0sjiabvl5277nfxyy96jdz65a0a3pmkkwrfbziwgik83gg77j75i"; - }; - - buildInputs = [ cracklib python ]; - }; - -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { name = "gnome-control-center-3.10.2"; src = fetchurl { diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix new file mode 100644 index 00000000000..aaa39783fa7 --- /dev/null +++ b/pkgs/development/libraries/libpwquality/default.nix @@ -0,0 +1,12 @@ +{ stdenv, cracklib, fetchurl, python }: + +stdenv.mkDerivation rec { + name = "libpwquality-1.2.3"; + + src = fetchurl { + url = "https://fedorahosted.org/releases/l/i/libpwquality/${name}.tar.bz2"; + sha256 = "0sjiabvl5277nfxyy96jdz65a0a3pmkkwrfbziwgik83gg77j75i"; + }; + + buildInputs = [ cracklib python ]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5c43aa90d2c..1daa2eba8a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5112,6 +5112,8 @@ let libpseudo = callPackage ../development/libraries/libpseudo { }; + libpwquality = callPackage ../development/libraries/libpwquality { }; + libqalculate = callPackage ../development/libraries/libqalculate { }; librsvg = callPackage ../development/libraries/librsvg { From a86c688e6659efda324afbbf74eec9957b240e4a Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 4 Apr 2014 16:04:39 +0200 Subject: [PATCH 123/880] gnome-disk-utility: new package A udisks graphical front-end http://en.wikipedia.org/wiki/GNOME_Disks --- .../core/gnome-disk-utility/default.nix | 47 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix new file mode 100644 index 00000000000..9ab5259a630 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix @@ -0,0 +1,47 @@ +{ stdenv, intltool, fetchurl, pkgconfig, udisks2, libsecret, libdvdread +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper, cracklib, libnotify +, itstool, gnome3, librsvg, gdk_pixbuf, libxml2, python +, libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }: + +stdenv.mkDerivation rec { + name = "gnome-disk-utility-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-disk-utility/3.12/${name}.tar.xz"; + sha256 = "46e0698c4a7baa8719a79935066e103447011fb47528a28dbb49e35eeec409d8"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme + librsvg udisks2 gnome3.gnome_settings_daemon + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool + libxslt libtool libsecret libpwquality cracklib + libnotify libdvdread libcanberra_gtk3 docbook_xsl + gnome3.gsettings_desktop_schemas makeWrapper libxml2 ]; + + installFlags = "gsettingsschemadir=\${out}/share/gnome-disk-utility/glib-2.0/schemas/"; + + postInstall = '' + wrapProgram "$out/bin/gnome-disks" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-disk-utility:$XDG_ICON_DIRS" + ''; + + preFixup = '' + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = http://en.wikipedia.org/wiki/GNOME_Disks; + description = "A udisks graphical front-end"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 6a404d0a4b4..b4bb2c8320e 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -44,6 +44,8 @@ rec { gnome_common = callPackage ./core/gnome-common { }; + gnome-disk-utility = callPackage ./core/gnome-disk-utility { }; + gnome-font-viewer = callPackage ./core/gnome-font-viewer { }; gnome_icon_theme = callPackage ./core/gnome-icon-theme { }; From d2ca851c0433b0f49839e8c1fdf67a85f718e787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Fri, 4 Apr 2014 16:48:10 +0200 Subject: [PATCH 124/880] python-autopep8: new package autopep8 is a tool that automatically formats Python code to conform to the PEP 8 style guide. https://pypi.python.org/pypi/autopep8/ --- pkgs/top-level/python-packages.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 11c8feb48b8..c37ef8e0e00 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -460,6 +460,29 @@ rec { }; }); + autopep8 = buildPythonPackage (rec { + name = "autopep8-1.0"; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/a/autopep8/${name}.tar.gz"; + md5 = "41782e66efcbaf9d761bb45a2d2929bb"; + }; + + propagatedBuildInputs = [ pep8 ]; + + # One test fails: + # FAIL: test_recursive_should_not_crash_on_unicode_filename (test.test_autopep8.CommandLineTests) + doCheck = false; + + meta = with stdenv.lib; { + description = "A tool that automatically formats Python code to conform to the PEP 8 style guide"; + homepage = https://pypi.python.org/pypi/autopep8/; + license = licenses.mit; + platforms = platforms.all; + maintainers = [ maintainers.bjornfor ]; + }; + }); + backports_ssl_match_hostname_3_4_0_2 = pythonPackages.buildPythonPackage rec { name = "backports.ssl_match_hostname-3.4.0.2"; From 4ab58240a9c5cf977767965d978a8f6bb7127f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 4 Apr 2014 20:29:10 +0200 Subject: [PATCH 125/880] pidgin: adopt the orphan, as I use it daily CC #992. --- .../networking/instant-messengers/pidgin/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 41a1abc5ee7..6e6fd6d0eb6 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -56,5 +56,6 @@ stdenv.mkDerivation rec { homepage = http://pidgin.im; license = licenses.gpl2Plus; platforms = platforms.linux; + maintainers = [ maintainers.vcunat ]; }; } From c6797b373f379f7a7f8a7da01bdf3f6751f11f2e Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 4 Apr 2014 17:05:57 -0400 Subject: [PATCH 126/880] Turn on user-controlled wpa-cli on the livecd Fixes #1204 --- nixos/modules/profiles/installation-device.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index 3b058c6e971..85ae51ec68e 100644 --- a/nixos/modules/profiles/installation-device.nix +++ b/nixos/modules/profiles/installation-device.nix @@ -45,6 +45,7 @@ with pkgs.lib; # Enable wpa_supplicant, but don't start it by default. networking.wireless.enable = true; + networking.wireless.userControlled.enable = true; jobs.wpa_supplicant.startOn = pkgs.lib.mkOverride 50 ""; # Tell the Nix evaluator to garbage collect more aggressively. From 671e346eb28a84787ad7bf34cd38b54e190b28fb Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 4 Apr 2014 23:21:38 +0200 Subject: [PATCH 127/880] gnome3: add glib-networking gio modules With glib-networking, epiphany and other gnome apps can access https and other networking protocols. --- nixos/modules/services/x11/desktop-managers/gnome3.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 85be61bfc1e..f4230fd1dd2 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -43,7 +43,8 @@ in { ''; }; - environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules" ]; + environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules" + "${pkgs.glib_networking}/lib/gio/modules" ]; environment.systemPackages = [ gnome3.evince gnome3.eog @@ -54,6 +55,7 @@ in { gnome3.gucharmap gnome3.nautilus gnome3.yelp + pkgs.glib_networking pkgs.ibus gnome3.gnome_shell gnome3.gnome_settings_daemon From 6df2b09015fc6f107ee20d0f75375266efc72fd3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 5 Apr 2014 00:19:56 +0200 Subject: [PATCH 128/880] haskell-ghc-mod: revert update to version 4.x flymake-mode no longer works in the new version. This needs further testing before we can upgrade. --- .../libraries/haskell/ghc-mod/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix index fca6ea9cd55..260fff8ae82 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix @@ -1,20 +1,20 @@ -{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcSybUtils -, hlint, hspec, ioChoice, syb, time, transformers +{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcPaths +, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers }: cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "4.0.0"; - sha256 = "11l0wycx0l0wqq8a3wsiw88fr8pahjzh65yxqw6r1rgj10cszai8"; + version = "3.1.7"; + sha256 = "1mv6m1fcqkm4i27jw1aniwfq2dhpn4m7kicyq4l70zmkfr7y7c5s"; isLibrary = true; isExecutable = true; buildDepends = [ - Cabal convertible filepath ghcSybUtils hlint ioChoice syb time - transformers + Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice syb + time transformers ]; testDepends = [ - Cabal convertible doctest filepath ghcSybUtils hlint hspec ioChoice - syb time transformers + Cabal convertible doctest filepath ghcPaths ghcSybUtils hlint hspec + ioChoice syb time transformers ]; buildTools = [ emacs ]; postInstall = '' From 750d5e4a83ef1d99ec8f9f2b302364ed27726588 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 5 Apr 2014 00:32:19 +0200 Subject: [PATCH 129/880] gnome-control-center: show icons --- .../gnome-3/core/gnome-control-center/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index 6b8f427d410..ac9c53422b3 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -1,7 +1,8 @@ { fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, makeWrapper , libcanberra, accountservice, libpwquality, pulseaudio, fontconfig -, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk, libxkbfile -, cracklib, python, krb5, networkmanagerapplet, libwacom, samba, libnotify +, gdk_pixbuf, hicolor_icon_theme, librsvg, libxkbfile, libnotify +, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk +, cracklib, python, krb5, networkmanagerapplet, libwacom, samba , shared_mime_info, tzdata, icu, libtool, docbook_xsl, docbook_xsl_ns }: # http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules @@ -15,6 +16,10 @@ stdenv.mkDerivation rec { sha256 = "1ac34kqkf174w0qc12p927dfhcm69xnv7fqzmbhjab56rn49wypn"; }; + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + buildInputs = with gnome3; [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus @@ -33,7 +38,8 @@ stdenv.mkDerivation rec { postInstall = with gnome3; '' wrapProgram $out/bin/gnome-control-center \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:${gnome_settings_daemon}/share:${glib}/share:${gtk}/share:${colord}/share:$out/share" + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:${gsettings_desktop_schemas}/share:${gnome_settings_daemon}/share:${glib}/share:${gtk}/share:${colord}/share:$out/share:$out/share/gnome-control-center:$XDG_ICON_DIRS" for i in $out/share/applications/*; do substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center" done From c69eb7c2c1d996ae07725ae9763a7484c2afb449 Mon Sep 17 00:00:00 2001 From: Alexander Kjeldaas Date: Tue, 13 Aug 2013 14:26:35 +0200 Subject: [PATCH 130/880] Remove timestamp from the kernel. --- pkgs/os-specific/linux/kernel/manual-config.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 6805355052a..47f5c034c74 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -102,7 +102,11 @@ let runHook postConfigure ''; - buildFlags = [ "KBUILD_BUILD_VERSION=1-NixOS" platform.kernelTarget ] ++ optional isModular "modules"; + buildFlags = [ + "KBUILD_BUILD_VERSION=1-NixOS" + "KBUILD_BUILD_TIMESTAMP=Thu_Jan__1_00:00:01_UTC_1970" + platform.kernelTarget + ] ++ optional isModular "modules"; installFlags = [ "INSTALLKERNEL=${installkernel}" From f67015cae49400eba539b9ec8b9920643581c77c Mon Sep 17 00:00:00 2001 From: Alexander Kjeldaas Date: Fri, 16 Aug 2013 02:42:11 +0200 Subject: [PATCH 131/880] Make initrd and the kernel builds repeatable. --- pkgs/build-support/kernel/cpio-clean.pl | 20 ++++++++++++++++++++ pkgs/build-support/kernel/make-initrd.nix | 5 +++-- pkgs/build-support/kernel/make-initrd.sh | 2 +- pkgs/top-level/all-packages.nix | 4 +++- pkgs/top-level/perl-packages.nix | 8 ++++++++ 5 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 pkgs/build-support/kernel/cpio-clean.pl diff --git a/pkgs/build-support/kernel/cpio-clean.pl b/pkgs/build-support/kernel/cpio-clean.pl new file mode 100644 index 00000000000..de38dee49f0 --- /dev/null +++ b/pkgs/build-support/kernel/cpio-clean.pl @@ -0,0 +1,20 @@ +use strict; + +# Make inode number, link info and mtime consistent in order to get a consistent hash. +# +# Author: Alexander Kjeldaas + +use Archive::Cpio; + +my $cpio = Archive::Cpio->new; +my $IN = \*STDIN; +my $ino = 1; +$cpio->read_with_handler($IN, sub { + my ($e) = @_; + $e->{inode} = $ino; + $ino++; + $e->{nlink} = 1; + $e->{mtime} = 1; + $cpio->write_one(\*STDOUT, $e); + }); +$cpio->write_trailer(\*STDOUT); diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 4ddf0706e03..0582ca55301 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -12,10 +12,10 @@ # `contents = {object = ...; symlink = /init;}' is a typical # argument. -{stdenv, perl, cpio, contents, ubootChooser, compressor}: +{stdenv, perl, perlArchiveCpio, cpio, contents, ubootChooser, compressor}: let - inputsFun = ubootName : [perl cpio] + inputsFun = ubootName : [perl cpio perlArchiveCpio ] ++ stdenv.lib.optional (ubootName != null) [ (ubootChooser ubootName) ]; makeUInitrdFun = ubootName : (ubootName != null); in @@ -35,6 +35,7 @@ stdenv.mkDerivation { exportReferencesGraph = map (x: [("closure-" + baseNameOf x.symlink) x.object]) contents; pathsFromGraph = ./paths-from-graph.pl; + cpioClean = ./cpio-clean.pl; crossAttrs = { nativeBuildInputs = inputsFun stdenv.cross.platform.uboot; diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh index f6cadaf0281..17b261f9840 100644 --- a/pkgs/build-support/kernel/make-initrd.sh +++ b/pkgs/build-support/kernel/make-initrd.sh @@ -36,7 +36,7 @@ storePaths=$(perl $pathsFromGraph closure-*) # Put the closure in a gzipped cpio archive. mkdir -p $out -(cd root && find * -print0 | cpio -o -H newc --null | $compressor > $out/initrd) +(cd root && find * -print0 | cpio -o -H newc --null | perl $cpioClean | $compressor > $out/initrd) if [ -n "$makeUInitrd" ]; then mv $out/initrd $out/initrd.gz diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index efe5e3834ea..c1c5092b5e3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -354,7 +354,7 @@ let makeInitrd = {contents, compressor ? "gzip -9"}: import ../build-support/kernel/make-initrd.nix { - inherit stdenv perl cpio contents ubootChooser compressor; + inherit stdenv perl perlArchiveCpio cpio contents ubootChooser compressor; }; makeWrapper = makeSetupHook { } ../build-support/setup-hooks/make-wrapper.sh; @@ -6179,6 +6179,8 @@ let ack = perlPackages.ack; + perlArchiveCpio = perlPackages.ArchiveCpio; + perlcritic = perlPackages.PerlCritic; planetary_annihilation = callPackage ../games/planetaryannihilation { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index dae501c7814..6ac7f76e3c5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -200,6 +200,14 @@ let self = _self // overrides; _self = with self; { }; }; + ArchiveCpio = buildPerlPackage { + name = "Archive-Cpio-0.09"; + src = fetchurl { + url = mirror://cpan/authors/id/P/PI/PIXEL/Archive-Cpio-0.09.tar.gz; + sha256 = "1cf8k5zjykdbc1mn8lixlkij6jklwn6divzyq2grycj3rpd36g5c"; + }; + }; + ArchiveZip = buildPerlPackage { name = "Archive-Zip-1.16"; src = fetchurl { From 4aeb10b09a02a64f9839c61d02875e75531845cc Mon Sep 17 00:00:00 2001 From: Alexander Kjeldaas Date: Tue, 1 Oct 2013 13:14:14 +0200 Subject: [PATCH 132/880] Make cpufrequtils compilation pure. --- .../linux/cpufrequtils/default.nix | 5 ++++ .../remove-pot-creation-date.patch | 24 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch diff --git a/pkgs/os-specific/linux/cpufrequtils/default.nix b/pkgs/os-specific/linux/cpufrequtils/default.nix index c94e22adb38..d056e60f2da 100644 --- a/pkgs/os-specific/linux/cpufrequtils/default.nix +++ b/pkgs/os-specific/linux/cpufrequtils/default.nix @@ -10,6 +10,11 @@ stdenv.mkDerivation rec { sha256 = "127i38d4w1hv2dzdy756gmbhq25q3k34nqb2s0xlhsfhhdqs0lq0"; }; + patches = [ + # I am not 100% sure that this is ok, but it breaks repeatable builds. + ./remove-pot-creation-date.patch + ]; + patchPhase = '' sed -e "s@= /usr/bin/@= @g" \ -e "s@/usr/@$out/@" \ diff --git a/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch b/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch new file mode 100644 index 00000000000..0116ed9eab0 --- /dev/null +++ b/pkgs/os-specific/linux/cpufrequtils/remove-pot-creation-date.patch @@ -0,0 +1,24 @@ +diff -u cpufrequtils-008/Makefile cpufrequtils-008.new/Makefile +--- cpufrequtils-008/Makefile 2012-05-06 01:17:18.000000000 +0200 ++++ cpufrequtils-008.new/Makefile 2013-08-16 20:52:29.961086536 +0200 +@@ -205,7 +205,8 @@ + @xgettext --default-domain=$(PACKAGE) --add-comments \ + --keyword=_ --keyword=N_ $(UTIL_SRC) && \ + test -f $(PACKAGE).po && \ +- mv -f $(PACKAGE).po po/$(PACKAGE).pot ++ mv -f $(PACKAGE).po po/$(PACKAGE).pot && \ ++ sed -i -e'/POT-Creation/d' po/*.pot + + update-gmo: po/$(PACKAGE).pot + @for HLANG in $(LANGUAGES); do \ +@@ -217,6 +218,7 @@ + echo "msgmerge for $$HLANG failed!"; \ + rm -f po/$$HLANG.new.po; \ + fi; \ ++ sed -i -e'/POT-Creation/d' po/*.po; \ + msgfmt --statistics -o po/$$HLANG.gmo po/$$HLANG.po; \ + done; + +Common subdirectories: cpufrequtils-008/man and cpufrequtils-008.new/man +Common subdirectories: cpufrequtils-008/po and cpufrequtils-008.new/po +Common subdirectories: cpufrequtils-008/utils and cpufrequtils-008.new/utils From 85b1ede2bfa8c8e7cf946a7372d3b05f15e7735a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 5 Apr 2014 12:53:28 +0200 Subject: [PATCH 133/880] glib gschemas hook: fixup #1901 - move frome $out to $out/share - fix quoting that prevented globbing - indent by spaces (as it is more common in nixpkgs; 4 spaces for shell) More work is still needed for some individual packages. --- pkgs/development/libraries/glib/setup-hook.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh index e5c0c372da0..f173744e5ca 100644 --- a/pkgs/development/libraries/glib/setup-hook.sh +++ b/pkgs/development/libraries/glib/setup-hook.sh @@ -1,17 +1,17 @@ # Install gschemas, if any, in a package-specific directory -installFlagsArray+=("gsettingsschemadir=$out/gsettings-schemas/$name/glib-2.0/schemas/") +installFlagsArray+=("gsettingsschemadir=$out/share/gsettings-schemas/$name/glib-2.0/schemas/") make_glib_find_gsettings_schemas() { - # For packages that need gschemas of other packages (e.g. empathy) - if [ -d "$1/gsettings-schemas/*/glib-2.0/schemas" ]; then - addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/gsettings-schemas/"* - fi + # For packages that need gschemas of other packages (e.g. empathy) + if [ -d "$1"/share/gsettings-schemas/*/glib-2.0/schemas ]; then + addToSearchPath GSETTINGS_SCHEMAS_PATH "$1/share/gsettings-schemas/"* + fi } envHooks+=(make_glib_find_gsettings_schemas) glibPreFixupPhase() { - addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/gsettings-schemas/$name" + addToSearchPath GSETTINGS_SCHEMAS_PATH "$out/share/gsettings-schemas/$name" } preFixupPhases="$preFixupPhases glibPreFixupPhase" From 413ebfb2469b394a4f4d48ba3567be3c68344722 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Sun, 23 Mar 2014 18:12:07 +0100 Subject: [PATCH 134/880] virt-manager: update to 1.0.1, fix & update dependencies, gtk3 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Vte, add gtk3 support, enable introspection, update to 0.35.90 - Spice-gtk, add gtk3 support - gtk-vnc, add gtk3 support - Add libvirt-glib (thanks @bjornfor) - Add usbredir - qemu, enable usbredir - spice-gtk, enable usbredir - virt-manager, update to 1.0.1 [Bjørn: * Set namePrefix = "" to preserve package name "virt-manager" (instead of "python2.7-virt-manager") * Add dconf to GIO_EXTRA_MODULES to get persistent settings in virt-manager. Without it: GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications. * Add ${gtk3}/share to XDG_DATA_DIRS to unbreak "Take Screenshot" feature (fixes "Settings schema 'org.gtk.Settings.FileChooser' is not installed") * gtk-vnc: don't pull "pkgs" attrset for optionalString, use stdenv.lib.optionalString instead. ] --- .../virtualization/qemu/default.nix | 4 +- .../virtualization/virt-manager/default.nix | 97 +++++++++---------- pkgs/desktops/gnome-3/core/vte/default.nix | 23 ++--- .../libraries/libvirt-glib/default.nix | 48 +++++++++ .../libraries/spice-gtk/default.nix | 11 ++- .../libraries/usbredir/default.nix | 23 +++++ pkgs/tools/admin/gtk-vnc/default.nix | 19 ++-- pkgs/top-level/all-packages.nix | 11 ++- 8 files changed, 151 insertions(+), 85 deletions(-) create mode 100644 pkgs/development/libraries/libvirt-glib/default.nix create mode 100644 pkgs/development/libraries/usbredir/default.nix diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 7f3bf8fafc8..af2e1efb59e 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -3,7 +3,7 @@ , makeWrapper , sdlSupport ? true, SDL , vncSupport ? true, libjpeg, libpng -, spiceSupport ? true, spice, spice_protocol +, spiceSupport ? true, spice, spice_protocol, usbredir , x86Only ? false }: @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals sdlSupport [ SDL ] ++ stdenv.lib.optionals vncSupport [ libjpeg libpng ] - ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ]; + ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice usbredir ]; enableParallelBuilding = true; diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix index fb2dde66442..dba0d11b425 100644 --- a/pkgs/applications/virtualization/virt-manager/default.nix +++ b/pkgs/applications/virtualization/virt-manager/default.nix @@ -1,74 +1,67 @@ { stdenv, fetchurl, pythonPackages, intltool, libxml2Python, curl, python , makeWrapper, virtinst, pyGtkGlade, pythonDBus, gnome_python, gtkvnc, vte -, spiceSupport ? true, spice_gtk +, gtk3, gobjectIntrospection, libvirt-glib, gsettings_desktop_schemas, glib +, avahi, dconf, spiceSupport ? true, spice_gtk }: with stdenv.lib; +with pythonPackages; -let version = "0.9.5"; in - -stdenv.mkDerivation rec { +buildPythonPackage rec { name = "virt-manager-${version}"; + version = "1.0.1"; + namePrefix = ""; src = fetchurl { - url = "http://virt-manager.et.redhat.com/download/sources/virt-manager/virt-manager-${version}.tar.gz"; - sha256 = "0gc06cdbq6c2a06l939516lvjii7lr0wng90kqgl1i5q5wlgnajx"; + url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz"; + sha256 = "1n248kack1fni8y17ysgq5xhvffcgy4l62hnd0zvr4kjw0579qq8"; }; - pythonPath = with pythonPackages; - [ setuptools eventlet greenlet gflags netaddr sqlalchemy carrot routes + propagatedBuildInputs = + [ eventlet greenlet gflags netaddr sqlalchemy carrot routes paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate distutils_extra simplejson readline glance cheetah lockfile httplib2 - # !!! should libvirt be a build-time dependency? Note that - # libxml2Python is a dependency of libvirt.py. - libvirt libxml2Python urlgrabber virtinst pyGtkGlade pythonDBus gnome_python - gtkvnc vte + urlgrabber virtinst pyGtkGlade pythonDBus gnome_python pygobject3 + libvirt libxml2Python ipaddr vte ] ++ optional spiceSupport spice_gtk; buildInputs = - [ pythonPackages.python - pythonPackages.wrapPython - pythonPackages.mox - pythonPackages.urlgrabber + [ mox intltool - pyGtkGlade - pythonDBus - gnome_python gtkvnc - ] ++ pythonPath; + gtk3 + libvirt-glib + avahi + glib + gobjectIntrospection + ]; - buildPhase = "make"; - - nativeBuildInputs = [ makeWrapper pythonPackages.wrapPython ]; - - # TODO - # virt-manager -> import gtk.glade -> No module named glade --> fixed by removing 'pygtk' and by only using pyGtkGlade - # -> import gconf -> ImportError: No module named gconf - # -> pfad um gtk-2.0 erweitern in virt-manger runner -> /nix/store/hnyxc9i4yz2mc42n44ms13mn8n486s5h-gnome-python-2.28.1/lib/python2.7/site-packages/gtk-2.0 - # -> Error starting Virtual Machine Manager: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files) - -#Traceback (most recent call last): -# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 383, in -# main() -# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virt-manager.py", line 315, in main -# config = virtManager.config.vmmConfig(appname, appversion, glade_dir) -# File "/nix/store/y9rcdiv6686sqcv4r39p575s37jzc2cz-virt-manager-0.9.1/share/virt-manager/virtManager/config.py", line 98, in __init__ -# self.conf.add_dir(self.conf_dir, gconf.CLIENT_PRELOAD_NONE) -#GError: Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.GConf was not provided by any .service files) -# -> fixed by http://nixos.org/wiki/Solve_GConf_errors_when_running_GNOME_applications & a restart - # virt-manager-tui -> ImportError: No module named newt_syrup.dialogscreen - - installPhase = '' - make install - - # A hack, but the most reliable method so far - echo "#!/usr/bin/env python" | cat - src/virt-manager.py > $out/bin/virt-manager - echo "#!/usr/bin/env python" | cat - src/virt-manager-tui.py > $out/bin/virt-manager-tui - - wrapPythonPrograms + configurePhase = '' + sed -i 's/from distutils.core/from setuptools/g' setup.py + sed -i 's/from distutils.command.install/from setuptools.command.install/g' setup.py + python setup.py configure --prefix=$out ''; - meta = { + buildPhase = "true"; + + postInstall = '' + # GI_TYPELIB_PATH is needed at runtime for GObject stuff to work + for file in "$out"/bin/*; do + wrapProgram "$file" \ + --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \ + --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \ + --prefix GSETTINGS_SCHEMA_DIR : $out/share/glib-2.0/schemas \ + --prefix LD_LIBRARY_PATH : ${gtk3}/lib/:${libvirt-glib}/lib/:${vte}/lib:${gtkvnc}/lib${optionalString spiceSupport ":${spice_gtk}/lib"} \ + --prefix XDG_DATA_DIRS : "$out/share:${gsettings_desktop_schemas}/share:${gtk3}/share:\$XDG_DATA_DIRS" + done + + ${glib}/bin/glib-compile-schemas "$out"/share/glib-2.0/schemas + ''; + + # Failed tests + doCheck = false; + + meta = with stdenv.lib; { homepage = http://virt-manager.org; description = "Desktop user interface for managing virtual machines"; longDescription = '' @@ -76,7 +69,7 @@ stdenv.mkDerivation rec { virtual machines through libvirt. It primarily targets KVM VMs, but also manages Xen and LXC (linux containers). ''; - license = "GPLv2"; - maintainers = with stdenv.lib.maintainers; [qknight]; + license = licenses.gpl2; + maintainers = with maintainers; [qknight offline]; }; } diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix index b0e522c0f29..d98ddc716de 100644 --- a/pkgs/desktops/gnome-3/core/vte/default.nix +++ b/pkgs/desktops/gnome-3/core/vte/default.nix @@ -1,32 +1,21 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses -, pythonSupport ? false, python, pygtk}: +{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses, gobjectIntrospection }: stdenv.mkDerivation rec { - versionMajor = "0.34"; - versionMinor = "9"; + versionMajor = "0.35"; + versionMinor = "90"; moduleName = "vte"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "1q93dsxg56f57mxblmh8kn4v9kyc643j2pjf1j3mn2kxypnwaf3g"; + sha256 = "c47182d1724db479095b918898ce62297ec71988f24cd575506151c59f7b98cf"; }; - buildInputs = [ intltool pkgconfig gnome3.glib gnome3.gtk ncurses ] ++ - stdenv.lib.optionals pythonSupport [python pygtk]; + buildInputs = [ gobjectIntrospection intltool pkgconfig gnome3.glib gnome3.gtk3 ncurses ]; - configureFlags = '' - ${if pythonSupport then "--enable-python" else "--disable-python"} - ''; - - postInstall = stdenv.lib.optionalString pythonSupport '' - cd $(toPythonPath $out)/gtk-2.0 - for n in *; do - ln -s "gtk-2.0/$n" "../$n" - done - ''; + configureFlags = ''--enable-introspection''; meta = { homepage = http://www.gnome.org/; diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix new file mode 100644 index 00000000000..afce119e396 --- /dev/null +++ b/pkgs/development/libraries/libvirt-glib/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, pkgconfig, libvirt, glib, libxml2, intltool, libtool, yajl +, nettle, libgcrypt, python, pygobject, gobjectIntrospection, libcap_ng +}: + +stdenv.mkDerivation rec { + name = "libvirt-glib-0.1.8"; + + src = fetchurl { + url = "http://libvirt.org/sources/glib/${name}.tar.gz"; + sha256 = "0ld7g9vlpdzx8rm90i8y1gnpygkn20x5z12gvsgms7dy5nala3ns"; + }; + + buildInputs = [ + pkgconfig libvirt glib libxml2 intltool libtool yajl nettle libgcrypt + python pygobject gobjectIntrospection libcap_ng + ]; + + # Compiler flag -fstack-protector-all fixes this build error: + # + # ./.libs/libvirt-glib-1.0.so: undefined reference to `__stack_chk_guard' + # + # And the extra include path fixes this build error: + # + # In file included from ../libvirt-gobject/libvirt-gobject-domain-device.h:30:0, + # from /tmp/nix-build-libvirt-glib-0.1.7.drv-2/libvirt-glib-0.1.7/libvirt-gobject/libvirt-gobject.h:33, + # from :4: + # ../libvirt-gobject/libvirt-gobject-domain.h:33:29: fatal error: libvirt/libvirt.h: No such file or directory + # compilation terminated. + # make[3]: *** [LibvirtGObject-1.0.gir] Error 1 + preConfigure = '' + export NIX_CFLAGS_COMPILE="-fstack-protector-all -I${libvirt}/include" + ''; + + meta = with stdenv.lib; { + description = "Library for working with virtual machines"; + longDescription = '' + libvirt-glib wraps libvirt to provide a high-level object-oriented API better + suited for glib-based applications, via three libraries: + + - libvirt-glib - GLib main loop integration & misc helper APIs + - libvirt-gconfig - GObjects for manipulating libvirt XML documents + - libvirt-gobject - GObjects for managing libvirt objects + ''; + homepage = http://libvirt.org/; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix index 60bf24dfd78..adb1fe90558 100644 --- a/pkgs/development/libraries/spice-gtk/default.nix +++ b/pkgs/development/libraries/spice-gtk/default.nix @@ -1,6 +1,7 @@ { stdenv, fetchurl, pkgconfig, gtk, spice_protocol, intltool, celt_0_5_1 , openssl, pulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib -, cyrus_sasl, python, pygtk, autoconf, automake, libtool }: +, cyrus_sasl, python, pygtk, autoconf, automake, libtool, usbredir +, gtk3, enableGTK3 ? false }: with stdenv.lib; @@ -13,9 +14,9 @@ stdenv.mkDerivation rec { }; buildInputs = [ - gtk spice_protocol celt_0_5_1 openssl pulseaudio pixman gobjectIntrospection - libjpeg_turbo zlib cyrus_sasl python pygtk - ]; + spice_protocol celt_0_5_1 openssl pulseaudio pixman gobjectIntrospection + libjpeg_turbo zlib cyrus_sasl python pygtk usbredir + ] ++ (if enableGTK3 then [ gtk3 ] else [ gtk ]); nativeBuildInputs = [ pkgconfig intltool libtool autoconf automake ]; @@ -31,7 +32,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-maintainer-mode" - "--with-gtk=2.0" + (if enableGTK3 then "--with-gtk3" else "--with-gtk=2.0") ]; dontDisableStatic = true; # Needed by the coroutine test diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix new file mode 100644 index 00000000000..7f05daab021 --- /dev/null +++ b/pkgs/development/libraries/usbredir/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, libusb }: + +stdenv.mkDerivation rec { + name = "usbredir-${version}"; + version = "0.6"; + + src = fetchurl { + url = "http://spice-space.org/download/usbredir/${name}.tar.bz2"; + sha256 = "028184960044ea4124030000b3c55a35c3238835116e3a0fbcaff449df2c8edf"; + }; + + buildInputs = [ pkgconfig libusb ]; + propagatedBuildInputs = [ libusb ]; + + meta = with stdenv.lib; { + description = "USB traffic redirection protocol"; + homepage = http://spice-space.org/page/UsbRedir; + license = licenses.lgpl21; + + maintainers = [ maintainers.offline ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix index d4c45b7ba96..c3a82b2e4a2 100644 --- a/pkgs/tools/admin/gtk-vnc/default.nix +++ b/pkgs/tools/admin/gtk-vnc/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl +{ stdenv, fetchurl, gobjectIntrospection , python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1 , libffi, cyrus_sasl, intltool, perl, perlPackages, firefoxPkgs, pulseaudio -, kbproto, libX11, libXext, xextproto, pygobject, libgcrypt }: - +, kbproto, libX11, libXext, xextproto, pygobject, libgcrypt, gtk3, vala +, pygobject3, enableGTK3 ? false }: stdenv.mkDerivation rec { name = "gtk-vnc-${version}"; @@ -14,21 +14,24 @@ stdenv.mkDerivation rec { }; buildInputs = [ - python gtk pygtk gnutls cairo libtool pkgconfig glib libffi libgcrypt - intltool cyrus_sasl pulseaudio pygobject perl perlPackages.TextCSV - ]; + python gnutls cairo libtool pkgconfig glib libffi libgcrypt + intltool cyrus_sasl pulseaudio perl perlPackages.TextCSV + gobjectIntrospection + ] ++ (if enableGTK3 then [ gtk3 vala pygobject3 ] else [ gtk pygtk pygobject ]); NIX_CFLAGS_COMPILE = "-fstack-protector-all"; configureFlags = [ "--with-python" "--with-examples" + (if enableGTK3 then "--with-gtk=3.0" else "--with-gtk=2.0") ]; - makeFlags = "CODEGENDIR=${pygobject}/share/pygobject/2.0/codegen/ DEFSDIR=${pygtk}/share/pygtk/2.0/defs/"; + makeFlags = stdenv.lib.optionalString (!enableGTK3) + "CODEGENDIR=${pygobject}/share/pygobject/2.0/codegen/ DEFSDIR=${pygtk}/share/pygtk/2.0/defs/"; meta = with stdenv.lib; { description = "A GTK VNC widget"; - maintainers = with maintainers; [ raskin ]; + maintainers = with maintainers; [ raskin offline ]; platforms = platforms.linux; license = licenses.lgpl21; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2b10785962..39434aa4bb3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5222,6 +5222,8 @@ let libvirt = callPackage ../development/libraries/libvirt { }; + libvirt-glib = callPackage ../development/libraries/libvirt-glib { }; + libvisio = callPackage ../development/libraries/libvisio { }; libvisual = callPackage ../development/libraries/libvisual { }; @@ -5910,6 +5912,10 @@ let ustr = callPackage ../development/libraries/ustr { }; + usbredir = callPackage ../development/libraries/usbredir { + libusb = libusb1; + }; + ucommon = callPackage ../development/libraries/ucommon { }; vaapiIntel = callPackage ../development/libraries/vaapi-intel { }; @@ -9301,7 +9307,10 @@ let virtviewer = callPackage ../applications/virtualization/virt-viewer {}; virtmanager = callPackage ../applications/virtualization/virt-manager { inherit (gnome) gnome_python; - vte = gnome.vte.override { pythonSupport = true; }; + vte = gnome3.vte; + dconf = gnome3.dconf; + gtkvnc = gtkvnc.override { enableGTK3 = true; }; + spice_gtk = spice_gtk.override { enableGTK3 = true; }; }; virtinst = callPackage ../applications/virtualization/virtinst {}; From 63d91b75a1c613a330f0754edf8d81844a92d201 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 5 Apr 2014 14:43:00 -0400 Subject: [PATCH 135/880] Revert "Merge branch 'k3b' of git://github.com/ttuegel/nixpkgs" It turns out this doesn't work due to setuid issues. I had been under the impression that it was partially broken, but it is in fact totally broken. This reverts commit 718466074fa03de4dc1ab0d333fb43d8bbed2c8f, reversing changes made to ea9c8d6a131502009ec583f1c7f785b511c36b8c. --- pkgs/applications/misc/k3b/default.nix | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix index 9f9e29f537e..06565065ce5 100644 --- a/pkgs/applications/misc/k3b/default.nix +++ b/pkgs/applications/misc/k3b/default.nix @@ -1,12 +1,8 @@ { stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib , flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext , kdelibs, kdemultimedia, automoc4, phonon, libkcddb ? null -, makeWrapper, cdrkit, cdrdao, dvdplusrwtools }: -let - runtimeDeps = [ cdrkit cdrdao dvdplusrwtools ]; -in stdenv.mkDerivation rec { name = "k3b-2.0.2"; @@ -20,22 +16,10 @@ stdenv.mkDerivation rec { flac libsamplerate libdvdread lame libsndfile libmad gettext stdenv.gcc.libc kdelibs kdemultimedia automoc4 phonon - libkcddb makeWrapper - ] - # Runtime dependencies are *not* propagated so they are easy to override. - ++ runtimeDeps; + libkcddb + ]; enableParallelBuilding = true; - - postInstall = - # Wrap k3b with PATH to required tools, so they can be found without being - # installed in a profile. The PATH is suffixed so that profile-installed - # tools take preference. - let extraPath = stdenv.lib.makeSearchPath "bin" runtimeDeps; - in '' - wrapProgram "$out/bin/k3b" --suffix PATH : ${extraPath} - wrapProgram "$out/bin/k3bsetup" --suffix PATH : ${extraPath} - ''; meta = with stdenv.lib; { description = "CD/DVD Burning Application for KDE"; From dc614aff9294e085dc28f03f91eeaef54feabf0a Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Sat, 5 Apr 2014 20:54:47 +0200 Subject: [PATCH 136/880] libresample: Add package --- .../libraries/libresample/default.nix | 27 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/development/libraries/libresample/default.nix diff --git a/pkgs/development/libraries/libresample/default.nix b/pkgs/development/libraries/libresample/default.nix new file mode 100644 index 00000000000..9ef1ada0a42 --- /dev/null +++ b/pkgs/development/libraries/libresample/default.nix @@ -0,0 +1,27 @@ +{stdenv, fetchurl, cmake}: + +let + patch = fetchurl { + url = http://ftp.debian.org/debian/pool/main/libr/libresample/libresample_0.1.3-3.diff.gz; + sha256 = "063w8rqxw87fc89gas47vk0ll7xl8cy7d8g70gm1l62bqkkajklx"; + }; +in +stdenv.mkDerivation { + name = "libresample-0.1.3"; + src = fetchurl { + url = http://ftp.debian.org/debian/pool/main/libr/libresample/libresample_0.1.3.orig.tar.gz; + sha256 = "05a8mmh1bw5afqx0kfdqzmph4x2npcs4idx0p0v6q95lwf22l8i0"; + }; + patches = [ patch ]; + preConfigure = '' + cat debian/patches/1001_shlib-cmake.patch | patch -p1 + ''; + buildInputs = [ cmake ]; + + meta = { + description = "A real-time library for sampling rate conversion library"; + license = stdenv.lib.licenses.lgpl2Plus; + homepage = https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html; + maintainers = stdenv.lib.maintainers.sander; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7bcc84b5d18..833a7ae86fd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4955,6 +4955,8 @@ let libre = callPackage ../development/libraries/libre {}; librem = callPackage ../development/libraries/librem {}; + libresample = callPackage ../development/libraries/libresample {}; + libsamplerate = callPackage ../development/libraries/libsamplerate { stdenv = if stdenv.isDarwin then overrideGCC stdenv gccApple From bd1a95ee608f70ffb673f4cb1c4dd109e1f32485 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 5 Apr 2014 15:01:05 -0400 Subject: [PATCH 137/880] Remove superfluous newline --- pkgs/top-level/all-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 226f3323482..988c3739f77 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4940,7 +4940,6 @@ let libmtp = callPackage ../development/libraries/libmtp { }; - libmsgpack = callPackage ../development/libraries/libmsgpack { }; libnatspec = callPackage ../development/libraries/libnatspec { }; From 9d544e633a2d592227cf78347331bbf44c2e28cb Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 5 Apr 2014 15:55:16 -0400 Subject: [PATCH 138/880] mailutils is broken. #887 --- pkgs/tools/networking/mailutils/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix index 8ebe7df35e7..3ac82e51bf8 100644 --- a/pkgs/tools/networking/mailutils/default.nix +++ b/pkgs/tools/networking/mailutils/default.nix @@ -51,5 +51,8 @@ stdenv.mkDerivation rec { # Some of the dependencies fail to build on {cyg,dar}win. platforms = stdenv.lib.platforms.gnu; + + # Tests fail since gcc 4.8 + broken = true; }; } From 47f0f34fca89a64c33671b45ddda8d37b3d5cf8d Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Thu, 3 Apr 2014 14:07:52 -0500 Subject: [PATCH 139/880] nmap: Build the non-graphical version by default --- pkgs/tools/security/nmap/default.nix | 35 +++++++++++++++++----------- pkgs/top-level/all-packages.nix | 5 +++- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix index a6452cdb89b..56964c1f692 100644 --- a/pkgs/tools/security/nmap/default.nix +++ b/pkgs/tools/security/nmap/default.nix @@ -1,10 +1,18 @@ -{ stdenv, fetchurl, libpcap, libX11, gtk, pkgconfig -, openssl, python, pygtk, makeWrapper, pygobject -, pycairo, pysqlite +{ stdenv, fetchurl, libpcap, pkgconfig, openssl +, graphicalSupport ? false +, libX11 ? null +, gtk ? null +, python ? null +, pygtk ? null +, makeWrapper ? null +, pygobject ? null +, pycairo ? null +, pysqlite ? null }: +with stdenv.lib; stdenv.mkDerivation rec { - name = "nmap-${version}"; + name = "nmap${optionalString graphicalSupport "-graphical"}-${version}"; version = "6.40"; src = fetchurl { @@ -12,21 +20,22 @@ stdenv.mkDerivation rec { sha256 = "491f77d8b3fb3bb38ba4e3850011fe6fb43bbe197f9382b88cb59fa4e8f7a401"; }; - patches = [ ./zenmap.patch ]; + patches = optional graphicalSupport ./zenmap.patch; - postInstall = - '' + postInstall = optionalString graphicalSupport '' wrapProgram $out/bin/zenmap --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH" --prefix PYTHONPATH : $(toPythonPath ${pygtk})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pygobject})/gtk-2.0 --prefix PYTHONPATH : $(toPythonPath ${pycairo})/gtk-2.0 - ''; + ''; - buildInputs = - [ libpcap libX11 gtk pkgconfig openssl python pygtk makeWrapper pysqlite ]; + buildInputs = [ libpcap pkgconfig openssl ] + ++ optionals graphicalSupport [ + libX11 gtk python pygtk makeWrapper pysqlite pygobject pycairo + ]; meta = { description = "A free and open source utility for network discovery and security auditing."; homepage = "http://www.nmap.org"; - license = stdenv.lib.licenses.gpl2; - platforms = stdenv.lib.platforms.linux; - maintainers = with stdenv.lib.maintainers; [ mornfall thoughtpolice ]; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ mornfall thoughtpolice ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index efe5e3834ea..7310cf6852f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1539,8 +1539,11 @@ let npth = callPackage ../development/libraries/npth {}; - nmap = callPackage ../tools/security/nmap { + nmap = callPackage ../tools/security/nmap { }; + + nmap_graphical = callPackage ../tools/security/nmap { inherit (pythonPackages) pysqlite; + graphicalSupport = true; }; notbit = callPackage ../applications/networking/notbit { }; From 923372335321e996b0088ca6aa43ab43fbf3729b Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 6 Apr 2014 00:56:57 +0400 Subject: [PATCH 140/880] Temporary patch for Wireshark build --- pkgs/applications/networking/sniffers/wireshark/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index ed2ce4c12c0..256681ec54e 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -17,6 +17,10 @@ stdenv.mkDerivation { geoip libnl c-ares gtk python ]; + preConfigure = '' + sed -re 's/g_memmove/memmove/' -i $(grep -rl g_memmove .) + ''; + configureFlags = "--disable-usr-local --disable-silent-rules --with-gtk2 --without-gtk3 --without-qt --with-ssl"; desktopItem = makeDesktopItem { From 28ab3acb58b0e5a5ffa932c9c6eb19db05a6c334 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Sat, 5 Apr 2014 13:41:23 -0500 Subject: [PATCH 141/880] su: Make the su package a provider of only the su binary Additionally, provide su with the base system and remove su from the util-linux package as it is now provided by shadow. --- nixos/modules/config/system-path.nix | 1 + pkgs/os-specific/linux/shadow/default.nix | 8 +++++++- pkgs/os-specific/linux/util-linux/default.nix | 4 ++++ pkgs/top-level/all-packages.nix | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 2f61947c3bc..1913e17f929 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -46,6 +46,7 @@ let pkgs.rsync pkgs.strace pkgs.sysvtools + pkgs.su pkgs.time pkgs.usbutils pkgs.utillinux diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index 1055fccd8aa..9d024ae3109 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation rec { patches = [ ./keep-path.patch dots_in_usernames ]; + outputs = [ "out" "su" ]; + # Assume System V `setpgrp (void)', which is the default on GNU variants # (`AC_FUNC_SETPGRP' is not cross-compilation capable.) preConfigure = "export ac_cv_func_setpgrp_void=yes"; @@ -35,10 +37,14 @@ stdenv.mkDerivation rec { substituteInPlace lib/nscd.c --replace /usr/sbin/nscd ${glibc}/sbin/nscd ''; - # Don't install ‘groups’, since coreutils already provides it. postInstall = '' + # Don't install ‘groups’, since coreutils already provides it. rm $out/bin/groups $out/share/man/man1/groups.* + + # Move the su binary into the su package + mkdir -p $su/bin + mv $out/bin/su $su/bin ''; meta = { diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 3f676d37dd8..ec43ee1e64f 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -36,6 +36,10 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optional (ncurses != null) ncurses ++ stdenv.lib.optional (perl != null) perl; + postInstall = '' + rm $out/bin/su # su should be supplied by the su package (shadow) + ''; + enableParallelBuilding = true; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1daa2eba8a5..da971258d50 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1995,7 +1995,7 @@ let stunnel = callPackage ../tools/networking/stunnel { }; - su = shadow; + su = shadow.su; surfraw = callPackage ../tools/networking/surfraw { }; From 31ab1fd7aee16ac755a08067c91def333a09d521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 6 Apr 2014 00:21:30 +0200 Subject: [PATCH 142/880] teamviewer: fix brokenness after updates / GC Teamviewer puts symlinks to nix store paths in ~/.teamviewer. When those paths become garbage collected, teamviewer crashes upon start because of those broken symlinks. An easy workaround to this behaviour is simply to delete all symlinks before we start teamviewer. Teamviewer will fixup the symlinks, just like it did the first time the user ran it. --- .../networking/remote/teamviewer/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index 8c629519764..1bf40eabfae 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libX11, libXtst, libXext, libXdamage, libXfixes, wine, makeWrapper -, bash }: +, bash, findutils, coreutils }: assert stdenv.system == "i686-linux"; let @@ -31,6 +31,13 @@ stdenv.mkDerivation { cat > $out/bin/teamviewer << EOF #!${bash}/bin/sh + # Teamviewer puts symlinks to nix store paths in ~/.teamviewer. When those + # paths become garbage collected, teamviewer crashes upon start because of + # those broken symlinks. An easy workaround to this behaviour is simply to + # delete all symlinks before we start teamviewer. Teamviewer will fixup the + # symlinks, just like it did the first time the user ran it. + ${findutils}/bin/find "\$HOME"/.teamviewer/*/*/"Program Files/TeamViewer/" -type l -print0 | ${findutils}/bin/xargs -0 ${coreutils}/bin/rm + export LD_LIBRARY_PATH=${toldpath}\''${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} export PATH=${topath}\''${PATH:+:\$PATH} $out/share/teamviewer/wrapper wine "c:\Program Files\TeamViewer\Version7\TeamViewer.exe" "\$@" From a68c12d35b64bf4b97e772860967af1ea085cdf4 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 5 Apr 2014 18:39:53 -0400 Subject: [PATCH 143/880] git: Remove phony not-supported wrappers. Fixes #1751 --- .../version-management/git-and-tools/git/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 9be32b9accd..9eaa7d219b0 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -47,8 +47,7 @@ stdenv.mkDerivation { postInstall = '' notSupported() { - echo -e "#\!/bin/sh\necho '`basename $1` not supported, $2'\nexit 1" > "$1" - chmod +x $1 + unlink $1 || true } # Install git-subtree. @@ -94,7 +93,7 @@ stdenv.mkDerivation { --set GITPERLLIB "$gitperllib" \ --prefix PATH : "${svn}/bin" '' else '' # replace git-svn by notification script - notSupported $out/libexec/git-core/git-svn "reinstall with config git = { svnSupport = true } set" + notSupported $out/libexec/git-core/git-svn '') + (if sendEmailSupport then @@ -106,7 +105,7 @@ stdenv.mkDerivation { wrapProgram $out/libexec/git-core/git-send-email \ --set GITPERLLIB "$gitperllib" '' else '' # replace git-send-email by notification script - notSupported $out/libexec/git-core/git-send-email "reinstall with config git = { sendEmailSupport = true } set" + notSupported $out/libexec/git-core/git-send-email '') + stdenv.lib.optionalString withManual ''# Install man pages and Info manual @@ -123,8 +122,7 @@ stdenv.mkDerivation { '' else '' # Don't wrap Tcl/Tk, replace them by notification scripts for prog in bin/gitk libexec/git-core/git-gui; do - notSupported "$out/$prog" \ - "reinstall with config git = { guiSupport = true; } set" + notSupported "$out/$prog" done ''); From 09cdc6edf55a3db1bca5104196a1edb48c5997c5 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 5 Apr 2014 21:31:40 -0400 Subject: [PATCH 144/880] f2fs-tools,ncdc: set platform and add myself to maintainers --- pkgs/applications/networking/p2p/ncdc/default.nix | 2 ++ pkgs/tools/filesystems/f2fs-tools/default.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkgs/applications/networking/p2p/ncdc/default.nix b/pkgs/applications/networking/p2p/ncdc/default.nix index a06185ed2ae..794f6fe4308 100644 --- a/pkgs/applications/networking/p2p/ncdc/default.nix +++ b/pkgs/applications/networking/p2p/ncdc/default.nix @@ -15,5 +15,7 @@ stdenv.mkDerivation rec { description = "modern and lightweight direct connect client with a friendly ncurses interface"; homepage = http://dev.yorhel.nl/ncdc; license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; # arbitrary + maintainers = [ stdenv.lib.maintainers.emery ]; }; } diff --git a/pkgs/tools/filesystems/f2fs-tools/default.nix b/pkgs/tools/filesystems/f2fs-tools/default.nix index 72f417ff10b..f52ead32acd 100644 --- a/pkgs/tools/filesystems/f2fs-tools/default.nix +++ b/pkgs/tools/filesystems/f2fs-tools/default.nix @@ -21,5 +21,7 @@ stdenv.mkDerivation rec { homepage = "http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/"; description = "Userland tools for the f2fs filesystem"; license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.emery ]; }; } From 8d0259caf4f551cc72cceff7766161e14d11632f Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Wed, 2 Apr 2014 11:01:25 -0500 Subject: [PATCH 145/880] nixos: reserve some uids/gids I have some NixOS modules that I keep out of tree, and having UIDs/GIDs reserved is quite helpful. Signed-off-by: Austin Seipp --- nixos/modules/misc/ids.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 91df29236b8..b7912b6630e 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -126,6 +126,9 @@ monetdb = 115; rippled = 116; murmur = 117; + foundationdb = 118; + newrelic = 119; + starbound = 120; # When adding a uid, make sure it doesn't match an existing gid. @@ -225,6 +228,9 @@ systemd-journal-gateway = 110; notbit = 111; monetdb = 115; + foundationdb = 118; + newrelic = 119; + starbound = 120; # When adding a gid, make sure it doesn't match an existing uid. From 35ccaa2e52c8d8c09118c72c8ed5c167a394dcfa Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 5 Apr 2014 15:51:42 +0200 Subject: [PATCH 146/880] Fix gsettings schemas usage for several packages due to #1901 Also add icons to epiphany --- pkgs/applications/graphics/shotwell/default.nix | 10 ++++++++-- pkgs/applications/misc/surf/default.nix | 7 +++++-- .../networking/browsers/dwb/default.nix | 6 +++--- .../networking/browsers/vimb/default.nix | 6 +++--- .../networking/browsers/vimprobable2/default.nix | 7 +++++-- .../telepathy/logger/default.nix | 2 -- .../networking/newsreaders/liferea/default.nix | 5 ++--- pkgs/desktops/gnome-3/core/baobab/default.nix | 2 +- pkgs/desktops/gnome-3/core/dconf/default.nix | 12 ++++++++++-- pkgs/desktops/gnome-3/core/empathy/default.nix | 8 ++++---- pkgs/desktops/gnome-3/core/eog/default.nix | 6 ++++-- pkgs/desktops/gnome-3/core/epiphany/default.nix | 15 +++++++-------- pkgs/desktops/gnome-3/core/evince/default.nix | 8 ++++---- .../core/evolution-data-server/default.nix | 2 -- pkgs/desktops/gnome-3/core/folks/default.nix | 2 -- pkgs/desktops/gnome-3/core/gcr/default.nix | 9 +++++++-- .../gnome-3/core/gnome-calculator/default.nix | 6 ++---- .../gnome-3/core/gnome-control-center/default.nix | 6 ++++-- .../gnome-3/core/gnome-disk-utility/default.nix | 6 ++---- .../gnome-3/core/gnome-font-viewer/default.nix | 6 ++---- .../gnome-3/core/gnome-keyring/default.nix | 6 +++--- .../gnome-3/core/gnome-screenshot/default.nix | 6 ++---- .../gnome-3/core/gnome-session/default.nix | 5 +++-- .../core/gnome-settings-daemon/default.nix | 4 ++-- .../desktops/gnome-3/core/gnome-shell/default.nix | 8 +++----- .../gnome-3/core/gnome-system-log/default.nix | 6 ++---- .../gnome-3/core/gnome-terminal/default.nix | 8 ++++---- pkgs/desktops/gnome-3/core/gucharmap/default.nix | 6 ++---- pkgs/desktops/gnome-3/core/mutter/default.nix | 9 +++++++-- pkgs/desktops/gnome-3/core/nautilus/default.nix | 4 ++-- pkgs/desktops/gnome-3/core/vino/default.nix | 4 ++-- pkgs/desktops/gnome-3/core/yelp/default.nix | 6 ++---- pkgs/desktops/gnome-3/misc/gitg/default.nix | 11 +++-------- pkgs/development/libraries/gvfs/default.nix | 4 ++-- pkgs/development/libraries/ibus/default.nix | 4 ++-- .../networking/network-manager-applet/default.nix | 11 +++++------ 36 files changed, 119 insertions(+), 114 deletions(-) diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix index 2a3ed77609f..1953f951d16 100644 --- a/pkgs/applications/graphics/shotwell/default.nix +++ b/pkgs/applications/graphics/shotwell/default.nix @@ -33,11 +33,17 @@ in stdenv.mkDerivation rec { preConfigure = '' patchShebangs . ''; - + postInstall = '' + mkdir -p $out/share/gsettings-schemas/$name + mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name/ + ''; + + preFixup = '' wrapProgram "$out/bin/shotwell" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gsettings_desktop_schemas}/share:${gtk3}/share:$out/share" + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache ''; diff --git a/pkgs/applications/misc/surf/default.nix b/pkgs/applications/misc/surf/default.nix index 42792ba8f91..651cfcca406 100644 --- a/pkgs/applications/misc/surf/default.nix +++ b/pkgs/applications/misc/surf/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "01b8hq8z2wd7ssym5bypx2b15mrs1lhgkrcgxf700kswxvxcrhgx"; }; - buildInputs = [ gtk makeWrapper webkit pkgconfig glib libsoup ]; + buildInputs = [ gtk makeWrapper webkit gsettings_desktop_schemas pkgconfig glib libsoup ]; # Allow users set their own list of patches inherit patches; @@ -21,9 +21,12 @@ stdenv.mkDerivation rec { preConfigure = [ ''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk'' ]; installPhase = '' make PREFIX=/ DESTDIR=$out install + ''; + + preFixup = '' wrapProgram "$out/bin/surf" \ --prefix GIO_EXTRA_MODULES : ${glib_networking}/lib/gio/modules \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = { diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix index e14996d35f4..dcdbe724194 100644 --- a/pkgs/applications/networking/browsers/dwb/default.nix +++ b/pkgs/applications/networking/browsers/dwb/default.nix @@ -10,17 +10,17 @@ stdenv.mkDerivation { sha256 = "145sq2wv0s0n32cwpwgy59ff6ppcv80ialak7nnj1rpqicfqb72h"; }; - buildInputs = [ pkgconfig makeWrapper libsoup webkit gtk3 gnutls json_c m4 ]; + buildInputs = [ pkgconfig makeWrapper gsettings_desktop_schemas libsoup webkit gtk3 gnutls json_c m4 ]; # There are Xlib and gtk warnings therefore I have set Wno-error preBuild='' makeFlagsArray=(CPPFLAGS="-Wno-error" GTK=3 PREFIX=$out); ''; - postInstall='' + preFixup='' wrapProgram "$out/bin/dwb" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share" wrapProgram "$out/bin/dwbem" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" ''; diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix index 10bca4848dd..6cb52be775c 100644 --- a/pkgs/applications/networking/browsers/vimb/default.nix +++ b/pkgs/applications/networking/browsers/vimb/default.nix @@ -16,14 +16,14 @@ stdenv.mkDerivation rec { sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ssl/certs/ca-bundle.crt, src/default.h ''; - buildInputs = [ makeWrapper gtk libsoup pkgconfig webkit ]; + buildInputs = [ makeWrapper gtk libsoup pkgconfig webkit gsettings_desktop_schemas ]; makeFlags = [ "PREFIX=$(out)" ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/vimb" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = { diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix index 2a44449c750..f723e3791f3 100644 --- a/pkgs/applications/networking/browsers/vimprobable2/default.nix +++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix @@ -14,13 +14,16 @@ stdenv.mkDerivation rec { sed -i s,/etc/ssl/certs/ca-certificates.crt,/etc/ssl/certs/ca-bundle.crt, config.h ''; - buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit ]; + buildInputs = [ makeWrapper gtk libsoup libX11 perl pkgconfig webkit gsettings_desktop_schemas ]; installPhase = '' make PREFIX=/ DESTDIR=$out install + ''; + + preFixup = '' wrapProgram "$out/bin/vimprobable2" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = { diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix index bd8cffd40e4..173dfe9c929 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix @@ -19,8 +19,6 @@ stdenv.mkDerivation rec { configureFlags = "--enable-call"; - installFlags = "gsettingsschemadir=\${out}/share/telepathy/logger/glib-2.0/schemas/"; - meta = { description = "Logger service for Telepathy framework"; homepage = http://telepathy.freedesktop.org/wiki/Logger ; diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix index 83eeb18d126..650e3237fe4 100644 --- a/pkgs/applications/networking/newsreaders/liferea/default.nix +++ b/pkgs/applications/networking/newsreaders/liferea/default.nix @@ -28,16 +28,15 @@ stdenv.mkDerivation rec { ]; preFixup = '' - rm $out/share/icons/hicolor/icon-theme.cache''; + rm $out/share/icons/hicolor/icon-theme.cache - postInstall = '' for f in "$out"/bin/*; do wrapProgram "$f" \ --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \ --prefix LD_LIBRARY_PATH : "${gnome3.libgnome_keyring}/lib" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules:${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:${gnome3.gtk}/share:$out/share" + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" done ''; diff --git a/pkgs/desktops/gnome-3/core/baobab/default.nix b/pkgs/desktops/gnome-3/core/baobab/default.nix index 5121f1f69be..9381f45105d 100644 --- a/pkgs/desktops/gnome-3/core/baobab/default.nix +++ b/pkgs/desktops/gnome-3/core/baobab/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { rm $out/share/icons/HighContrast/icon-theme.cache wrapProgram "$out/bin/baobab" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix index 4ee8143bb2b..a485b18c5e5 100644 --- a/pkgs/desktops/gnome-3/core/dconf/default.nix +++ b/pkgs/desktops/gnome-3/core/dconf/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3 -, libxml2, intltool, docbook_xsl_ns, docbook_xsl }: +, libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }: stdenv.mkDerivation rec { name = "dconf-${version}"; @@ -11,7 +11,15 @@ stdenv.mkDerivation rec { }; buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2 - intltool docbook_xsl docbook_xsl_ns ]; + intltool docbook_xsl docbook_xsl_ns makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/dconf-editor" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + + rm $out/lib/gio/modules/giomodule.cache + rm $out/share/icons/hicolor/icon-theme.cache + ''; meta = with stdenv.lib; { platforms = platforms.linux; diff --git a/pkgs/desktops/gnome-3/core/empathy/default.nix b/pkgs/desktops/gnome-3/core/empathy/default.nix index 1f7a027fd3e..a227c1422d6 100644 --- a/pkgs/desktops/gnome-3/core/empathy/default.nix +++ b/pkgs/desktops/gnome-3/core/empathy/default.nix @@ -39,12 +39,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - installFlags = "gsettingsschemadir=\${out}/share/empathy/glib-2.0/schemas/"; - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/empathy" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/empathy:${telepathy_logger}/share/telepathy/logger:${folks}/share/folks:${evolution_data_server}/share/evolution-data-server" + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${hicolor_icon_theme}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + + rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix index 99e87b3c584..57f19dcaa32 100644 --- a/pkgs/desktops/gnome-3/core/eog/default.nix +++ b/pkgs/desktops/gnome-3/core/eog/default.nix @@ -14,11 +14,13 @@ stdenv.mkDerivation rec { [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/eog" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:${gnome3.gtk}/share:$out/share" + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + + rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix index 7da49dbc738..9df3a7ed01e 100644 --- a/pkgs/desktops/gnome-3/core/epiphany/default.nix +++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix @@ -1,10 +1,8 @@ { stdenv, intltool, fetchurl, pkgconfig, gtk3, glib, nspr, icu , bash, makeWrapper, gnome3, libwnck3, libxml2, libxslt, libtool , webkitgtk, libsoup, libsecret, gnome_desktop, libnotify, p11_kit -, sqlite, gcr, avahi, nss, isocodes, itstool, file }: - -# TODO: icons and theme still does not work -# use packaged gnome3.gnome_icon_theme_symbolic +, sqlite, gcr, avahi, nss, isocodes, itstool, file +, hicolor_icon_theme, gdk_pixbuf, librsvg }: stdenv.mkDerivation rec { name = "epiphany-3.10.3"; @@ -18,6 +16,8 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-static --disable-tests" ]; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; nativeBuildInputs = [ pkgconfig file ]; @@ -30,13 +30,12 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss"; - installFlags = "gsettingsschemadir=\${out}/share/${name}/glib-2.0/schemas/"; - enableParallelBuilding = true; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/epiphany" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/${name}" + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix index de8f28ddaab..3a2688a64b9 100644 --- a/pkgs/desktops/gnome-3/core/evince/default.nix +++ b/pkgs/desktops/gnome-3/core/evince/default.nix @@ -21,8 +21,6 @@ stdenv.mkDerivation rec { makeWrapper libsecret librsvg ]; - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - configureFlags = [ "--disable-nautilus" # Do not use nautilus ]; @@ -40,12 +38,14 @@ stdenv.mkDerivation rec { sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c ''; - postInstall = '' + preFixup = '' # Tell Glib/GIO about the MIME info directory, which is used # by `g_file_info_get_content_type ()'. wrapProgram "$out/bin/evince" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gnome3.gsettings_desktop_schemas}/share:${gtk3}/share:${shared_mime_info}/share:$out/share" + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${shared_mime_info}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" + + rm $out/share/icons/hicolor/icon-theme.cache ''; doCheck = false; # would need pythonPackages.dogTail, which is missing diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix index 30805c1c597..0ded30b11ab 100644 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix @@ -19,8 +19,6 @@ stdenv.mkDerivation rec { configureFlags = ["--disable-uoa" "--with-nspr-includes=${nspr}/include/nspr" "--with-nss-includes=${nss}/include/nss"] ++ stdenv.lib.optional valaSupport "--enable-vala-bindings"; - installFlags = "gsettingsschemadir=\${out}/share/evolution-data-server/glib-2.0/schemas/"; - meta = with stdenv.lib; { platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/core/folks/default.nix b/pkgs/desktops/gnome-3/core/folks/default.nix index 9b0f403b079..12518c634c4 100644 --- a/pkgs/desktops/gnome-3/core/folks/default.nix +++ b/pkgs/desktops/gnome-3/core/folks/default.nix @@ -27,8 +27,6 @@ stdenv.mkDerivation rec { postBuild = "rm -rf $out/share/gtk-doc"; - installFlags = "gsettingsschemadir=\${out}/share/folks/glib-2.0/schemas/"; - meta = { description = "Folks"; diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix index 059942530ea..a1fdd471282 100644 --- a/pkgs/desktops/gnome-3/core/gcr/default.nix +++ b/pkgs/desktops/gnome-3/core/gcr/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib , libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk -, gobjectIntrospection }: +, gobjectIntrospection, makeWrapper }: stdenv.mkDerivation rec { name = "gcr-3.10.1"; @@ -12,11 +12,16 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig intltool gnupg p11_kit glib gobjectIntrospection - libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk + libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk makeWrapper ]; #doCheck = true; + preFixup = '' + wrapProgram "$out/bin/gcr-viewer" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + meta = with stdenv.lib; { platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix index 805f0e5276d..981ae3bd9df 100644 --- a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix @@ -20,12 +20,10 @@ stdenv.mkDerivation rec { libxml2 gnome3.gtksourceview gnome3.gsettings_desktop_schemas makeWrapper ]; - installFlags = "gsettingsschemadir=\${out}/share/gnome-calculator/glib-2.0/schemas/"; - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gnome-calculator" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-calculator:$XDG_ICON_DIRS" + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index ac9c53422b3..a3f2e2b7584 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -36,13 +36,15 @@ stdenv.mkDerivation rec { substituteInPlace panels/datetime/test-endianess.c --replace "/usr/share/locale/" "$out/share/locale/" ''; - postInstall = with gnome3; '' + preFixup = with gnome3; '' wrapProgram $out/bin/gnome-control-center \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:${gsettings_desktop_schemas}/share:${gnome_settings_daemon}/share:${glib}/share:${gtk}/share:${colord}/share:$out/share:$out/share/gnome-control-center:$XDG_ICON_DIRS" + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:${gnome_settings_daemon}/share:${glib}/share:${gtk}/share:${colord}/share:$out/share:$out/share/gnome-control-center:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" for i in $out/share/applications/*; do substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center" done + + rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix index 9ab5259a630..c02f8f0a665 100644 --- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix @@ -25,12 +25,10 @@ stdenv.mkDerivation rec { libnotify libdvdread libcanberra_gtk3 docbook_xsl gnome3.gsettings_desktop_schemas makeWrapper libxml2 ]; - installFlags = "gsettingsschemadir=\${out}/share/gnome-disk-utility/glib-2.0/schemas/"; - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gnome-disks" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-disk-utility:$XDG_ICON_DIRS" + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; preFixup = '' diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix index 8a1b0054e39..cba651ca36a 100644 --- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix @@ -22,12 +22,10 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gnome_desktop gnome3.gsettings_desktop_schemas makeWrapper ]; - installFlags = "gsettingsschemadir=\${out}/share/gnome-font-viewer/glib-2.0/schemas/"; - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gnome-font-viewer" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-font-viewer:$XDG_ICON_DIRS" + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix index b557e210645..dbb8da93c6c 100644 --- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { "--with-pkcs11-modules=$$out/lib/pkcs11/" ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gnome-keyring" \ - --prefix XDG_DATA_DIRS : "${glib}/share:$out/share" + --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" wrapProgram "$out/bin/gnome-keyring-daemon" \ - --prefix XDG_DATA_DIRS : "${glib}/share:$out/share" + --prefix XDG_DATA_DIRS : "${glib}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix index 0d891e4625d..349df0b103c 100644 --- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix @@ -21,12 +21,10 @@ stdenv.mkDerivation rec { buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libcanberra_gtk3 gnome3.gsettings_desktop_schemas makeWrapper ]; - installFlags = "gsettingsschemadir=\${out}/share/gnome-screenshot/glib-2.0/schemas/"; - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gnome-screenshot" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-screenshot:$XDG_ICON_DIRS" + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix index 804a0c54a41..f999702af54 100644 --- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix @@ -14,12 +14,13 @@ stdenv.mkDerivation rec { buildInputs = with gnome3; [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt + gnome3.gnome_settings_daemon gsettings_desktop_schemas upower intltool gconf makeWrapper systemd ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gnome-session" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix XDG_DATA_DIRS : "${gnome3.gsettings_desktop_schemas}/share:$out/share" + --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix index 668a53d2bf8..7a50b8db56f 100644 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { polkit geocode_glib geoclue2 librsvg xf86_input_wacom udev libwacom libxslt libtool docbook_xsl docbook_xsl_ns makeWrapper gnome_themes_standard ]; - postInstall = '' + preFixup = '' wrapProgram "$out/libexec/gnome-settings-daemon-localeexec" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix PATH : "${glib}/bin" \ - --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share" + --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix index 59f62b6948d..519347f14c8 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix @@ -22,22 +22,20 @@ stdenv.mkDerivation rec { libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger ]; - configureFlags = "--disable-static"; - preBuild = '' patchShebangs src/data-to-c.pl substituteInPlace data/Makefile --replace " install-keysDATA" "" ''; - postInstall = with gnome3; '' + preFixup = with gnome3; '' wrapProgram "$out/bin/gnome-shell" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gnome-menus}:/share:${ibus}/share:${gnome_settings_daemon}/share:${gnome_control_center}/share:${gdm}/share:${glib}/share:${gnome_themes_standard}/share:${mutter}/share:${gnome_icon_theme}/share:${gsettings_desktop_schemas}/share:${gtk}/share:$out/share" + --prefix XDG_DATA_DIRS : "${gnome-menus}:/share:${ibus}/share:${gnome_settings_daemon}/share:${gnome_control_center}/share:${gdm}/share:${glib}/share:${gnome_themes_standard}/share:${mutter}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" wrapProgram "$out/libexec/gnome-shell-calendar-server" \ - --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share" + --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix index 8b387627da5..7152332217a 100644 --- a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix @@ -21,12 +21,10 @@ stdenv.mkDerivation rec { buildInputs = [ bash pkgconfig gtk3 glib intltool itstool gnome3.gsettings_desktop_schemas makeWrapper libxml2 ]; - installFlags = "gsettingsschemadir=\${out}/share/gnome-system-log/glib-2.0/schemas/"; - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gnome-system-log" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/gnome-system-log:$XDG_ICON_DIRS" + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; preFixup = '' diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix index 31ee53e9713..541db5720db 100644 --- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix @@ -19,12 +19,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ]; - postInstall = '' - wrapProgram "$out/libexec/gnome-terminal-server" \ - --prefix XDG_DATA_DIRS : "${gnome3.gsettings_desktop_schemas}/share:$out/share" + preFixup = '' + for f in "$out/libexec/gnome-terminal-migration" "$out/libexec/gnome-terminal-server"; do + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" + done ''; - meta = with stdenv.lib; { platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix index bf630e1947d..a6bf72b2fc7 100644 --- a/pkgs/desktops/gnome-3/core/gucharmap/default.nix +++ b/pkgs/desktops/gnome-3/core/gucharmap/default.nix @@ -25,11 +25,9 @@ stdenv.mkDerivation rec { gnome3.yelp_tools libxml2 file desktop_file_utils gnome3.gsettings_desktop_schemas makeWrapper ]; - installFlags = "gsettingsschemadir=\${out}/share/${name}/glib-2.0/schemas/"; - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gucharmap" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/${name}" + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix index e6454aa8e5d..0acfa9f36ae 100644 --- a/pkgs/desktops/gnome-3/core/mutter/default.nix +++ b/pkgs/desktops/gnome-3/core/mutter/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo , pango, cogl, clutter, libstartup_notification, libcanberra, zenity, libcanberra_gtk3 -, libtool }: +, libtool, makeWrapper }: stdenv.mkDerivation rec { @@ -19,7 +19,12 @@ stdenv.mkDerivation rec { buildInputs = with gnome3; [ pkgconfig intltool glib gobjectIntrospection gtk gsettings_desktop_schemas upower gnome_desktop cairo pango cogl clutter zenity libstartup_notification libcanberra - libcanberra_gtk3 zenity libtool ]; + libcanberra_gtk3 zenity libtool makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/mutter" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; meta = with stdenv.lib; { platforms = platforms.linux; diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix index 091e48626ae..2041a71a82c 100644 --- a/pkgs/desktops/gnome-3/core/nautilus/default.nix +++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi librsvg gnome3.gnome_desktop gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.gsettings_desktop_schemas libnotify makeWrapper ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/nautilus" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share" + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/vino/default.nix b/pkgs/desktops/gnome-3/core/vino/default.nix index b431a199bf7..65668dce6a2 100644 --- a/pkgs/desktops/gnome-3/core/vino/default.nix +++ b/pkgs/desktops/gnome-3/core/vino/default.nix @@ -15,9 +15,9 @@ stdenv.mkDerivation rec { buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify file makeWrapper ]; - postInstall = '' + preFixup = '' for f in "$out/bin/vino-passwd" "$out/libexec/vino-server"; do - wrapProgram $f --prefix XDG_DATA_DIRS : "${gtk3}/share:$out/share" + wrapProgram $f --prefix XDG_DATA_DIRS : "${gtk3}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" done ''; diff --git a/pkgs/desktops/gnome-3/core/yelp/default.nix b/pkgs/desktops/gnome-3/core/yelp/default.nix index d84bd288707..b58aa99721e 100644 --- a/pkgs/desktops/gnome-3/core/yelp/default.nix +++ b/pkgs/desktops/gnome-3/core/yelp/default.nix @@ -20,12 +20,10 @@ stdenv.mkDerivation rec { libxml2 libxslt icu file makeWrapper gnome3.yelp_xsl gnome3.gsettings_desktop_schemas ]; - installFlags = "gsettingsschemadir=\${out}/share/yelp/glib-2.0/schemas/"; - - postInstall = '' + preFixup = '' wrapProgram "$out/bin/yelp" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${gnome3.yelp_xsl}/share/yelp-xsl:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/yelp:$XDG_ICON_DIRS" + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/:${gnome3.gnome_themes_standard}/share:${gnome3.yelp_xsl}/share/yelp-xsl:${gnome3.gsettings_desktop_schemas}/share:$out/share:$out/share/yelp:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix index 26268f4c90c..7ca35a8255f 100644 --- a/pkgs/desktops/gnome-3/misc/gitg/default.nix +++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix @@ -9,12 +9,10 @@ stdenv.mkDerivation rec { name = "gitg-0.3.2"; src = fetchurl { - url = "https://download.gnome.org/sources/gitg/0.3/${name}.tar.xz"; + url = "mirror://gnome/sources/gitg/0.3/${name}.tar.xz"; sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp"; }; - configureFlags = [ "--disable-static" ]; - preCheck = '' substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash" ''; @@ -29,14 +27,11 @@ stdenv.mkDerivation rec { libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview librsvg gobjectIntrospection makeWrapper gnome3.gnome_icon_theme_symbolic gnome3.gnome_icon_theme ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/gitg" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share" - ''; - - preFixup = '' + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" rm $out/share/icons/hicolor/icon-theme.cache rm $out/share/gitg/icons/hicolor/icon-theme.cache ''; diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index 73b74a12c66..3f20147d0e9 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -31,8 +31,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # ToDo: one probably should specify schemas for samba and others here - fixupPhase = '' - wrapProgram $out/libexec/gvfsd --set GSETTINGS_SCHEMA_DIR "$out/share/glib-2.0/schemas" + preFixup = '' + wrapProgram $out/libexec/gvfsd --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = { diff --git a/pkgs/development/libraries/ibus/default.nix b/pkgs/development/libraries/ibus/default.nix index 75eb1b4134c..905f11dfdc2 100644 --- a/pkgs/development/libraries/ibus/default.nix +++ b/pkgs/development/libraries/ibus/default.nix @@ -21,9 +21,9 @@ stdenv.mkDerivation rec { preBuild = "patchShebangs ./scripts"; - postInstall = '' + preFixup = '' for f in "$out"/bin/*; do - wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share" \ + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \ --prefix PYTHONPATH : "$(toPythonPath ${pygobject3})" \ --prefix LD_LIBRARY_PATH : "${gnome3.gtk3}/lib:${atk}/lib:$out/lib" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" \ diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix index 6db55ada192..8d0d4521b86 100644 --- a/pkgs/tools/networking/network-manager-applet/default.nix +++ b/pkgs/tools/networking/network-manager-applet/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { }; buildInputs = [ - gnome3.gtk libglade networkmanager libnotify libsecret dbus_glib + gnome3.gtk libglade networkmanager libnotify libsecret dbus_glib gsettings_desktop_schemas polkit isocodes makeWrapper udev gnome3.gconf gnome3.libgnome_keyring ]; @@ -44,9 +44,12 @@ stdenv.mkDerivation rec { ln -s ${networkmanager_openvpn}/libexec/* $out/libexec/ ln -s ${networkmanager_vpnc}/libexec/* $out/libexec/ ln -s ${networkmanager_openconnect}/libexec/* $out/libexec/ + ''; + + preFixup = '' wrapProgram "$out/bin/nm-applet" \ --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \ - --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:${gnome3.gtk}/share:$out/share" \ + --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \ --set GCONF_CONFIG_SOURCE "xml::~/.gconf" \ --prefix PATH ":" "${gnome3.gconf}/bin" ''; @@ -57,9 +60,5 @@ stdenv.mkDerivation rec { license = licenses.gpl2; maintainers = with maintainers; [ phreedom urkud rickynils ]; platforms = platforms.linux; - - # resolve collision between evince and nm-applet for - # gschemas.compiled - priority = 6; }; } From 1653c118bd079d0ba19fc85c8abe94e35739db53 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 3 Apr 2014 16:39:46 +0200 Subject: [PATCH 147/880] pastebinit: new package A software that lets you send anything you want directly to a pastebin from the command line https://launchpad.net/pastebinit --- pkgs/tools/misc/pastebinit/default.nix | 33 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/tools/misc/pastebinit/default.nix diff --git a/pkgs/tools/misc/pastebinit/default.nix b/pkgs/tools/misc/pastebinit/default.nix new file mode 100644 index 00000000000..cf41de29c50 --- /dev/null +++ b/pkgs/tools/misc/pastebinit/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, python3Packages }: + +python3Packages.buildPythonPackage rec { + version = "1.4.1"; + name = "pastebinit-${version}"; + + src = fetchurl { + url = "https://launchpad.net/pastebinit/trunk/${version}/+download/${name}.tar.bz2"; + md5 = "b771872a9483cf92be90a3e4420fd3c9"; + }; + + configurePhase = "export DETERMINISTIC_BUILD=1"; + + buildPhase = ""; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/etc + cp -a pastebinit $out/bin + cp -a pastebin.d $out/etc + substituteInPlace $out/bin/pastebinit --replace "'/etc/pastebin.d" "'$out/etc/pastebin.d" + ''; + + doCheck = false; + + meta = with stdenv.lib; { + homepage = https://launchpad.net/pastebinit; + description = "A software that lets you send anything you want directly to a pastebin from the command line"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f2b10785962..550999b438e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1763,6 +1763,8 @@ let cntlm = callPackage ../tools/networking/cntlm { }; + pastebinit = callPackage ../tools/misc/pastebinit { }; + psmisc = callPackage ../os-specific/linux/psmisc { }; pstoedit = callPackage ../tools/graphics/pstoedit { }; From c01cc1a0e42c79cfd2e012c29a395eddbeb6f73b Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 5 Apr 2014 09:48:19 +0200 Subject: [PATCH 148/880] add haskell-cheapskate-0.1.0.1 (markdown processor) --- .../libraries/haskell/cheapskate/default.nix | 20 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/libraries/haskell/cheapskate/default.nix diff --git a/pkgs/development/libraries/haskell/cheapskate/default.nix b/pkgs/development/libraries/haskell/cheapskate/default.nix new file mode 100644 index 00000000000..0ef18440e37 --- /dev/null +++ b/pkgs/development/libraries/haskell/cheapskate/default.nix @@ -0,0 +1,20 @@ +{ cabal, blazeHtml, dataDefault, mtl, syb, text, uniplate +, xssSanitize +}: + +cabal.mkDerivation (self: { + pname = "cheapskate"; + version = "0.1.0.1"; + sha256 = "0slrvbaamnwxx89kqjcr62058j00s2dw4c16q1swf817az2p66h8"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + blazeHtml dataDefault mtl syb text uniplate xssSanitize + ]; + meta = { + homepage = "http://github.com/jgm/cheapskate"; + description = "Experimental markdown processor"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 522baf33ff2..8960e980fc7 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -757,6 +757,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x ChasingBottoms = callPackage ../development/libraries/haskell/ChasingBottoms {}; + cheapskate = callPackage ../development/libraries/haskell/cheapskate {}; + checkers = callPackage ../development/libraries/haskell/checkers {}; chell = callPackage ../development/libraries/haskell/chell {}; From 7f6a2f81b92068c85876662a36a976c4839adb2b Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 5 Apr 2014 09:35:52 +0200 Subject: [PATCH 149/880] idris: upgrade to 0.9.12 --- pkgs/development/compilers/idris/default.nix | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix index a22c8bf7762..c32c14cf584 100644 --- a/pkgs/development/compilers/idris/default.nix +++ b/pkgs/development/compilers/idris/default.nix @@ -1,23 +1,23 @@ { cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint, binary -, boehmgc, Cabal, deepseq, filepath, gmp, happy, haskeline -, languageJava, libffi, llvmGeneral, llvmGeneralPure, mtl, network -, parsers, split, text, time, transformers, trifecta -, unorderedContainers, utf8String, vector, vectorBinaryInstances -, xml, zlib +, boehmgc, Cabal, cheapskate, deepseq, filepath, gmp, happy +, haskeline, languageJava, lens, libffi, llvmGeneral +, llvmGeneralPure, mtl, network, parsers, split, text, time +, transformers, trifecta, unorderedContainers, utf8String, vector +, vectorBinaryInstances, xml, zlib }: cabal.mkDerivation (self: { pname = "idris"; - version = "0.9.11.2"; - sha256 = "16xgiygn0j3kl3l36lnv6wz422nz2bvn3lk86xkdfvwjpv4630yn"; + version = "0.9.12"; + sha256 = "151h9qkx7yw24q0b60r78hki1y8m6sxmfars7wywnbzk3kalqb6x"; isLibrary = true; isExecutable = true; buildDepends = [ - annotatedWlPprint ansiTerminal ansiWlPprint binary Cabal deepseq - filepath haskeline languageJava libffi llvmGeneral llvmGeneralPure - mtl network parsers split text time transformers trifecta - unorderedContainers utf8String vector vectorBinaryInstances xml - zlib + annotatedWlPprint ansiTerminal ansiWlPprint binary Cabal cheapskate + deepseq filepath haskeline languageJava lens libffi llvmGeneral + llvmGeneralPure mtl network parsers split text time transformers + trifecta unorderedContainers utf8String vector + vectorBinaryInstances xml zlib ]; buildTools = [ happy ]; extraLibraries = [ boehmgc gmp ]; From b36f6ce3d4e7f57c51601cb4d7d4ad70e4ffe42d Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 5 Apr 2014 09:55:11 +0200 Subject: [PATCH 150/880] ghc-mod: upgrade to 4.0.1 --- .../libraries/haskell/ghc-mod/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix index 260fff8ae82..0e60526e8fc 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix @@ -1,20 +1,20 @@ -{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcPaths -, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers +{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcSybUtils +, hlint, hspec, ioChoice, syb, time, transformers }: cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "3.1.7"; - sha256 = "1mv6m1fcqkm4i27jw1aniwfq2dhpn4m7kicyq4l70zmkfr7y7c5s"; + version = "4.0.1"; + sha256 = "13dgphwspp91bycnmcxgxzv4470wpjv5zfswwgmad644i77nixmm"; isLibrary = true; isExecutable = true; buildDepends = [ - Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice syb - time transformers + Cabal convertible filepath ghcSybUtils hlint ioChoice syb time + transformers ]; testDepends = [ - Cabal convertible doctest filepath ghcPaths ghcSybUtils hlint hspec - ioChoice syb time transformers + Cabal convertible doctest filepath ghcSybUtils hlint hspec ioChoice + syb time transformers ]; buildTools = [ emacs ]; postInstall = '' From cdc4c7039dac9ba520f68923bd995a374fcd2997 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 5 Apr 2014 10:42:17 +0200 Subject: [PATCH 151/880] add haskell-data-hash-0.2.0.0 --- .../libraries/haskell/data-hash/default.nix | 15 +++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/development/libraries/haskell/data-hash/default.nix diff --git a/pkgs/development/libraries/haskell/data-hash/default.nix b/pkgs/development/libraries/haskell/data-hash/default.nix new file mode 100644 index 00000000000..c8e4887063c --- /dev/null +++ b/pkgs/development/libraries/haskell/data-hash/default.nix @@ -0,0 +1,15 @@ +{ cabal, QuickCheck, testFramework, testFrameworkQuickcheck2 }: + +cabal.mkDerivation (self: { + pname = "data-hash"; + version = "0.2.0.0"; + sha256 = "1bfsbc4fkg3jqgbgka1mg6k1fizynvvxbhf2zb0x1apgr579mcrm"; + testDepends = [ + QuickCheck testFramework testFrameworkQuickcheck2 + ]; + meta = { + description = "Combinators for building fast hashing functions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 8960e980fc7..6d52e5843b0 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -913,6 +913,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x dataenc = callPackage ../development/libraries/haskell/dataenc {}; + dataHash = callPackage ../development/libraries/haskell/data-hash {}; + dataInttrie = callPackage ../development/libraries/haskell/data-inttrie {}; dataLens = callPackage ../development/libraries/haskell/data-lens {}; From 773ce7aa32199bc6b256af4d6a77aabee6ea67fe Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 5 Apr 2014 10:44:52 +0200 Subject: [PATCH 152/880] add haskell-tree-view-0.4 --- .../libraries/haskell/tree-view/default.nix | 13 +++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 pkgs/development/libraries/haskell/tree-view/default.nix diff --git a/pkgs/development/libraries/haskell/tree-view/default.nix b/pkgs/development/libraries/haskell/tree-view/default.nix new file mode 100644 index 00000000000..7ceefb815d8 --- /dev/null +++ b/pkgs/development/libraries/haskell/tree-view/default.nix @@ -0,0 +1,13 @@ +{ cabal, mtl }: + +cabal.mkDerivation (self: { + pname = "tree-view"; + version = "0.4"; + sha256 = "0mzywp6nipc6zs98dy4ny2s3r9d745lqpjazfnj5y4hx8swyckgn"; + buildDepends = [ mtl ]; + meta = { + description = "Render trees as foldable HTML and Unicode art"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 6d52e5843b0..fb0b0dc3aaa 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2522,6 +2522,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x traverseWithClass = callPackage ../development/libraries/haskell/traverse-with-class {}; + treeView = callPackage ../development/libraries/haskell/tree-view {}; + trifecta = callPackage ../development/libraries/haskell/trifecta {}; tuple = callPackage ../development/libraries/haskell/tuple {}; From 6249cc729e342c85b5ac222fb2908880847b86ae Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sat, 5 Apr 2014 10:36:21 +0200 Subject: [PATCH 153/880] add haskell-syntactic-1.11 --- .../libraries/haskell/syntactic/default.nix | 22 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/development/libraries/haskell/syntactic/default.nix diff --git a/pkgs/development/libraries/haskell/syntactic/default.nix b/pkgs/development/libraries/haskell/syntactic/default.nix new file mode 100644 index 00000000000..e18cf7b5937 --- /dev/null +++ b/pkgs/development/libraries/haskell/syntactic/default.nix @@ -0,0 +1,22 @@ +{ cabal, constraints, dataHash, mtl, QuickCheck, tasty, tastyGolden +, tastyQuickcheck, tastyTh, transformers, treeView, tuple +, utf8String +}: + +cabal.mkDerivation (self: { + pname = "syntactic"; + version = "1.11"; + sha256 = "1j4k4qwi17x9z0cjf9adndaj5wbs8prs36xpz2icf7mlwcr9pvrz"; + buildDepends = [ + constraints dataHash mtl transformers treeView tuple + ]; + testDepends = [ + mtl QuickCheck tasty tastyGolden tastyQuickcheck tastyTh utf8String + ]; + meta = { + homepage = "https://github.com/emilaxelsson/syntactic"; + description = "Generic abstract syntax, and utilities for embedded languages"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index fb0b0dc3aaa..186a39ecd77 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2304,6 +2304,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x sybWithClassInstancesText = callPackage ../development/libraries/haskell/syb/syb-with-class-instances-text.nix {}; + syntactic = callPackage ../development/libraries/haskell/syntactic {}; + syz = callPackage ../development/libraries/haskell/syz {}; SDLImage = callPackage ../development/libraries/haskell/SDL-image {}; From bf129a2c238e5ffe99e7778851042c16ba467496 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Sun, 6 Apr 2014 12:39:51 +0200 Subject: [PATCH 154/880] Allow undefined uids and gids when mutableUsers = true Groups and users without gid/uid are created with useradd/groupadd after the passwd/group merge phase if mutableUsers = true. This should fix #2114. --- nixos/modules/config/users-groups.nix | 96 ++++++++++++++++++++------- 1 file changed, 73 insertions(+), 23 deletions(-) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 2d9b941a2ca..c5d44223ecf 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -7,6 +7,9 @@ let ids = config.ids; cfg = config.users; + nonUidUsers = filterAttrs (n: u: u.uid == null) cfg.extraUsers; + nonGidGroups = filterAttrs (n: g: g.gid == null) cfg.extraGroups; + passwordDescription = '' The options hashedPassword, password and passwordFile @@ -31,7 +34,10 @@ let name = mkOption { type = types.str; - description = "The name of the user account. If undefined, the name of the attribute set will be used."; + description = '' + The name of the user account. If undefined, the name of the + attribute set will be used. + ''; }; description = mkOption { @@ -46,8 +52,14 @@ let }; uid = mkOption { - type = with types; uniq int; - description = "The account UID."; + type = with types; nullOr int; + default = null; + description = '' + The account UID. If the mutableUsers option + is false, the UID cannot be null. Otherwise, the UID might be + null, in which case a free UID is picked on activation (by the + useradd command). + ''; }; group = mkOption { @@ -151,12 +163,21 @@ let name = mkOption { type = types.str; - description = "The name of the group. If undefined, the name of the attribute set will be used."; + description = '' + The name of the group. If undefined, the name of the attribute set + will be used. + ''; }; gid = mkOption { - type = with types; uniq int; - description = "The GID of the group."; + type = with types; nullOr int; + default = null; + description = '' + The group GID. If the mutableUsers option + is false, the GID cannot be null. Otherwise, the GID might be + null, in which case a free GID is picked on activation (by the + groupadd command). + ''; }; members = mkOption { @@ -218,13 +239,15 @@ let groupFile = pkgs.writeText "group" ( concatStringsSep "\n" (map (g: mkGroupEntry g.name) ( - sortOn "gid" (attrValues cfg.extraGroups) + let f = g: g.gid != null; in + sortOn "gid" (filter f (attrValues cfg.extraGroups)) )) ); passwdFile = pkgs.writeText "passwd" ( concatStringsSep "\n" (map (u: mkPasswdEntry u.name) ( - sortOn "uid" (filter (u: u.createUser) (attrValues cfg.extraUsers)) + let f = u: u.createUser && (u.uid != null); in + sortOn "uid" (filter f (attrValues cfg.extraUsers)) )) ); @@ -261,11 +284,11 @@ let then builtins.trace "Duplicate ${idAttr} ${id}" { dup = true; acc = null; } else { dup = false; acc = newAcc; } ) { dup = false; acc = {}; } (builtins.attrNames set)).dup; - uidsAreUnique = idsAreUnique cfg.extraUsers "uid"; - gidsAreUnique = idsAreUnique cfg.extraGroups "gid"; -in -{ + uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.extraUsers) "uid"; + gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.extraGroups) "gid"; + +in { ###### interface @@ -424,16 +447,31 @@ in } fi ''; - mkhome = n: u: - let - uid = toString u.uid; - gid = toString ((getGroup u.group).gid); - h = u.home; - in '' - test -a "${h}" || mkdir -p "${h}" || true - test "$(stat -c %u "${h}")" = ${uid} || chown ${uid} "${h}" || true - test "$(stat -c %g "${h}")" = ${gid} || chgrp ${gid} "${h}" || true - ''; + mkhome = n: u: '' + uid="$(id -u ${u.name})" + gid="$(id -g ${u.name})" + h="${u.home}" + test -a "$h" || mkdir -p "$h" || true + test "$(stat -c %u "$h")" = $uid || chown $uid "$h" || true + test "$(stat -c %g "$h")" = $gid || chgrp $gid "$h" || true + ''; + groupadd = n: g: '' + if [ -z "$(getent group "${g.name}")" ]; then + echo "Adding group ${g.name}" + ${pkgs.shadow}/sbin/groupadd "${g.name}" + fi + ''; + useradd = n: u: '' + if ! id "${u.name}" &>/dev/null; then + echo "Adding user ${u.name}" + ${pkgs.shadow}/sbin/useradd \ + -g "${u.group}" \ + -s "${u.shell}" \ + -d "${u.home}" \ + "${u.name}" + echo "${u.name}:x" | ${pkgs.shadow}/sbin/chpasswd -e + fi + ''; in stringAfter [ "etc" ] '' touch /etc/group touch /etc/passwd @@ -441,6 +479,8 @@ in VISUAL=${merger passwdFile} ${pkgs.shadow}/sbin/vipw &>/dev/null ${pkgs.shadow}/sbin/grpconv ${pkgs.shadow}/sbin/pwconv + ${concatStrings (mapAttrsToList groupadd nonGidGroups)} + ${concatStrings (mapAttrsToList useradd nonUidUsers)} ${concatStrings (mapAttrsToList mkhome mkhomeUsers)} ${concatStrings (mapAttrsToList setpw setpwUsers)} ''; @@ -448,7 +488,17 @@ in # for backwards compatibility system.activationScripts.groups = stringAfter [ "users" ] ""; - assertions = [ { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); message = "uids and gids must be unique!"; } ]; + assertions = [ + { assertion = !cfg.enforceIdUniqueness || (uidsAreUnique && gidsAreUnique); + message = "uids and gids must be unique!"; + } + { assertion = cfg.mutableUsers || (nonUidUsers == {}); + message = "When mutableUsers is false, no uid can be null"; + } + { assertion = cfg.mutableUsers || (nonGidGroups == {}); + message = "When mutableUsers is false, no gid can be null"; + } + ]; }; From 7de29bd26f5e514e95d5d261c08f3029337eecb3 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Sun, 6 Apr 2014 11:56:43 +0100 Subject: [PATCH 155/880] Create the 'postgres' superuser Old PostgreSQL installations were created using the 'root' database user. In this case, we need to create a new 'postgres' account, as we now assume that this is the superuser account. Unfortunately, these machines will be left with a 'root' user as well (which will have ownership of some databases). While PostgreSQL does let you rename superuser accounts, you can only do that when you are connected as a *different* database user. Thus we'd have to create a special superuser account to do the renaming. As we default to using ident authentication, we would have to create a system level user to do this. This all feels rather complex, so I'm currently opting to keep the 'root' user on these old machines. --- nixos/modules/services/databases/postgresql.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 33ee7244e3f..08a9cdd9f5d 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -197,6 +197,7 @@ in fi rm -f ${cfg.dataDir}/*.conf touch "${cfg.dataDir}/.first_startup" + touch "${cfg.dataDir}/postgresql-user-created" fi ln -sfn "${configFile}" "${cfg.dataDir}/postgresql.conf" @@ -230,6 +231,11 @@ in sleep 0.1 done + if ! [ -e ${cfg.dataDir}/postgresql-user-created ]; then + createuser --superuser postgres + touch ${cfg.dataDir}/postgresql-user-created + fi + if test -e "${cfg.dataDir}/.first_startup"; then ${optionalString (cfg.initialScript != null) '' cat "${cfg.initialScript}" | su -s ${pkgs.stdenv.shell} postgres -c 'psql postgres' From e2066841106a6b89093ab685368742efa4e3c2c1 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Sun, 6 Apr 2014 12:00:02 +0100 Subject: [PATCH 156/880] Use PostgreSQL 9.3's `pg_isready` to wait for connectivity The postgresql module has a postStart section that waits for a database to accept connections before continuing. However, this assumes various properties about the database - specifically the database user and (implicitly) the database name. This means that for old installations, this command fails because there is no 'postgres' user, and the service never starts. While 7deff39 does create the 'postgres' user, a better solution is to use `pg_isready`, who's sole purpose is to check if the database is accepting connections. This has no dependency on users, so should be more robust. --- nixos/modules/services/databases/postgresql.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 08a9cdd9f5d..ed66c15e304 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -226,7 +226,7 @@ in # Wait for PostgreSQL to be ready to accept connections. postStart = '' - while ! su -s ${pkgs.stdenv.shell} postgres -c 'psql postgres -c ""' 2> /dev/null; do + while ! ${pkgs.postgresql93}/bin/pg_isready > /dev/null; do if ! kill -0 "$MAINPID"; then exit 1; fi sleep 0.1 done From 5174e6db807f36e3024adeaa1107c0486e88b135 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 12:25:15 +0200 Subject: [PATCH 157/880] gnome-backgrounds: new package --- .../services/x11/desktop-managers/gnome3.nix | 1 + .../gnome-3/core/gnome-backgrounds/default.nix | 16 ++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 ++ 3 files changed, 19 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index f4230fd1dd2..4f876b9b111 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -57,6 +57,7 @@ in { gnome3.yelp pkgs.glib_networking pkgs.ibus + gnome3.gnome-backgrounds gnome3.gnome_shell gnome3.gnome_settings_daemon gnome3.gnome_terminal diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix new file mode 100644 index 00000000000..41f75e6e3c5 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, pkgconfig, intltool }: + +stdenv.mkDerivation rec { + name = "gnome-backgrounds-3.12.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-backgrounds/3.12/${name}.tar.xz"; + sha256 = "77a893025a0bed5753631a810154cad53fb2cf34c8ee988016217cd8862eab42"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index b4bb2c8320e..00bc653c1f9 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -38,6 +38,8 @@ rec { gjs = callPackage ./core/gjs { }; + gnome-backgrounds = callPackage ./core/gnome-backgrounds { }; + gnome_control_center = callPackage ./core/gnome-control-center { }; gnome-calculator = callPackage ./core/gnome-calculator { }; From c70c038624dcefecfc9736d39eba30f516f88dc5 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 12:33:28 +0200 Subject: [PATCH 158/880] gnome-dictionary: new package Dictionary is the GNOME application to look up definitions https://wiki.gnome.org/Apps/Dictionary --- .../gnome-3/core/gnome-dictionary/default.nix | 38 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix new file mode 100644 index 00000000000..6f68916b781 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-dictionary/default.nix @@ -0,0 +1,38 @@ +{ stdenv, intltool, fetchurl +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, libxml2 +, gnome3, librsvg, gdk_pixbuf, file }: + +stdenv.mkDerivation rec { + name = "gnome-dictionary-3.10.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz"; + sha256 = "258b60fe50f7d0580a7dc3bb83f7fe2f6f0597d4013d97ac083c3f062c350ed7"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 file + gnome3.gsettings_desktop_schemas makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-dictionary" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Dictionary; + description = "Dictionary is the GNOME application to look up definitions"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 00bc653c1f9..4f902a96358 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -46,6 +46,8 @@ rec { gnome_common = callPackage ./core/gnome-common { }; + gnome-dictionary = callPackage ./core/gnome-dictionary { }; + gnome-disk-utility = callPackage ./core/gnome-disk-utility { }; gnome-font-viewer = callPackage ./core/gnome-font-viewer { }; From eca21f192602e1fafac30e1ca53ac6d769b23a08 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 12:47:17 +0200 Subject: [PATCH 159/880] totem-pl-parser: new package Simple GObject-based library to parse and save a host of playlist formats https://wiki.gnome.org/Apps/Videos --- .../gnome-3/core/totem-pl-parser/default.nix | 20 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix new file mode 100644 index 00000000000..f1b3bfe53c1 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup }: + +stdenv.mkDerivation rec { + name = "totem-pl-parser-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/totem-pl-parser/3.10/${name}.tar.xz"; + sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469"; + }; + + buildInputs = [ pkgconfig file intltool gmime libxml2 libsoup ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Videos; + description = "Simple GObject-based library to parse and save a host of playlist formats"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 4f902a96358..04fa0df9003 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -108,6 +108,8 @@ rec { rest = callPackage ./core/rest { }; + totem-pl-parser = callPackage ./core/totem-pl-parser { }; + vte = callPackage ./core/vte { }; vino = callPackage ./core/vino { }; From 994a1ee4ef105401eddbb7419181a6ed5b7b45d4 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 14:44:40 +0200 Subject: [PATCH 160/880] grilo: new package Framework that provides access to various sources of multimedia content, using a pluggable system https://wiki.gnome.org/action/show/Projects/Grilo --- pkgs/desktops/gnome-3/core/grilo/default.nix | 22 ++++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/grilo/default.nix diff --git a/pkgs/desktops/gnome-3/core/grilo/default.nix b/pkgs/desktops/gnome-3/core/grilo/default.nix new file mode 100644 index 00000000000..2a7f270300a --- /dev/null +++ b/pkgs/desktops/gnome-3/core/grilo/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib, libxml2, gnome3 }: + +stdenv.mkDerivation rec { + name = "grilo-0.2.10"; + + src = fetchurl { + url = "mirror://gnome/sources/grilo/0.2/${name}.tar.xz"; + sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25"; + }; + + configureFlags = [ "--enable-grl-pls" ]; + + buildInputs = [ pkgconfig file intltool glib libxml2 gnome3.totem-pl-parser ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Projects/Grilo; + description = "Framework that provides access to various sources of multimedia content, using a pluggable system"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 04fa0df9003..e471616d960 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -80,6 +80,8 @@ rec { gnome_themes_standard = callPackage ./core/gnome-themes-standard { }; + grilo = callPackage ./core/grilo { }; + gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; gucharmap = callPackage ./core/gucharmap { }; From 289d554babc7184c8d350fb9ecd86b0ad2b6bda7 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 14:45:33 +0200 Subject: [PATCH 161/880] totem: new package Movie player for the GNOME desktop based on GStreamer https://wiki.gnome.org/Apps/Videos --- pkgs/desktops/gnome-3/core/totem/default.nix | 48 ++++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/totem/default.nix diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix new file mode 100644 index 00000000000..a6acbd192db --- /dev/null +++ b/pkgs/desktops/gnome-3/core/totem/default.nix @@ -0,0 +1,48 @@ +{ stdenv, intltool, fetchurl, gst_all_1 +, clutter_gtk, clutter-gst, pygobject3, shared_mime_info +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, libxml2, dbus_glib +, gnome3, librsvg, gdk_pixbuf, file }: + +stdenv.mkDerivation rec { + name = "totem-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/totem/3.10/${name}.tar.xz"; + sha256 = "b6b6038c9104965671a6d25e98496a487c3a9c590c9c104f668bd9f4fa7be9e2"; + }; + + doCheck = true; + + enableParallelBuilding = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo + clutter_gtk clutter-gst gnome3.totem-pl-parser + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad + gnome3.libpeas pygobject3 shared_mime_info dbus_glib + gnome3.gsettings_desktop_schemas makeWrapper file ]; + + preFixup = '' + wrapProgram "$out/bin/totem" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Videos; + description = "Movie player for the GNOME desktop based on GStreamer"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index e471616d960..ee40ff19e71 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -110,6 +110,8 @@ rec { rest = callPackage ./core/rest { }; + totem = callPackage ./core/totem { }; + totem-pl-parser = callPackage ./core/totem-pl-parser { }; vte = callPackage ./core/vte { }; From 56709a0ac90497dfe1b1e339ba8fbbcb595d6072 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 15:23:08 +0200 Subject: [PATCH 162/880] gnome-disk-utility: remove duplicated preFixup attribute --- pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix index c02f8f0a665..e96da3168e0 100644 --- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix @@ -29,9 +29,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-disks" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - ''; - - preFixup = '' rm $out/share/icons/hicolor/icon-theme.cache ''; From 331d234ef6ecd6f32fb2a589a9a97ebf0bf85a9c Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sun, 6 Apr 2014 10:54:44 -0400 Subject: [PATCH 163/880] Add sproxy --- pkgs/tools/networking/sproxy/default.nix | 36 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/tools/networking/sproxy/default.nix diff --git a/pkgs/tools/networking/sproxy/default.nix b/pkgs/tools/networking/sproxy/default.nix new file mode 100644 index 00000000000..342da193ffc --- /dev/null +++ b/pkgs/tools/networking/sproxy/default.nix @@ -0,0 +1,36 @@ +{ cabal, aeson, attoparsec, caseInsensitive, certificate +, concurrentExtra, cryptoRandom, curl, dataDefault, hslogger, hspec +, HTTP, httpTypes, interpolatedstringPerl6, mtl, network +, optparseApplicative, postgresqlSimple, safe, SHA, split +, stringConversions, time, tls, unorderedContainers, utf8String +, x509, yaml, fetchurl +}: + +cabal.mkDerivation (self: { + pname = "sproxy"; + version = "0.7.4"; + src = fetchurl { + url = "https://github.com/zalora/sproxy/archive/0.7.4.tar.gz"; + sha256 = "1zlsln0ihg7p8jk5gdvm9as6gk4fs8vaa547iq2yvna4c1wb4amr"; + }; + isLibrary = false; + isExecutable = true; + buildDepends = [ + aeson attoparsec caseInsensitive certificate concurrentExtra + cryptoRandom curl dataDefault hslogger HTTP httpTypes + interpolatedstringPerl6 mtl network optparseApplicative + postgresqlSimple safe SHA split stringConversions time tls + unorderedContainers utf8String x509 yaml + ]; + testDepends = [ + aeson attoparsec caseInsensitive certificate concurrentExtra + cryptoRandom curl dataDefault hslogger hspec HTTP httpTypes + interpolatedstringPerl6 mtl network optparseApplicative + postgresqlSimple safe SHA split stringConversions time tls + unorderedContainers utf8String x509 yaml + ]; + meta = { + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 99730b15d3e..924f6a95d60 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1951,6 +1951,8 @@ let sparsehash = callPackage ../development/libraries/sparsehash { }; + sproxy = haskellPackages.callPackage ../tools/networking/sproxy { }; + stardict = callPackage ../applications/misc/stardict/stardict.nix { inherit (gnome) libgnomeui scrollkeeper; }; From 79c9d556e0d1d9c3d82786e222784e76abd59358 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sun, 6 Apr 2014 11:10:01 -0400 Subject: [PATCH 164/880] Add sproxy-web --- pkgs/tools/networking/sproxy-web/default.nix | 26 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/tools/networking/sproxy-web/default.nix diff --git a/pkgs/tools/networking/sproxy-web/default.nix b/pkgs/tools/networking/sproxy-web/default.nix new file mode 100644 index 00000000000..fa3221a7759 --- /dev/null +++ b/pkgs/tools/networking/sproxy-web/default.nix @@ -0,0 +1,26 @@ +{ cabal, aeson, blazeHtml, blazeMarkup, configurator, hflags +, httpTypes, mtl, postgresqlSimple, resourcePool, scotty, text +, waiExtra, waiMiddlewareStatic, fetchurl +}: + +cabal.mkDerivation (self: { + pname = "sproxy-web"; + version = "0.1.0.2"; + src = fetchurl { + url = "https://github.com/zalora/sproxy-web/archive/0.1.0.2.tar.gz"; + sha256 = "1rdzglvsas0rdgq3j5c9ll411yk168x7v3l7w8zdjgafa947j4d4"; + }; + isLibrary = false; + isExecutable = true; + buildDepends = [ + aeson blazeHtml blazeMarkup configurator hflags httpTypes mtl + postgresqlSimple resourcePool scotty text waiExtra + waiMiddlewareStatic + ]; + meta = { + homepage = "http://bitbucket.org/zalorasea/sproxy-web"; + description = "Web interface to sproxy"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 924f6a95d60..d8e94a3ba25 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1953,6 +1953,8 @@ let sproxy = haskellPackages.callPackage ../tools/networking/sproxy { }; + sproxy-web = haskellPackages.callPackage ../tools/networking/sproxy-web { }; + stardict = callPackage ../applications/misc/stardict/stardict.nix { inherit (gnome) libgnomeui scrollkeeper; }; From 8d3d50191d3ca9cbb835d0d73f5daa431b00cda1 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sun, 6 Apr 2014 01:46:28 -0500 Subject: [PATCH 165/880] spiped: version 1.3.1 Signed-off-by: Austin Seipp --- pkgs/tools/networking/spiped/default.nix | 25 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/tools/networking/spiped/default.nix diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix new file mode 100644 index 00000000000..1dd8804fb3d --- /dev/null +++ b/pkgs/tools/networking/spiped/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, openssl }: + +stdenv.mkDerivation rec { + name = "spiped-${version}"; + version = "1.3.1"; + + src = fetchurl { + url = "http://www.tarsnap.com/spiped/${name}.tgz"; + sha256 = "1viglk61v1v2ga1n31r0h8rvib5gy2h02lhhbbnqh2s6ps1sjn4a"; + }; + + buildInputs = [ openssl ]; + installPhase = '' + mkdir -p $out/bin $out/share/man/man1 + make install BINDIR=$out/bin MAN1DIR=$out/share/man/man1 + ''; + + meta = { + description = "utility for secure encrypted channels between sockets"; + homepage = "https://www.tarsnap.com/spiped.html"; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d8e94a3ba25..d0fea1417de 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1951,6 +1951,8 @@ let sparsehash = callPackage ../development/libraries/sparsehash { }; + spiped = callPackage ../tools/networking/spiped { }; + sproxy = haskellPackages.callPackage ../tools/networking/sproxy { }; sproxy-web = haskellPackages.callPackage ../tools/networking/sproxy-web { }; From 43dc48845bb6ca6ec1aaa918f1e33a6874c70eca Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 20:36:11 +0200 Subject: [PATCH 166/880] gnome-system-log: remove duplicated preFixup attribute --- pkgs/desktops/gnome-3/core/gnome-system-log/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix index 7152332217a..cdc4b732b97 100644 --- a/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-system-log/default.nix @@ -25,9 +25,6 @@ stdenv.mkDerivation rec { wrapProgram "$out/bin/gnome-system-log" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" - ''; - - preFixup = '' rm $out/share/icons/hicolor/icon-theme.cache ''; From 2b8002e44babe44e3dba0cc623ffd1d22ba39daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 6 Apr 2014 21:20:23 +0200 Subject: [PATCH 167/880] cinnamon: fixup gschemas --- pkgs/desktops/cinnamon/cinnamon-desktop.nix | 4 ---- pkgs/desktops/cinnamon/cinnamon-session.nix | 8 ++++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop.nix b/pkgs/desktops/cinnamon/cinnamon-desktop.nix index e158b489884..d3cf04e835d 100644 --- a/pkgs/desktops/cinnamon/cinnamon-desktop.nix +++ b/pkgs/desktops/cinnamon/cinnamon-desktop.nix @@ -22,10 +22,6 @@ stdenv.mkDerivation { xkeyboard_config libxkbfile libX11 libXrandr libXext ]; - postInstall = '' - ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/ - ''; - meta = { homepage = "http://cinnamon.linuxmint.com"; description = "Library and data for various Cinnamon modules"; diff --git a/pkgs/desktops/cinnamon/cinnamon-session.nix b/pkgs/desktops/cinnamon/cinnamon-session.nix index 850dd4e6c5a..4caa95be061 100644 --- a/pkgs/desktops/cinnamon/cinnamon-session.nix +++ b/pkgs/desktops/cinnamon/cinnamon-session.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { }; - configureFlags = "--disable-schemas-compile --enable-systemd --disable-gconf" ; + configureFlags = "--enable-systemd --disable-gconf" ; patches = [ ./remove-sessionmigration.patch ./timeout.patch]; @@ -23,17 +23,17 @@ stdenv.mkDerivation { gtk3 dbus_glib upower json_glib intltool systemd xorg.xtrans makeWrapper + cinnamon-desktop/*gschemas*/ ]; preBuild = "patchShebangs ./scripts"; - postInstall = '' - ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/ + postFixup = '' rm $out/share/icons/hicolor/icon-theme.cache for f in "$out"/bin/*; do - wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:${cinnamon-desktop}/share" + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas:$GSETTINGS_SCHEMAS_PATH" done ''; From b4399324c1c8813849c4a4209de118d9cebe8b00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 6 Apr 2014 21:40:55 +0200 Subject: [PATCH 168/880] cinnamon gschemas: fix wrong and pointless part --- pkgs/desktops/cinnamon/cinnamon-session.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/cinnamon/cinnamon-session.nix b/pkgs/desktops/cinnamon/cinnamon-session.nix index 4caa95be061..534fa11f046 100644 --- a/pkgs/desktops/cinnamon/cinnamon-session.nix +++ b/pkgs/desktops/cinnamon/cinnamon-session.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation { rm $out/share/icons/hicolor/icon-theme.cache for f in "$out"/bin/*; do - wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas:$GSETTINGS_SCHEMAS_PATH" + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" done ''; From 784062214ce43ea9d2f6a1ea068e952d517476fe Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Mon, 17 Mar 2014 18:28:10 -0500 Subject: [PATCH 169/880] gradm: fix gradm_pam path We alredy rewrote /sbin/gradm, which technically matches /sbin/gradm_pam, so this ends up working exactly as we want. Otherwise we rewrite twice and gradm can't execute the PAM module with '-p' Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/gradm/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix index 680547be57c..7f6f373b098 100644 --- a/pkgs/os-specific/linux/gradm/default.nix +++ b/pkgs/os-specific/linux/gradm/default.nix @@ -15,7 +15,6 @@ stdenv.mkDerivation rec { substituteInPlace ./Makefile --replace "/usr/include/security/pam_" "${pam}/include/security/pam_" substituteInPlace ./gradm_defs.h --replace "/sbin/grlearn" "$out/sbin/grlearn" substituteInPlace ./gradm_defs.h --replace "/sbin/gradm" "$out/sbin/gradm" - substituteInPlace ./gradm_defs.h --replace "/sbin/gradm_pam" "$out/sbin/gradm_pam" ''; postInstall = '' From ef903555fda39785832f11c2b0b8fb8f3f96dbfc Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Mon, 17 Mar 2014 18:29:28 -0500 Subject: [PATCH 170/880] gradm: learn of all accesses for /nix/store This is necessary for gradm's learning mode to work, as otherwise the /nix/store directory is marked hidden, which causes the kernel to reject the linker loading ld-linux.so Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/gradm/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/os-specific/linux/gradm/default.nix b/pkgs/os-specific/linux/gradm/default.nix index 7f6f373b098..62a3cfa631e 100644 --- a/pkgs/os-specific/linux/gradm/default.nix +++ b/pkgs/os-specific/linux/gradm/default.nix @@ -24,6 +24,8 @@ stdenv.mkDerivation rec { KERNEL=="grsec", MODE="0622" LABEL="permissions_end" EOF + + echo "inherit-learn /nix/store" >> $out/etc/grsec/learn_config ''; makeFlags = From 7863956686ab2243a850164c92e85bc5ce13d8ab Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:19:01 +0200 Subject: [PATCH 171/880] haskell-trifecta: update to version 1.4.2 --- .../libraries/haskell/trifecta/default.nix | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/haskell/trifecta/default.nix b/pkgs/development/libraries/haskell/trifecta/default.nix index d9a9a2a01c5..09f3b112c1b 100644 --- a/pkgs/development/libraries/haskell/trifecta/default.nix +++ b/pkgs/development/libraries/haskell/trifecta/default.nix @@ -6,25 +6,14 @@ cabal.mkDerivation (self: { pname = "trifecta"; - version = "1.4.1"; - sha256 = "0w8x9n7n57y997iajm42z44nm846fj88shc04dffn1xif3jw5zfc"; + version = "1.4.2"; + sha256 = "13kj1xz2bxixsqsrywdx3snl1hjkyv437ifwfrys1m4hnkv4aqai"; buildDepends = [ ansiTerminal ansiWlPprint blazeBuilder blazeHtml blazeMarkup charset comonad deepseq fingertree hashable lens mtl parsers reducers semigroups transformers unorderedContainers utf8String ]; testDepends = [ doctest filepath ]; - postPatch = '' - substituteInPlace trifecta.cabal \ - --replace "blaze-html >= 0.5 && < 0.6," "blaze-html >= 0.5 && < 0.8," \ - --replace "blaze-html >= 0.5 && < 0.7," "blaze-html >= 0.5 && < 0.8," \ - --replace "blaze-markup >= 0.5 && < 0.6," "blaze-markup >= 0.5 && < 0.7," \ - --replace "hashable >= 1.2.1 && < 1.3," "hashable >= 1.1 && < 1.3," \ - --replace "hashable >= 1.2 && < 1.3," "hashable >= 1.1 && < 1.3," \ - --replace "fingertree >= 0.0.1 && < 0.1," "fingertree >= 0.0.1 && < 0.2," \ - --replace "comonad == 3.*," "comonad >= 3 && < 5," \ - --replace "comonad >= 3 && < 4," "comonad >= 3 && < 5," - ''; meta = { homepage = "http://github.com/ekmett/trifecta/"; description = "A modern parser combinator library with convenient diagnostics"; From 070f071469a8847f81633ac9a871c2d0d4359e88 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:19:52 +0200 Subject: [PATCH 172/880] cosmetic: re-generate expressions with cabal2nix --- pkgs/development/libraries/haskell/math-functions/default.nix | 1 - pkgs/development/libraries/haskell/mime-mail/default.nix | 4 ++-- pkgs/development/libraries/haskell/twitter-types/default.nix | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/math-functions/default.nix b/pkgs/development/libraries/haskell/math-functions/default.nix index a7a9d92fb97..b14449626c8 100644 --- a/pkgs/development/libraries/haskell/math-functions/default.nix +++ b/pkgs/development/libraries/haskell/math-functions/default.nix @@ -12,7 +12,6 @@ cabal.mkDerivation (self: { HUnit ieee754 QuickCheck testFramework testFrameworkHunit testFrameworkQuickcheck2 vector ]; - # fails on i686 at version 0.1.5.2 doCheck = false; meta = { homepage = "https://github.com/bos/math-functions"; diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix index 7ba50976168..e2559c70fee 100644 --- a/pkgs/development/libraries/haskell/mime-mail/default.nix +++ b/pkgs/development/libraries/haskell/mime-mail/default.nix @@ -1,5 +1,5 @@ { cabal, base64Bytestring, blazeBuilder, filepath, hspec, random -, text, sendmail ? "sendmail" +, sendmail ? "sendmail", text }: cabal.mkDerivation (self: { @@ -10,7 +10,7 @@ cabal.mkDerivation (self: { base64Bytestring blazeBuilder filepath random text ]; testDepends = [ blazeBuilder hspec text ]; - configureFlags = [ "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"${sendmail}\"" ]; + configureFlags = "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"${sendmail}\""; meta = { homepage = "http://github.com/snoyberg/mime-mail"; description = "Compose MIME email messages"; diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix index 299d39c4546..a7fb544afc1 100644 --- a/pkgs/development/libraries/haskell/twitter-types/default.nix +++ b/pkgs/development/libraries/haskell/twitter-types/default.nix @@ -12,6 +12,7 @@ cabal.mkDerivation (self: { aeson attoparsec httpTypes HUnit shakespeareText testFramework testFrameworkHunit testFrameworkThPrime text unorderedContainers ]; + doCheck = false; meta = { homepage = "https://github.com/himura/twitter-types"; description = "Twitter JSON parser and types"; @@ -19,5 +20,4 @@ cabal.mkDerivation (self: { platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.ocharles ]; }; - doCheck = false; }) From 483e2d7d7d0a3da5dba3262e568e549df4e30d10 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:20:21 +0200 Subject: [PATCH 173/880] haskell-smtps-gmail: update to version 1.1.1 --- .../development/libraries/haskell/smtps-gmail/default.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/smtps-gmail/default.nix b/pkgs/development/libraries/haskell/smtps-gmail/default.nix index a61daf6de25..eb8d97805a0 100644 --- a/pkgs/development/libraries/haskell/smtps-gmail/default.nix +++ b/pkgs/development/libraries/haskell/smtps-gmail/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "smtps-gmail"; - version = "1.1.0"; - sha256 = "0zr2ndpwfnb9pkv69vx94p0vpghl0khd0wbmccjpk6hlrp6fsj66"; + version = "1.1.1"; + sha256 = "1ccj9rmbplh0c7h6rpg3ry213nb1lrhf7hm2vl7kq9lv0nb7cy97"; buildDepends = [ base64Bytestring cprngAes dataDefault filepath mimeMail network stringsearch text tls @@ -16,8 +16,4 @@ cabal.mkDerivation (self: { license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; - # adding a Setup script as it's needed by nix - preConfigure = '' - printf "import Distribution.Simple\nmain = defaultMain\n" > Setup.hs - ''; }) From 267a1692f313c84d9a18959c2c2e879c81c603c7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:01 +0200 Subject: [PATCH 174/880] haskell-fdo-notify: add version 0.3.1 --- .../libraries/haskell/fdo-notify/default.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 3 +++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/development/libraries/haskell/fdo-notify/default.nix diff --git a/pkgs/development/libraries/haskell/fdo-notify/default.nix b/pkgs/development/libraries/haskell/fdo-notify/default.nix new file mode 100644 index 00000000000..86f3d7e0d1d --- /dev/null +++ b/pkgs/development/libraries/haskell/fdo-notify/default.nix @@ -0,0 +1,14 @@ +{ cabal, dbus }: + +cabal.mkDerivation (self: { + pname = "fdo-notify"; + version = "0.3.1"; + sha256 = "1n4zk1i7g34w0wk5zy8n4r63xbglxf62h8j78kv5fc2yn95l30vh"; + buildDepends = [ dbus ]; + meta = { + homepage = "http://bitbucket.org/taejo/fdo-notify/"; + description = "Desktop Notifications client"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 186a39ecd77..08757faf4c8 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1080,8 +1080,11 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x executablePath = callPackage ../development/libraries/haskell/executable-path {}; fay = callPackage ../development/libraries/haskell/fay {}; + fayBase = callPackage ../development/libraries/haskell/fay-base {}; + fdoNotify = callPackage ../development/libraries/haskell/fdo-notify {}; + filepath_1_3_0_0 = callPackage ../development/libraries/haskell/filepath {}; filepath = null; # a core package in recent GHCs From 9000db8b1ef49c23c5eded7efa5fdf1a0472a6c2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:06 +0200 Subject: [PATCH 175/880] haskell-git-annex: update to version 5.20140402 --- .../git-and-tools/git-annex/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix index d64230aa50d..93735d266d6 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix @@ -1,9 +1,9 @@ { cabal, aeson, async, blazeBuilder, bloomfilter, bup, byteable , caseInsensitive, clientsession, cryptoApi, cryptohash, curl , dataDefault, dataenc, DAV, dbus, dlist, dns, editDistance -, extensibleExceptions, feed, filepath, git, gnupg1, gnutls, hamlet -, hinotify, hS3, hslogger, HTTP, httpClient, httpConduit, httpTypes -, IfElse, json, liftedBase, lsof, MissingH +, extensibleExceptions, fdoNotify, feed, filepath, git, gnupg1 +, gnutls, hamlet, hinotify, hS3, hslogger, HTTP, httpClient +, httpConduit, httpTypes, IfElse, json, liftedBase, lsof, MissingH , MonadCatchIOTransformers, monadControl, mtl, network , networkConduit, networkInfo, networkMulticast , networkProtocolXmpp, openssh, optparseApplicative, perl @@ -16,16 +16,16 @@ cabal.mkDerivation (self: { pname = "git-annex"; - version = "5.20140320"; - sha256 = "0jhg5nbvdsiaprpj4h57fpfskhx0nqva4yx6krfd90i9gwgkm8l5"; + version = "5.20140402"; + sha256 = "138zs2nf8k9kvywsajnd5ij9yksaijrgjd75v1b6c6mc3jjy3vhm"; isLibrary = false; isExecutable = true; buildDepends = [ aeson async blazeBuilder bloomfilter byteable caseInsensitive clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus - dlist dns editDistance extensibleExceptions feed filepath gnutls - hamlet hinotify hS3 hslogger HTTP httpClient httpConduit httpTypes - IfElse json liftedBase MissingH MonadCatchIOTransformers + dlist dns editDistance extensibleExceptions fdoNotify feed filepath + gnutls hamlet hinotify hS3 hslogger HTTP httpClient httpConduit + httpTypes IfElse json liftedBase MissingH MonadCatchIOTransformers monadControl mtl network networkConduit networkInfo networkMulticast networkProtocolXmpp optparseApplicative QuickCheck random regexTdfa SafeSemaphore securemem SHA stm tasty tastyHunit From 36ac60f7573fa3b7ac4f9ac6fadaa331bb177d45 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:07 +0200 Subject: [PATCH 176/880] haskell-dns: update to version 1.2.1 --- .../libraries/haskell/dns/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix index 5b2d99fb90e..97a120f2123 100644 --- a/pkgs/development/libraries/haskell/dns/default.nix +++ b/pkgs/development/libraries/haskell/dns/default.nix @@ -1,19 +1,19 @@ { cabal, attoparsec, attoparsecConduit, binary, blazeBuilder -, conduit, doctest, hspec, iproute, mtl, network, networkConduit -, random +, conduit, conduitExtra, doctest, hspec, iproute, mtl, network +, random, resourcet }: cabal.mkDerivation (self: { pname = "dns"; - version = "1.2.0"; - sha256 = "1pzwvb1qycjw6qw34xhd4ap9jl0cc79d3i09b23bg0vqcz80vmpr"; + version = "1.2.1"; + sha256 = "0xv8mj2x8ijqgi7gnh2shr7ns9qghiczm3lw9n37mxk02zbvw8h0"; buildDepends = [ - attoparsec attoparsecConduit binary blazeBuilder conduit iproute - mtl network networkConduit random + attoparsec attoparsecConduit binary blazeBuilder conduit + conduitExtra iproute mtl network random resourcet ]; testDepends = [ - attoparsec attoparsecConduit binary blazeBuilder conduit doctest - hspec iproute mtl network networkConduit random + attoparsec attoparsecConduit binary blazeBuilder conduit + conduitExtra doctest hspec iproute mtl network random resourcet ]; testTarget = "spec"; meta = { From ee105b4a94b201e1185f14b6584dea877b9e253e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:09 +0200 Subject: [PATCH 177/880] haskell-fb: update to version 1.0 --- .../libraries/haskell/fb/default.nix | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/haskell/fb/default.nix b/pkgs/development/libraries/haskell/fb/default.nix index dbade4c9f84..89f8a2121f8 100644 --- a/pkgs/development/libraries/haskell/fb/default.nix +++ b/pkgs/development/libraries/haskell/fb/default.nix @@ -1,5 +1,5 @@ -{ cabal, aeson, attoparsec, attoparsecConduit, base16Bytestring -, base64Bytestring, cereal, conduit, cryptoApi, cryptohash +{ cabal, aeson, attoparsec, base16Bytestring, base64Bytestring +, cereal, conduit, conduitExtra, cryptoApi, cryptohash , cryptohashCryptoapi, dataDefault, hspec, httpConduit, httpTypes , HUnit, liftedBase, monadControl, monadLogger, QuickCheck , resourcet, text, time, transformers, transformersBase @@ -8,18 +8,17 @@ cabal.mkDerivation (self: { pname = "fb"; - version = "0.15.2"; - sha256 = "1nkgw4978kwhqs7h6rlsspx2f9dbmsywjn57v2fg1c1lg271rz1d"; + version = "1.0"; + sha256 = "1pkjpzhdysq5vn302wipz62w6v9fibpvd4smaylv8wgn09si91ji"; buildDepends = [ - aeson attoparsec attoparsecConduit base16Bytestring - base64Bytestring cereal conduit cryptoApi cryptohash - cryptohashCryptoapi dataDefault httpConduit httpTypes liftedBase - monadControl monadLogger resourcet text time transformers - transformersBase unorderedContainers + aeson attoparsec base16Bytestring base64Bytestring cereal conduit + conduitExtra cryptoApi cryptohash cryptohashCryptoapi dataDefault + httpConduit httpTypes liftedBase monadControl monadLogger resourcet + text time transformers transformersBase unorderedContainers ]; testDepends = [ aeson conduit dataDefault hspec httpConduit HUnit liftedBase - monadControl QuickCheck text time transformers + monadControl QuickCheck resourcet text time transformers ]; doCheck = false; meta = { From 8c022626b207128fa3c396c7850167be5ba5d87d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:11 +0200 Subject: [PATCH 178/880] haskell-hakyll: update to version 4.5.0.1 --- pkgs/development/libraries/haskell/hakyll/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index cd051bd938c..13128b75b9f 100644 --- a/pkgs/development/libraries/haskell/hakyll/default.nix +++ b/pkgs/development/libraries/haskell/hakyll/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "hakyll"; - version = "4.5.0.0"; - sha256 = "19rmib508zcaada7xj0p84dbkjwzfiaxaszpmc763wlpx15azw8z"; + version = "4.5.0.1"; + sha256 = "0zl8zjwkyrh5c0l190q6qw1w6mwhw7jsjk3l7qjpgxbmv730q7nz"; isLibrary = true; isExecutable = true; buildDepends = [ From b605e51010972ed9952ac88da39a536605eff94a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:13 +0200 Subject: [PATCH 179/880] haskell-hint: update to version 0.4.1.0 --- pkgs/development/libraries/haskell/hint/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hint/default.nix b/pkgs/development/libraries/haskell/hint/default.nix index 5534c2fc9da..09fdfe232a6 100644 --- a/pkgs/development/libraries/haskell/hint/default.nix +++ b/pkgs/development/libraries/haskell/hint/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hint"; - version = "0.4.0.0"; - sha256 = "0xs56ws7vwdjgvg7d31iqa111342an6rxvwhh7c3h4z1bq5l1l61"; + version = "0.4.1.0"; + sha256 = "1hc66yfzg9jrm5h3hd52rm4ca8ha0j93rhjpjh6hhzr4a40jv0pl"; buildDepends = [ exceptions extensibleExceptions filepath ghcMtl ghcPaths mtl random utf8String From 481df7e6cdfb2ba8e7e4a1eb2954c242ef35c9c0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:15 +0200 Subject: [PATCH 180/880] haskell-hoogle: update to version 4.2.31 --- pkgs/development/libraries/haskell/hoogle/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix index 53b037ec301..995a4ef5d9a 100644 --- a/pkgs/development/libraries/haskell/hoogle/default.nix +++ b/pkgs/development/libraries/haskell/hoogle/default.nix @@ -1,19 +1,19 @@ { cabal, aeson, binary, blazeBuilder, Cabal, caseInsensitive , cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes -, parsec, QuickCheck, random, safe, shake, tagsoup, text, time -, transformers, uniplate, vector, vectorAlgorithms, wai, warp +, parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text +, time, transformers, uniplate, vector, vectorAlgorithms, wai, warp }: cabal.mkDerivation (self: { pname = "hoogle"; - version = "4.2.30"; - sha256 = "0vw0chqsq8wmi1mpdxj1c9g4ah7lqxm8rwh85j2vyp56vfscw9q1"; + version = "4.2.31"; + sha256 = "176lyj236ncq0lg7vbl4bbm1a98ficj82aranrhyxdjzmbk3i67x"; isLibrary = true; isExecutable = true; buildDepends = [ aeson binary blazeBuilder Cabal caseInsensitive cmdargs conduit deepseq filepath haskellSrcExts httpTypes parsec QuickCheck random - safe shake tagsoup text time transformers uniplate vector + resourcet safe shake tagsoup text time transformers uniplate vector vectorAlgorithms wai warp ]; testDepends = [ filepath ]; From 9b4cd56e99bba277f0a8e14f6f8986caf09bf209 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:16 +0200 Subject: [PATCH 181/880] haskell-hspec: update to version 1.9.1 --- pkgs/development/libraries/haskell/hspec/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix index 0c41ab471f8..5ba74dde34c 100644 --- a/pkgs/development/libraries/haskell/hspec/default.nix +++ b/pkgs/development/libraries/haskell/hspec/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "hspec"; - version = "1.9.0"; - sha256 = "01nwxx63l9cl1smld7pwm59k6shs865iiy1jqwi97lkhzhy9cvhl"; + version = "1.9.1"; + sha256 = "1klx7gxg4a98rjhln6ixlmfvsgpxdkdg56jbl06bfxp2lmfyxm9p"; isLibrary = true; isExecutable = true; buildDepends = [ From bda2594998ddd50183259b14d419b60d71bd9188 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:17 +0200 Subject: [PATCH 182/880] haskell-language-ecmascript: update to version 0.16.1 --- .../libraries/haskell/language-ecmascript/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/language-ecmascript/default.nix b/pkgs/development/libraries/haskell/language-ecmascript/default.nix index 79404ffbcf0..1a53881fd29 100644 --- a/pkgs/development/libraries/haskell/language-ecmascript/default.nix +++ b/pkgs/development/libraries/haskell/language-ecmascript/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "language-ecmascript"; - version = "0.16"; - sha256 = "1gz0089llxfmq9v2j5hp85h7w2vw50sgbl6dcd7i0s8m5zd3dmqg"; + version = "0.16.1"; + sha256 = "0pqb1r60jjmiwk9giaxnrp9a07h4a97kp6g0nznwpdy32x849gx3"; buildDepends = [ dataDefaultClass Diff mtl parsec QuickCheck testingFeat uniplate wlPprint From db1a390d9d494c5295af6ed24bed101dcfac7e52 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:23:18 +0200 Subject: [PATCH 183/880] haskell-hlint: update to version 1.8.60 --- pkgs/development/tools/haskell/hlint/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/haskell/hlint/default.nix b/pkgs/development/tools/haskell/hlint/default.nix index 72ba1ba6b87..17ae7d508d3 100644 --- a/pkgs/development/tools/haskell/hlint/default.nix +++ b/pkgs/development/tools/haskell/hlint/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hlint"; - version = "1.8.59"; - sha256 = "14yn63zbbqwvxlis0kwga4mrz6qjr8kq1cq7f0rcilgqgh1dkwh8"; + version = "1.8.60"; + sha256 = "10kc4g9sipd5758n3x2xndaw1c887263gvff0y395drfgqh5qxal"; isLibrary = true; isExecutable = true; buildDepends = [ From 713bac535126f044251e26a7f44162960d10f44d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:29 +0200 Subject: [PATCH 184/880] haskell-attoparsec-conduit: update to version 1.1.0 --- .../libraries/haskell/attoparsec-conduit/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix index 68b08e50686..bdf42ba947d 100644 --- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix +++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix @@ -1,15 +1,13 @@ -{ cabal, attoparsec, conduit, hspec, resourcet, text, transformers -}: +{ cabal, conduit }: cabal.mkDerivation (self: { pname = "attoparsec-conduit"; - version = "1.0.1.2"; - sha256 = "1j05r7mvm83wgnka7asmwd1dj4ajkg548mryyhpr7dd53vn5lbx0"; - buildDepends = [ attoparsec conduit text transformers ]; - testDepends = [ attoparsec conduit hspec resourcet text ]; + version = "1.1.0"; + sha256 = "18xn3nzxfghcd88cana1jw85ijv0ysw3bp36fb6r5wsf6m79z01y"; + buildDepends = [ conduit ]; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Consume attoparsec parsers via conduit"; + description = "Consume attoparsec parsers via conduit. (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; From 6a8decdf5859cb3a3fffcb27ad536ca97e08c1d6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:31 +0200 Subject: [PATCH 185/880] haskell-aws: update to version 0.8.6 --- .../libraries/haskell/aws/default.nix | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix index af8b2785aa9..de7377c7532 100644 --- a/pkgs/development/libraries/haskell/aws/default.nix +++ b/pkgs/development/libraries/haskell/aws/default.nix @@ -1,21 +1,23 @@ -{ cabal, attempt, base64Bytestring, blazeBuilder, caseInsensitive -, cereal, conduit, cryptoApi, cryptohash, cryptohashCryptoapi -, dataDefault, failure, filepath, httpConduit, httpTypes -, liftedBase, monadControl, mtl, resourcet, text, time -, transformers, utf8String, xmlConduit +{ cabal, aeson, attempt, attoparsecConduit, base16Bytestring +, base64Bytestring, blazeBuilder, caseInsensitive, cereal, conduit +, cryptoApi, cryptohash, cryptohashCryptoapi, dataDefault, failure +, filepath, httpConduit, httpTypes, liftedBase, monadControl, mtl +, resourcet, text, time, transformers, unorderedContainers +, utf8String, vector, xmlConduit }: cabal.mkDerivation (self: { pname = "aws"; - version = "0.8.4"; - sha256 = "0p4m07lw33wd82phwfvyr1alqx3bsafnf25n60h1mss7l0rzyn0i"; + version = "0.8.6"; + sha256 = "19hjwj15zmhmf33n2d2dkwan59ylwkaslh85sh04v05hsm8y5y1a"; isLibrary = true; isExecutable = true; buildDepends = [ - attempt base64Bytestring blazeBuilder caseInsensitive cereal - conduit cryptoApi cryptohash cryptohashCryptoapi dataDefault - failure filepath httpConduit httpTypes liftedBase monadControl mtl - resourcet text time transformers utf8String xmlConduit + aeson attempt attoparsecConduit base16Bytestring base64Bytestring + blazeBuilder caseInsensitive cereal conduit cryptoApi cryptohash + cryptohashCryptoapi dataDefault failure filepath httpConduit + httpTypes liftedBase monadControl mtl resourcet text time + transformers unorderedContainers utf8String vector xmlConduit ]; meta = { homepage = "http://github.com/aristidb/aws"; From 5f8857d4f542dd75d2a0e5913c21a638ca20cf51 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:32 +0200 Subject: [PATCH 186/880] haskell-basic-prelude: update to version 0.3.8 --- pkgs/development/libraries/haskell/basic-prelude/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/basic-prelude/default.nix b/pkgs/development/libraries/haskell/basic-prelude/default.nix index 807b80b8122..b923e444b1e 100644 --- a/pkgs/development/libraries/haskell/basic-prelude/default.nix +++ b/pkgs/development/libraries/haskell/basic-prelude/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "basic-prelude"; - version = "0.3.7"; - sha256 = "1lk4f41f226v7na1cw0c8y62lm3pgwmn4560g1wmhvyxcj7185q5"; + version = "0.3.8"; + sha256 = "0lywnsds0q1nr466s3pc2izfr58kp23z7ing9k7dlgbmh9cqxypg"; buildDepends = [ hashable liftedBase ReadArgs safe systemFilepath text transformers unorderedContainers vector From b19cfe15ae4b5a8da59fe554a7a7fe1b3f7fa96e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:33 +0200 Subject: [PATCH 187/880] haskell-blaze-builder-conduit: update to version 1.1.0 --- .../haskell/blaze-builder-conduit/default.nix | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix index 16c352b7a33..932714cceb4 100644 --- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix +++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix @@ -1,18 +1,13 @@ -{ cabal, blazeBuilder, conduit, hspec, QuickCheck, text -, transformers -}: +{ cabal, conduit }: cabal.mkDerivation (self: { pname = "blaze-builder-conduit"; - version = "1.0.0"; - sha256 = "15q0b0k5dxrp9cw2b4qf9mmjwz1mmxrn3890df5rc9z6yajajrc6"; - buildDepends = [ blazeBuilder conduit text transformers ]; - testDepends = [ - blazeBuilder conduit hspec QuickCheck transformers - ]; + version = "1.1.0"; + sha256 = "0xxyn3lhcn1bkybhrl5dx68d0adf26ilf34gv0mxkwpfj7m7d3k3"; + buildDepends = [ conduit ]; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Convert streams of builders to streams of bytestrings"; + description = "Convert streams of builders to streams of bytestrings. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; From 2b2ddb51650411b064e39647dd76c5705bb7ef56 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:34 +0200 Subject: [PATCH 188/880] haskell-checkers: update to version 0.3.2 --- pkgs/development/libraries/haskell/checkers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/checkers/default.nix b/pkgs/development/libraries/haskell/checkers/default.nix index 4742f5104da..06b89ba85b4 100644 --- a/pkgs/development/libraries/haskell/checkers/default.nix +++ b/pkgs/development/libraries/haskell/checkers/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "checkers"; - version = "0.3.1"; - sha256 = "0lhy8bk8kkj540kjbc76j4x4xsprqwlmxdrss4r0j1bxgmfwha6p"; + version = "0.3.2"; + sha256 = "0v8i6754syvjh2p5qdqh95j3swkar9077gidsnahwk9h6qfsx6r3"; buildDepends = [ QuickCheck random ]; meta = { description = "Check properties on standard classes and data structures"; From 3c4434726289bc211c7981153549e267bc6f2f1b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:36 +0200 Subject: [PATCH 189/880] haskell-classy-prelude-conduit: update to version 0.8.1 --- .../libraries/haskell/classy-prelude-conduit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix index eec5677a89f..d128ee0a5a4 100644 --- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "classy-prelude-conduit"; - version = "0.8.0"; - sha256 = "1br2gjzafxgq6ksxl895m5acaffnswd1dhcjppx6gnyfa6i3fq1m"; + version = "0.8.1"; + sha256 = "16wiii630ivcsxrjkmks995lcn0q0plmzbg4h08g5mdgscql2ax1"; buildDepends = [ classyPrelude conduit conduitCombinators monadControl resourcet systemFileio transformers void From 005dad6f3a655d8bf92753c6f1d8779524fd9ec2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:37 +0200 Subject: [PATCH 190/880] haskell-classy-prelude: update to version 0.8.3.1 --- .../libraries/haskell/classy-prelude/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix index 6768e6cfda3..e9b6d71eeb3 100644 --- a/pkgs/development/libraries/haskell/classy-prelude/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix @@ -1,17 +1,17 @@ { cabal, basicPrelude, chunkedData, enclosedExceptions, hashable -, hspec, liftedBase, monoTraversable, QuickCheck, semigroups +, hspec, liftedBase, monoTraversable, QuickCheck, semigroups, stm , systemFilepath, text, time, transformers, unorderedContainers , vector, vectorInstances }: cabal.mkDerivation (self: { pname = "classy-prelude"; - version = "0.8.2"; - sha256 = "1kvab1vns1mp0i0nyn0flg2m6f2sl8w1yr2c0x54172f20rdm5lv"; + version = "0.8.3.1"; + sha256 = "1mszblcww2pqy1zybib7rd4y6sqbd5nih0zzfi9zb69bwwb7mjai"; buildDepends = [ basicPrelude chunkedData enclosedExceptions hashable liftedBase - monoTraversable semigroups systemFilepath text time transformers - unorderedContainers vector vectorInstances + monoTraversable semigroups stm systemFilepath text time + transformers unorderedContainers vector vectorInstances ]; testDepends = [ hspec QuickCheck transformers unorderedContainers From 5a5fe665f8e0bb113b5ff7be173f43ecf039334d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:38 +0200 Subject: [PATCH 191/880] haskell-conduit-combinators: update to version 0.2.4 --- .../haskell/conduit-combinators/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix index 5431f3dbe3a..fdf5c4625fd 100644 --- a/pkgs/development/libraries/haskell/conduit-combinators/default.nix +++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix @@ -1,17 +1,18 @@ { cabal, base16Bytestring, base64Bytestring, chunkedData, conduit -, hspec, monoTraversable, mwcRandom, primitive, silently -, systemFileio, systemFilepath, text, transformers -, transformersBase, unixCompat, vector, void +, conduitExtra, hspec, monadControl, monoTraversable, mwcRandom +, primitive, resourcet, silently, systemFileio, systemFilepath +, text, transformers, transformersBase, unixCompat, vector, void }: cabal.mkDerivation (self: { pname = "conduit-combinators"; - version = "0.2.3.1"; - sha256 = "078i0727nhy75y6bxav6sxr1gz9cq04nvskdnzwabljppd34dqg4"; + version = "0.2.4"; + sha256 = "0pxzvxd1j48l7j2anv61bxv1accl0jc6vdf9vv0l3s2358smzwwv"; buildDepends = [ - base16Bytestring base64Bytestring chunkedData conduit - monoTraversable mwcRandom primitive systemFileio systemFilepath - text transformers transformersBase unixCompat vector void + base16Bytestring base64Bytestring chunkedData conduit conduitExtra + monadControl monoTraversable mwcRandom primitive resourcet + systemFileio systemFilepath text transformers transformersBase + unixCompat vector void ]; testDepends = [ base16Bytestring base64Bytestring chunkedData hspec monoTraversable From 940ba2cf76c9cbbacaa5fc5b0228ba1e8fb233a9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:39 +0200 Subject: [PATCH 192/880] haskell-conduit-extra: update to version 1.1.0 --- .../haskell/conduit-extra/default.nix | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix index 82ab990947d..67b4186e606 100644 --- a/pkgs/development/libraries/haskell/conduit-extra/default.nix +++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix @@ -1,13 +1,25 @@ -{ cabal }: +{ cabal, attoparsec, blazeBuilder, conduit, exceptions, filepath +, hspec, monadControl, network, primitive, resourcet +, streamingCommons, text, transformers, transformersBase +}: cabal.mkDerivation (self: { pname = "conduit-extra"; - version = "1.0.0"; - sha256 = "120c3zay8svdw3b9nqgxlrj45a1d4xf0sijkg367m7hp22szvz8a"; + version = "1.1.0"; + sha256 = "08s8nafsdkd4dwmi2vsid82z8iv178vm9jbb322ygnbpf2a9y96y"; + buildDepends = [ + attoparsec blazeBuilder conduit filepath monadControl network + primitive resourcet streamingCommons text transformers + transformersBase + ]; + testDepends = [ + attoparsec blazeBuilder conduit exceptions hspec resourcet text + transformers transformersBase + ]; noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Temporary placeholder package"; + description = "Batteries included conduit: adapters for common libraries"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; From 065e44f198974856cd70533d78fc2a1fdd2d47a3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:41 +0200 Subject: [PATCH 193/880] haskell-conduit: update to version 1.1.0 --- .../libraries/haskell/conduit/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix index 8a73ef04d1d..ac6211f2b38 100644 --- a/pkgs/development/libraries/haskell/conduit/default.nix +++ b/pkgs/development/libraries/haskell/conduit/default.nix @@ -1,15 +1,15 @@ -{ cabal, hspec, liftedBase, mmorph, monadControl, mtl, QuickCheck -, resourcet, text, textStreamDecode, transformers, transformersBase -, void +{ cabal, exceptions, hspec, liftedBase, mmorph, monadControl, mtl +, QuickCheck, resourcet, text, textStreamDecode, transformers +, transformersBase, void }: cabal.mkDerivation (self: { pname = "conduit"; - version = "1.0.17.1"; - sha256 = "0s2cszwfmz7j249bdydh0d97r5br1p6nizw7ycbkxlmpcrmdvifk"; + version = "1.1.0"; + sha256 = "17y8fnvl9s3676sslhc04abs4zqh90l2rdcazxglv0sfrfsdgwnq"; buildDepends = [ - liftedBase mmorph monadControl mtl resourcet text textStreamDecode - transformers transformersBase void + exceptions liftedBase mmorph monadControl mtl resourcet text + textStreamDecode transformers transformersBase void ]; testDepends = [ hspec mtl QuickCheck resourcet text transformers void From c94198f13e200d8ade1813d44ad583cbcfdb2063 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:42 +0200 Subject: [PATCH 194/880] haskell-diagrams-lib: update to version 1.1.0.4 --- pkgs/development/libraries/haskell/diagrams/lib.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix index c8c8bf5434d..4fcd944c15c 100644 --- a/pkgs/development/libraries/haskell/diagrams/lib.nix +++ b/pkgs/development/libraries/haskell/diagrams/lib.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "diagrams-lib"; - version = "1.1.0.3"; - sha256 = "1g4kcmpqsnb25yqvd6yv026znp7s5jhnqg1nvfxcaq0zz84w9ckh"; + version = "1.1.0.4"; + sha256 = "0i3n07qi7gnlbxxsd8j7wgqdqbjp8h44z837lajfwd108j01fw0i"; buildDepends = [ active colour dataDefaultClass diagramsCore filepath fingertree hashable intervals lens MemoTrie monoidExtras optparseApplicative From 7ccdd41c27ecc2ec98924d1948ab07f576ae2bb8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:43 +0200 Subject: [PATCH 195/880] haskell-distributive: update to version 0.4.3.1 --- pkgs/development/libraries/haskell/distributive/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/distributive/default.nix b/pkgs/development/libraries/haskell/distributive/default.nix index 4a0167eb030..053f938ae56 100644 --- a/pkgs/development/libraries/haskell/distributive/default.nix +++ b/pkgs/development/libraries/haskell/distributive/default.nix @@ -4,13 +4,13 @@ cabal.mkDerivation (self: { pname = "distributive"; - version = "0.4.1"; - sha256 = "0izsgasml3didklkk6z274fzfd1c6qnn0wlzprcz0bnd07zkh814"; + version = "0.4.3.1"; + sha256 = "17ny7nlxg6x08f88dyl15wsdhgi0cgafxdsl5wdw5vv6y0jsrx27"; buildDepends = [ tagged transformers transformersCompat ]; testDepends = [ doctest filepath ]; meta = { homepage = "http://github.com/ekmett/distributive/"; - description = "Haskell 98 Distributive functors -- Dual to Traversable"; + description = "Distributive functors -- Dual to Traversable"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; }; From 0fc2a8e0259d7032941f739ccc0f17cc71126e2d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:44 +0200 Subject: [PATCH 196/880] haskell-esqueleto: update to version 1.3.9 --- pkgs/development/libraries/haskell/esqueleto/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix index fd314d12d51..14d5cfda068 100644 --- a/pkgs/development/libraries/haskell/esqueleto/default.nix +++ b/pkgs/development/libraries/haskell/esqueleto/default.nix @@ -5,15 +5,16 @@ cabal.mkDerivation (self: { pname = "esqueleto"; - version = "1.3.5"; - sha256 = "0lz17fr4by31h1qdw0djbsb1zx9xgll5iphqq18gp587l799iy2p"; + version = "1.3.9"; + sha256 = "0dh11q77w0npilnbxyij6z7k7cx9cciwqs479xdjgjygnxa1xwdc"; buildDepends = [ conduit monadLogger persistent resourcet tagged text transformers unorderedContainers ]; testDepends = [ conduit hspec HUnit monadControl monadLogger persistent - persistentSqlite persistentTemplate QuickCheck text transformers + persistentSqlite persistentTemplate QuickCheck resourcet text + transformers ]; meta = { homepage = "https://github.com/meteficha/esqueleto"; From a0d08de0c6441907bd73d1fddbf16182e3ab286e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:45 +0200 Subject: [PATCH 197/880] haskell-ghc-mtl: update to version 1.2.0.0 --- pkgs/development/libraries/haskell/ghc-mtl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/ghc-mtl/default.nix b/pkgs/development/libraries/haskell/ghc-mtl/default.nix index 1379d4a8ee8..592961aa554 100644 --- a/pkgs/development/libraries/haskell/ghc-mtl/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mtl/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "ghc-mtl"; - version = "1.1.0.0"; - sha256 = "1vmiy00fsdp1jzmpjrz8wzxbv3185h27aspw412pmcr4v1n29kxc"; + version = "1.2.0.0"; + sha256 = "0fk3adc56nhi46nf2w5ybp3cd9l13qqbpd5nbhfhbqj3g73j8p5a"; buildDepends = [ exceptions extensibleExceptions mtl ]; meta = { homepage = "http://hub.darcs.net/jcpetruzza/ghc-mtl"; From 77a6ba8e0bf7646c1a153dbbdcad0fbc395039eb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:47 +0200 Subject: [PATCH 198/880] haskell-http-client-conduit: update to version 0.3.0 --- .../libraries/haskell/http-client-conduit/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-client-conduit/default.nix b/pkgs/development/libraries/haskell/http-client-conduit/default.nix index 1c47b68f06c..29840fa6ac0 100644 --- a/pkgs/development/libraries/haskell/http-client-conduit/default.nix +++ b/pkgs/development/libraries/haskell/http-client-conduit/default.nix @@ -1,13 +1,13 @@ -{ cabal, conduit, httpClient, resourcet, transformers }: +{ cabal, httpClient }: cabal.mkDerivation (self: { pname = "http-client-conduit"; - version = "0.2.0.1"; - sha256 = "0fy9vkxh7hvmp9ijifq8nx6y5y92n6d3s1vdyg53ln65pclc6jn5"; - buildDepends = [ conduit httpClient resourcet transformers ]; + version = "0.3.0"; + sha256 = "0k2vq9y7kfbkhcsszjr74ahq5nw5z7dbzjhw1ixbigcr56axsd19"; + buildDepends = [ httpClient ]; meta = { homepage = "https://github.com/snoyberg/http-client"; - description = "Frontend support for using http-client with conduit"; + description = "Frontend support for using http-client with conduit (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; From ac9a4fc8124b13b1759265e3b320b818104996a0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:48 +0200 Subject: [PATCH 199/880] haskell-http-client-multipart: update to version 0.3.0.0 --- .../haskell/http-client-multipart/default.nix | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-client-multipart/default.nix b/pkgs/development/libraries/haskell/http-client-multipart/default.nix index 068efdcb543..3cf09f583a7 100644 --- a/pkgs/development/libraries/haskell/http-client-multipart/default.nix +++ b/pkgs/development/libraries/haskell/http-client-multipart/default.nix @@ -1,18 +1,13 @@ -{ cabal, blazeBuilder, filepath, httpClient, httpTypes, mimeTypes -, random, text, transformers -}: +{ cabal, httpClient }: cabal.mkDerivation (self: { pname = "http-client-multipart"; - version = "0.2.0.0"; - sha256 = "1bahkysh771p3mrfan1gmm6jyx62w3k57ba4rsnx7h1gwbilm878"; - buildDepends = [ - blazeBuilder filepath httpClient httpTypes mimeTypes random text - transformers - ]; + version = "0.3.0.0"; + sha256 = "18za6s3658hgm95rrygghrz0b643c7nkzaimb14v2hv82w3k9crg"; + buildDepends = [ httpClient ]; meta = { homepage = "https://github.com/snoyberg/http-client"; - description = "Generate multipart uploads for http-client"; + description = "Generate multipart uploads for http-client. (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; From e97158dca2cac868811333a3bf506bc1de8666fd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:49 +0200 Subject: [PATCH 200/880] haskell-http-client: update to version 0.3.0.2 --- .../libraries/haskell/http-client/default.nix | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix index 7ebdd3cee6a..8816ec91a83 100644 --- a/pkgs/development/libraries/haskell/http-client/default.nix +++ b/pkgs/development/libraries/haskell/http-client/default.nix @@ -1,22 +1,22 @@ -{ cabal, base64Bytestring, blazeBuilder, caseInsensitive, cookie -, dataDefaultClass, deepseq, failure, hspec, httpTypes -, monadControl, network, publicsuffixlist, text, time, transformers -, zlib, zlibBindings +{ cabal, async, base64Bytestring, blazeBuilder, caseInsensitive +, cookie, dataDefaultClass, deepseq, exceptions, filepath, hspec +, httpTypes, mimeTypes, monadControl, network, publicsuffixlist +, random, streamingCommons, text, time, transformers, zlib }: cabal.mkDerivation (self: { pname = "http-client"; - version = "0.2.2.4"; - sha256 = "19dymsi39m2m7i99xsmcl9gigqm6jhynnv0w8w230mq8vraq1mcw"; + version = "0.3.0.2"; + sha256 = "1r858ml809c21q9q2kv0105y89cizncxym9mf1f0f165aa2hx71m"; buildDepends = [ base64Bytestring blazeBuilder caseInsensitive cookie - dataDefaultClass deepseq failure httpTypes network publicsuffixlist - text time transformers zlibBindings + dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes + network publicsuffixlist random streamingCommons text time + transformers ]; testDepends = [ - base64Bytestring blazeBuilder caseInsensitive deepseq failure hspec + async base64Bytestring blazeBuilder caseInsensitive deepseq hspec httpTypes monadControl network text time transformers zlib - zlibBindings ]; doCheck = false; meta = { From 837c45dc0a6027c3e02437dc6a01b73904d2d05e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:50 +0200 Subject: [PATCH 201/880] haskell-http-conduit: update to version 2.1.0 --- .../haskell/http-conduit/default.nix | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix index 398459f6076..1ea6ebafd8c 100644 --- a/pkgs/development/libraries/haskell/http-conduit/default.nix +++ b/pkgs/development/libraries/haskell/http-conduit/default.nix @@ -1,22 +1,22 @@ -{ cabal, blazeBuilder, caseInsensitive, conduit, connection, cookie -, dataDefaultClass, hspec, httpClient, httpClientConduit -, httpClientMultipart, httpClientTls, httpTypes, HUnit, liftedBase -, network, networkConduit, resourcet, text, time, transformers -, utf8String, wai, warp, warpTls +{ cabal, blazeBuilder, caseInsensitive, conduit, conduitExtra +, connection, cookie, dataDefaultClass, hspec, httpClient +, httpClientTls, httpTypes, HUnit, liftedBase, monadControl, mtl +, network, networkConduit, resourcet, streamingCommons, text, time +, transformers, utf8String, wai, warp, warpTls }: cabal.mkDerivation (self: { pname = "http-conduit"; - version = "2.0.0.8"; - sha256 = "1yralv1nalvdpgamnbjl8xm4lrx22m3v6jancrzisq38a680q96b"; + version = "2.1.0"; + sha256 = "1qlqhrrc130c8wvgbbbkb7qrm8gp48gkv5xanqgb26amvny98gsv"; buildDepends = [ - conduit httpClient httpClientConduit httpClientTls httpTypes - liftedBase resourcet transformers + conduit httpClient httpClientTls httpTypes liftedBase monadControl + mtl resourcet transformers ]; testDepends = [ - blazeBuilder caseInsensitive conduit connection cookie - dataDefaultClass hspec httpClient httpClientMultipart httpTypes - HUnit liftedBase network networkConduit text time transformers + blazeBuilder caseInsensitive conduit conduitExtra connection cookie + dataDefaultClass hspec httpClient httpTypes HUnit liftedBase + network networkConduit streamingCommons text time transformers utf8String wai warp warpTls ]; doCheck = false; From 7c5538a58632c469b00d5452db6e020d3bdd56cd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:52 +0200 Subject: [PATCH 202/880] haskell-http-reverse-proxy: update to version 0.3.1.5 --- .../libraries/haskell/http-reverse-proxy/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix index 957dbe02006..ff47ba14241 100644 --- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix +++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "http-reverse-proxy"; - version = "0.3.1.4"; - sha256 = "0j7k6njyp3qss08gja5p62zvqxdh7bpqfbzvkm23gdv8v1bgh5h6"; + version = "0.3.1.5"; + sha256 = "0rzwh5ph23592qycriam932bgb6q2nvjr7wayqz0sjvvxv661bk0"; buildDepends = [ async blazeBuilder caseInsensitive conduit conduitExtra dataDefaultClass httpClient httpTypes liftedBase monadControl @@ -16,8 +16,9 @@ cabal.mkDerivation (self: { wai waiLogger word8 ]; testDepends = [ - blazeBuilder conduit hspec httpConduit httpTypes liftedBase network - networkConduit transformers wai warp + blazeBuilder conduit conduitExtra hspec httpConduit httpTypes + liftedBase network networkConduit resourcet streamingCommons + transformers wai warp ]; doCheck = false; meta = { From dbd66791a54c3f765db165c7d259e3405f3b70a6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:53 +0200 Subject: [PATCH 203/880] haskell-http-types: update to version 0.8.4 --- pkgs/development/libraries/haskell/http-types/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix index ab523e07cf2..a3fa1c8c9ee 100644 --- a/pkgs/development/libraries/haskell/http-types/default.nix +++ b/pkgs/development/libraries/haskell/http-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "http-types"; - version = "0.8.3"; - sha256 = "02l1lhl2ajbm5f7zq363nlb21dpdg1m0qsy330arccmds7z9g7a2"; + version = "0.8.4"; + sha256 = "0bz7g537if863vk29z72hndf1x019dj7shj1aa77pssrxma3a685"; buildDepends = [ blazeBuilder caseInsensitive text ]; testDepends = [ blazeBuilder hspec QuickCheck text ]; jailbreak = true; From d5f85b022a89aca5e963fd54fa7d9bb54aaa44e0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:54 +0200 Subject: [PATCH 204/880] haskell-mime-mail: update to version 0.4.5.1 --- pkgs/development/libraries/haskell/mime-mail/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix index e2559c70fee..80fc8e1b4af 100644 --- a/pkgs/development/libraries/haskell/mime-mail/default.nix +++ b/pkgs/development/libraries/haskell/mime-mail/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "mime-mail"; - version = "0.4.4.2"; - sha256 = "0s38xgv6kycnfahqi5dnrjn3wkaq35w87cv8p12pq0qq2x7dvawd"; + version = "0.4.5.1"; + sha256 = "01r6dxdp3183ahggda6dizdz1c3qpmpyxn6csalzvss52ds4ilsf"; buildDepends = [ base64Bytestring blazeBuilder filepath random text ]; From 6bef23dd1518f278eb048379d4e1b8c7af0eb025 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:55 +0200 Subject: [PATCH 205/880] haskell-network-conduit-tls: update to version 1.1.0 --- .../haskell/network-conduit-tls/default.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix index 4884a462a6d..e4c5bb7ab6b 100644 --- a/pkgs/development/libraries/haskell/network-conduit-tls/default.nix +++ b/pkgs/development/libraries/haskell/network-conduit-tls/default.nix @@ -1,17 +1,18 @@ -{ cabal, conduit, connection, cprngAes, dataDefault, HUnit -, monadControl, mtl, network, networkConduit, systemFileio +{ cabal, conduit, conduitExtra, connection, cprngAes, dataDefault +, HUnit, monadControl, mtl, network, streamingCommons, systemFileio , systemFilepath, tls, transformers }: cabal.mkDerivation (self: { pname = "network-conduit-tls"; - version = "1.0.4.2"; - sha256 = "1pgb6k6g10hy2k4sihj88n6w7400d4grja2crhhv1cydqdn858rc"; + version = "1.1.0"; + sha256 = "1q9wx7bvr4a65rkyfn2vd3h9bfpsvm9zcqqjhjsrgb91l6x5bdqi"; buildDepends = [ - conduit connection cprngAes dataDefault monadControl network - networkConduit systemFileio systemFilepath tls transformers + conduit conduitExtra connection cprngAes dataDefault monadControl + network streamingCommons systemFileio systemFilepath tls + transformers ]; - testDepends = [ conduit connection HUnit mtl networkConduit ]; + testDepends = [ conduit conduitExtra connection HUnit mtl ]; meta = { homepage = "https://github.com/snoyberg/conduit"; description = "Create TLS-aware network code with conduits"; From 78fc4f1083817c42102c29be9eb2405a5dd095a9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:57 +0200 Subject: [PATCH 206/880] haskell-network-conduit: update to version 1.1.0 --- .../libraries/haskell/network-conduit/default.nix | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix index c2f00b68f8f..7c7b649311a 100644 --- a/pkgs/development/libraries/haskell/network-conduit/default.nix +++ b/pkgs/development/libraries/haskell/network-conduit/default.nix @@ -1,17 +1,13 @@ -{ cabal, conduit, liftedBase, monadControl, network, transformers -}: +{ cabal, conduit }: cabal.mkDerivation (self: { pname = "network-conduit"; - version = "1.0.4"; - sha256 = "1a7p3gs0rczx0rhz27410rr6fzy3l0nsj6kk5wi0nqvqfyh7jb9c"; - buildDepends = [ - conduit liftedBase monadControl network transformers - ]; - testDepends = [ conduit ]; + version = "1.1.0"; + sha256 = "06amxl8rg4zfnmgc1iyq5mxy9qihcqddqgqkbfvaf25mwr43992p"; + buildDepends = [ conduit ]; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Stream socket data using conduits"; + description = "Stream socket data using conduits. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; From c94833a157a193b65489fbd662be4e395aaa76a7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:58 +0200 Subject: [PATCH 207/880] haskell-pipes-safe: update to version 2.1.0 --- pkgs/development/libraries/haskell/pipes-safe/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/pipes-safe/default.nix b/pkgs/development/libraries/haskell/pipes-safe/default.nix index dddc27157dd..c1d5a603da0 100644 --- a/pkgs/development/libraries/haskell/pipes-safe/default.nix +++ b/pkgs/development/libraries/haskell/pipes-safe/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "pipes-safe"; - version = "2.0.2"; - sha256 = "004xjf0aqa73gxn8kj9844pwbkriv3hk9sbnwxx26pgvqvwjlrsj"; + version = "2.1.0"; + sha256 = "0qm02hwmrqlncnlxix7mdgzbf0mzally4k7ydwg06nqi35bb7s3j"; buildDepends = [ exceptions pipes transformers ]; meta = { description = "Safety for the pipes ecosystem"; From 52eaa92c9f6f1b507063614d1b772df92c65646c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:29:59 +0200 Subject: [PATCH 208/880] haskell-pool-conduit: update to version 0.1.2.3 --- pkgs/development/libraries/haskell/pool-conduit/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/pool-conduit/default.nix b/pkgs/development/libraries/haskell/pool-conduit/default.nix index e7c1489d5cb..cb1682673af 100644 --- a/pkgs/development/libraries/haskell/pool-conduit/default.nix +++ b/pkgs/development/libraries/haskell/pool-conduit/default.nix @@ -2,14 +2,14 @@ cabal.mkDerivation (self: { pname = "pool-conduit"; - version = "0.1.2.2"; - sha256 = "1jg7kymr1v82xl9122q9fly385jhm1hr2406g35ydl9wnh4aaiw8"; + version = "0.1.2.3"; + sha256 = "1myjbmbh0jm89ycx9d961mpgw8hp7al8wgnsls4p19gvr73gcbfv"; buildDepends = [ monadControl resourcePool resourcet transformers ]; meta = { homepage = "http://www.yesodweb.com/book/persistent"; - description = "Resource pool allocations via ResourceT"; + description = "Resource pool allocations via ResourceT. (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; From 5ef1beb6d2d90cdf1e51e517c46199bbc64b2e99 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:30:00 +0200 Subject: [PATCH 209/880] haskell-process-conduit: update to version 1.1.0.0 --- .../libraries/haskell/process-conduit/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/process-conduit/default.nix b/pkgs/development/libraries/haskell/process-conduit/default.nix index 6148b9b508b..3ecd88515b2 100644 --- a/pkgs/development/libraries/haskell/process-conduit/default.nix +++ b/pkgs/development/libraries/haskell/process-conduit/default.nix @@ -1,13 +1,14 @@ -{ cabal, conduit, controlMonadLoop, hspec, mtl, shakespeare -, shakespeareText, text +{ cabal, conduit, controlMonadLoop, hspec, mtl, resourcet +, shakespeare, shakespeareText, text }: cabal.mkDerivation (self: { pname = "process-conduit"; - version = "1.0.0.2"; - sha256 = "0rz18x7gy8w1h2xq0il49k515n0y3gpxnl7mfgkczc86965w7fzj"; + version = "1.1.0.0"; + sha256 = "1b3snck651cpb7i3c78cn264zrjan3lzydf59209abkvb6fv1hql"; buildDepends = [ - conduit controlMonadLoop mtl shakespeare shakespeareText text + conduit controlMonadLoop mtl resourcet shakespeare shakespeareText + text ]; testDepends = [ conduit hspec ]; meta = { From a9290ec05f24f388141a367cccfe88e2875835b3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:30:02 +0200 Subject: [PATCH 210/880] haskell-resourcet: update to version 1.1.0.1 --- .../libraries/haskell/resourcet/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix index 8413802faa1..111afbf6a7a 100644 --- a/pkgs/development/libraries/haskell/resourcet/default.nix +++ b/pkgs/development/libraries/haskell/resourcet/default.nix @@ -1,13 +1,14 @@ -{ cabal, hspec, liftedBase, mmorph, monadControl, mtl, transformers -, transformersBase +{ cabal, exceptions, hspec, liftedBase, mmorph, monadControl, mtl +, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "resourcet"; - version = "0.4.10.2"; - sha256 = "0k0l4909b30hc2apxgzjz1rxbqqkhqnqchz53wi6zyhvbh46ffh6"; + version = "1.1.0.1"; + sha256 = "02w2gz0zn039bz1ig91jd0zkg9w1nxpi3byh6ybdsnbyddwfy376"; buildDepends = [ - liftedBase mmorph monadControl mtl transformers transformersBase + exceptions liftedBase mmorph monadControl mtl transformers + transformersBase ]; testDepends = [ hspec liftedBase transformers ]; meta = { From ca00f844ae41fe2ff6628b6c269b990e091c5e3d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:30:03 +0200 Subject: [PATCH 211/880] haskell-scotty-hastache: update to version 0.2.1 --- .../libraries/haskell/scotty-hastache/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/scotty-hastache/default.nix b/pkgs/development/libraries/haskell/scotty-hastache/default.nix index 76e6fe45ad1..7f10ad2d68f 100644 --- a/pkgs/development/libraries/haskell/scotty-hastache/default.nix +++ b/pkgs/development/libraries/haskell/scotty-hastache/default.nix @@ -1,14 +1,13 @@ -{ cabal, blazeHtml, blazeMarkup, filepath, hastache, httpTypes, mtl -, scotty, text, wai, warp +{ cabal, filepath, hastache, httpTypes, mtl, scotty, text, wai +, warp }: cabal.mkDerivation (self: { pname = "scotty-hastache"; - version = "0.2.0"; - sha256 = "105cxlasj4sl4ddzg8ms6k95078q10zcm2c86jcn76s0jmv95669"; + version = "0.2.1"; + sha256 = "1yyip8iq1n71iidmpbfs7rifxvpphyrcaf4z394rx36hq72ka8dn"; buildDepends = [ - blazeHtml blazeMarkup filepath hastache httpTypes mtl scotty text - wai warp + filepath hastache httpTypes mtl scotty text wai warp ]; meta = { homepage = "https://github.com/scotty-web/scotty-hastache"; From fe1584ef1834c07cd139d68db4aa9df680929f70 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:30:04 +0200 Subject: [PATCH 212/880] haskell-snap-loader-dynamic: update to version 0.10.0.1 --- pkgs/development/libraries/haskell/snap/loader-dynamic.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix index abe4d4cc074..ec054cc8065 100644 --- a/pkgs/development/libraries/haskell/snap/loader-dynamic.nix +++ b/pkgs/development/libraries/haskell/snap/loader-dynamic.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "snap-loader-dynamic"; - version = "0.10"; - sha256 = "0wnrsbnf3crfxhhraz4my08m6yhmqj632rv6cdy9ili3wxjkqd57"; + version = "0.10.0.1"; + sha256 = "0iqhspvfp0d6qivis2l3v0rqrnb8qbzvi4n53zgyb9cwvqxx5fix"; buildDepends = [ directoryTree hint mtl snapCore time ]; meta = { homepage = "http://snapframework.com/"; From 7f143d564660d33b221f09f6cc4f7aa0dfa3fb50 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:30:05 +0200 Subject: [PATCH 213/880] haskell-stm-conduit: update to version 2.4.0 --- .../libraries/haskell/stm-conduit/default.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix index 07d1fc03bf0..201a2ea02f9 100644 --- a/pkgs/development/libraries/haskell/stm-conduit/default.nix +++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix @@ -1,16 +1,17 @@ -{ cabal, async, cereal, cerealConduit, conduit, HUnit, liftedAsync -, liftedBase, monadControl, monadLoops, QuickCheck, resourcet, stm -, stmChans, testFramework, testFrameworkHunit +{ cabal, async, cereal, cerealConduit, conduit, conduitExtra, HUnit +, liftedAsync, liftedBase, monadControl, monadLoops, QuickCheck +, resourcet, stm, stmChans, testFramework, testFrameworkHunit , testFrameworkQuickcheck2, transformers }: cabal.mkDerivation (self: { pname = "stm-conduit"; - version = "2.3.0"; - sha256 = "1qvzqzk822sc0sjblgqb5y73mggsvh70zpzz908isfiqcwp7llc4"; + version = "2.4.0"; + sha256 = "03ifxr3pspwmzf0xdh7mj3q1wiz13d86w9pdhiqa6b1d1qw6rvha"; buildDepends = [ - async cereal cerealConduit conduit liftedAsync liftedBase - monadControl monadLoops resourcet stm stmChans transformers + async cereal cerealConduit conduit conduitExtra liftedAsync + liftedBase monadControl monadLoops resourcet stm stmChans + transformers ]; testDepends = [ conduit HUnit QuickCheck resourcet stm stmChans testFramework From 30177a3c8f9ecaa126bedad85069c1e0da52b5c7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:30:06 +0200 Subject: [PATCH 214/880] haskell-tagstream-conduit: update to version 0.5.5.1 --- .../haskell/tagstream-conduit/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix index c28301e4183..ecdcbb1b63c 100644 --- a/pkgs/development/libraries/haskell/tagstream-conduit/default.nix +++ b/pkgs/development/libraries/haskell/tagstream-conduit/default.nix @@ -1,17 +1,19 @@ { cabal, attoparsec, attoparsecConduit, blazeBuilder -, blazeBuilderConduit, caseInsensitive, conduit, dataDefault, hspec -, HUnit, QuickCheck, text, transformers, xmlConduit +, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra +, dataDefault, hspec, HUnit, QuickCheck, resourcet, text +, transformers, xmlConduit }: cabal.mkDerivation (self: { pname = "tagstream-conduit"; - version = "0.5.5"; - sha256 = "17157chhw610f8az6c25qzq5mmhpb1a8m12kdc2k8khgynpkrj5f"; + version = "0.5.5.1"; + sha256 = "0bpxjhqqqigfnwcxx3h2am5zmgr1lyaxaac3lnz490j6zf8x9jn7"; buildDepends = [ attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit - caseInsensitive conduit dataDefault text transformers xmlConduit + caseInsensitive conduit conduitExtra dataDefault resourcet text + transformers xmlConduit ]; - testDepends = [ conduit hspec HUnit QuickCheck text ]; + testDepends = [ conduit hspec HUnit QuickCheck resourcet text ]; meta = { homepage = "http://github.com/yihuang/tagstream-conduit"; description = "streamlined html tag parser"; From 3b9fff330c5585d80cfcd08a4f834ec6c6a929ac Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:30:08 +0200 Subject: [PATCH 215/880] haskell-thyme: update to version 0.3.2.0 --- .../libraries/haskell/thyme/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix index 08563c6f2c5..fe79454781a 100644 --- a/pkgs/development/libraries/haskell/thyme/default.nix +++ b/pkgs/development/libraries/haskell/thyme/default.nix @@ -1,18 +1,18 @@ -{ cabal, aeson, attoparsec, Cabal, deepseq, filepath, lens -, QuickCheck, random, systemPosixRedirect, text, time, transformers +{ cabal, aeson, attoparsec, Cabal, deepseq, filepath, mtl +, profunctors, QuickCheck, random, systemPosixRedirect, text, time , vector, vectorSpace }: cabal.mkDerivation (self: { pname = "thyme"; - version = "0.3.1.1"; - sha256 = "00c15zy7190mghpvrpwl0hp8w1mp386vvff8w2zdpgl792cvdby8"; + version = "0.3.2.0"; + sha256 = "1jrhqrvmkq8n943l6dkyszg4qz47jbddr80qg7k51a9nrg8fins4"; buildDepends = [ - aeson attoparsec deepseq lens QuickCheck random text time - transformers vector vectorSpace + aeson attoparsec deepseq mtl profunctors QuickCheck random text + time vector vectorSpace ]; testDepends = [ - attoparsec Cabal filepath lens QuickCheck random + attoparsec Cabal filepath mtl profunctors QuickCheck random systemPosixRedirect text time vectorSpace ]; doCheck = false; From 8375a09cbbc3566f80508ca9b7ecd9cb1c879777 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 4 Apr 2014 23:30:10 +0200 Subject: [PATCH 216/880] haskell-zlib-conduit: update to version 1.1.0 --- .../libraries/haskell/zlib-conduit/default.nix | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix index b283c496a29..f9cd966df73 100644 --- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix +++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix @@ -1,16 +1,13 @@ -{ cabal, conduit, hspec, QuickCheck, resourcet, transformers, void -, zlibBindings -}: +{ cabal, conduit }: cabal.mkDerivation (self: { pname = "zlib-conduit"; - version = "1.0.0"; - sha256 = "0q0l4qw1f2cwjj71n4i082ba47x1xba695q8xk0ky2vw5s8cg0bv"; - buildDepends = [ conduit transformers void zlibBindings ]; - testDepends = [ conduit hspec QuickCheck resourcet transformers ]; + version = "1.1.0"; + sha256 = "1b22mca8bbg7f84h8y0qsb5ckzg2dw1b26y27x7b7xdxqbwpz93a"; + buildDepends = [ conduit ]; meta = { homepage = "http://github.com/snoyberg/conduit"; - description = "Streaming compression/decompression via conduits"; + description = "Streaming compression/decompression via conduits. (deprecated)"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; maintainers = [ self.stdenv.lib.maintainers.andres ]; From 0b3100322e0df7377a6b87e78ec22ea243e0261c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 5 Apr 2014 00:33:58 +0200 Subject: [PATCH 217/880] haskell-exceptions: update to version 0.5 --- pkgs/development/libraries/haskell/exceptions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/exceptions/default.nix b/pkgs/development/libraries/haskell/exceptions/default.nix index a206b7c186e..5d58654e51d 100644 --- a/pkgs/development/libraries/haskell/exceptions/default.nix +++ b/pkgs/development/libraries/haskell/exceptions/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "exceptions"; - version = "0.3.3.1"; - sha256 = "091frx3hmx7lq10z7f8q98pz0sa1lj23i7z4z98gh1980r525fah"; + version = "0.5"; + sha256 = "0l9gpifp23j6hvyq8p48rxsnv9adqbf7z096dzvd8v5xqqybgyxi"; buildDepends = [ mtl transformers ]; testDepends = [ mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers From 5f45cc48c5180d83e58fcb7b9419e841bdcef0bf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 5 Apr 2014 00:33:59 +0200 Subject: [PATCH 218/880] haskell-intervals: update to version 0.7 --- pkgs/development/libraries/haskell/intervals/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/intervals/default.nix b/pkgs/development/libraries/haskell/intervals/default.nix index 88a001afadd..73e1d2d7197 100644 --- a/pkgs/development/libraries/haskell/intervals/default.nix +++ b/pkgs/development/libraries/haskell/intervals/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "intervals"; - version = "0.4.2"; - sha256 = "08l7q22rlhyigls1qksf7lnb7g1yrkmdh9clq68xxaf6wzm26aaz"; + version = "0.7"; + sha256 = "00kwq57x72xi5kca7symb98nzs1j82r6bkgvr83aqpvq0ql9ka9d"; buildDepends = [ distributive ]; testDepends = [ doctest filepath ]; meta = { From ea916f0b323d29172fb547f33b493b7974d7dc9b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 6 Apr 2014 18:29:36 +0200 Subject: [PATCH 219/880] haskell-blaze-builder-conduit: there is no code in this module to generate documentation for --- .../libraries/haskell/blaze-builder-conduit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix index 932714cceb4..1c6670f17ab 100644 --- a/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix +++ b/pkgs/development/libraries/haskell/blaze-builder-conduit/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "1.1.0"; sha256 = "0xxyn3lhcn1bkybhrl5dx68d0adf26ilf34gv0mxkwpfj7m7d3k3"; buildDepends = [ conduit ]; + noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; description = "Convert streams of builders to streams of bytestrings. (deprecated)"; From 2a0a12f333dc7a276c3cd47a2a6825da8bc8d4a0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 5 Apr 2014 00:58:14 +0200 Subject: [PATCH 220/880] Upgrade hashable to version 1.2.x. This change in the GHC 7.6.3 profile violates Haskell Platform, but it fixes many builds that would not succeed otherwise (such as Trifecta). Overriding hashable locally in an expression is out of question: the package is used virtually everywhere. --- .../libraries/haskell/haskell-platform/2013.2.0.0.nix | 1 + pkgs/top-level/haskell-packages.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix index 2e0181bd1a7..f209c39d438 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2013.2.0.0.nix @@ -30,6 +30,7 @@ cabal.mkDerivation (self : { cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal cp ${self.setupFile} $sourceRoot/Setup.hs touch $sourceRoot/LICENSE + sed -i -e 's|hashable *==1.1.2.5,|hashable,|' $sourceRoot/${self.pname}.cabal ''; noHaddock = true; meta = { diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 08757faf4c8..01462724e03 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -190,7 +190,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x GLUT = self.GLUT_2_4_0_0; GLURaw = self.GLURaw_1_3_0_0; haskellSrc = self.haskellSrc_1_0_1_5; - hashable = self.hashable_1_1_2_5; + hashable = self.hashable_1_2_1_0; # not HP (1.1.2.5), but fixes many builds html = self.html_1_0_1_2; HTTP = self.HTTP_4000_2_8; HUnit = self.HUnit_1_2_5_2; From ee7880993bae18f0de219a6f093aa516c1b7768a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 6 Apr 2014 18:49:47 +0200 Subject: [PATCH 221/880] haskell-attoparsec-conduit: there is no code in this module to generate documentation for --- .../development/libraries/haskell/attoparsec-conduit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix index bdf42ba947d..21a15ea80e7 100644 --- a/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix +++ b/pkgs/development/libraries/haskell/attoparsec-conduit/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "1.1.0"; sha256 = "18xn3nzxfghcd88cana1jw85ijv0ysw3bp36fb6r5wsf6m79z01y"; buildDepends = [ conduit ]; + noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; description = "Consume attoparsec parsers via conduit. (deprecated)"; From 5fcc9d2b680aeaeb869bb33cca4ebd7a988fd131 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 6 Apr 2014 20:31:19 +0200 Subject: [PATCH 222/880] haskell-network-conduit: there is no code in this module to generate documentation for --- pkgs/development/libraries/haskell/network-conduit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/network-conduit/default.nix b/pkgs/development/libraries/haskell/network-conduit/default.nix index 7c7b649311a..1f252c03660 100644 --- a/pkgs/development/libraries/haskell/network-conduit/default.nix +++ b/pkgs/development/libraries/haskell/network-conduit/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "1.1.0"; sha256 = "06amxl8rg4zfnmgc1iyq5mxy9qihcqddqgqkbfvaf25mwr43992p"; buildDepends = [ conduit ]; + noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; description = "Stream socket data using conduits. (deprecated)"; From acd673be4b1efe37ed5fa10c70d24215e2e1ae39 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 6 Apr 2014 20:32:09 +0200 Subject: [PATCH 223/880] haskell-zlib-conduit: there is no code in this module to generate documentation for --- pkgs/development/libraries/haskell/zlib-conduit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/zlib-conduit/default.nix b/pkgs/development/libraries/haskell/zlib-conduit/default.nix index f9cd966df73..3029cc8c3b6 100644 --- a/pkgs/development/libraries/haskell/zlib-conduit/default.nix +++ b/pkgs/development/libraries/haskell/zlib-conduit/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "1.1.0"; sha256 = "1b22mca8bbg7f84h8y0qsb5ckzg2dw1b26y27x7b7xdxqbwpz93a"; buildDepends = [ conduit ]; + noHaddock = true; meta = { homepage = "http://github.com/snoyberg/conduit"; description = "Streaming compression/decompression via conduits. (deprecated)"; From 4b57acece18be9ee5d86349500f6afe01e3da3bd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sun, 6 Apr 2014 20:52:50 +0200 Subject: [PATCH 224/880] haskell-http-client-conduit: there is no code in this module to generate documentation for --- .../libraries/haskell/http-client-conduit/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/http-client-conduit/default.nix b/pkgs/development/libraries/haskell/http-client-conduit/default.nix index 29840fa6ac0..019136e47ca 100644 --- a/pkgs/development/libraries/haskell/http-client-conduit/default.nix +++ b/pkgs/development/libraries/haskell/http-client-conduit/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.3.0"; sha256 = "0k2vq9y7kfbkhcsszjr74ahq5nw5z7dbzjhw1ixbigcr56axsd19"; buildDepends = [ httpClient ]; + noHaddock = true; meta = { homepage = "https://github.com/snoyberg/http-client"; description = "Frontend support for using http-client with conduit (deprecated)"; From 65c46befcfc917025d8038d80ab1292c2c9b915d Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 23:59:34 +0200 Subject: [PATCH 225/880] gnome-shell: depend upon gnome-settings-daemon gsettings schemas --- pkgs/desktops/gnome-3/core/gnome-shell/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix index 519347f14c8..087b5778163 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center - at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger ]; + at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ]; preBuild = '' patchShebangs src/data-to-c.pl @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --prefix XDG_DATA_DIRS : "${gnome-menus}:/share:${ibus}/share:${gnome_settings_daemon}/share:${gnome_control_center}/share:${gdm}/share:${glib}/share:${gnome_themes_standard}/share:${mutter}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" wrapProgram "$out/libexec/gnome-shell-calendar-server" \ --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" From 296dd89030790ab1d95bed7bbe688a18aff38335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Mon, 7 Apr 2014 00:43:50 +0200 Subject: [PATCH 226/880] buildPythonPackage: don't return on shellHook Entering environment might not always be the desired effect. --- pkgs/development/python-modules/generic/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index d0234c29ed9..9dedd3ceae7 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -163,7 +163,6 @@ python.stdenv.mkDerivation (attrs // { export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH" python setup.py develop --prefix /tmp/$name ${postShellHook} - return ''; meta = with lib.maintainers; { From 3d3648f26133bad1218e3ba28211a0e7ac8f10ae Mon Sep 17 00:00:00 2001 From: vi Date: Mon, 7 Apr 2014 12:15:33 +0800 Subject: [PATCH 227/880] Added a derivation for Ozgun's's retry (Haskell.) --- .../libraries/haskell/retry/default.nix | 15 +++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/development/libraries/haskell/retry/default.nix diff --git a/pkgs/development/libraries/haskell/retry/default.nix b/pkgs/development/libraries/haskell/retry/default.nix new file mode 100644 index 00000000000..d57898593b2 --- /dev/null +++ b/pkgs/development/libraries/haskell/retry/default.nix @@ -0,0 +1,15 @@ +{ cabal, dataDefault, liftedBase, monadControl, transformers }: + +cabal.mkDerivation (self: { + pname = "retry"; + version = "0.3.0.0"; + sha256 = "00yjk5784h4w1cckw17w1k5r94acc3ycnprk642ndgggz3lxm36n"; + buildDepends = [ + dataDefault liftedBase monadControl transformers + ]; + meta = { + description = "Retry combinators for monadic actions that may fail"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 01462724e03..4a97c92bb80 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2177,6 +2177,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x resourcet = callPackage ../development/libraries/haskell/resourcet {}; + retry = callPackage ../development/libraries/haskell/retry {}; + rethinkdb = callPackage ../development/libraries/haskell/rethinkdb {}; rfc5051 = callPackage ../development/libraries/haskell/rfc5051 {}; From 53d7a1c88215d94e341f6fefbe13b2af820eb54d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 11:54:38 +0200 Subject: [PATCH 228/880] haskell-criterion: downgrade to hastache 0.5.1 to fix the build Closes . --- .../libraries/haskell/hastache/0.5.1.nix | 19 +++++++++++++++++++ .../hastache/{default.nix => 0.6.0.nix} | 0 pkgs/top-level/haskell-packages.nix | 8 ++++++-- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/haskell/hastache/0.5.1.nix rename pkgs/development/libraries/haskell/hastache/{default.nix => 0.6.0.nix} (100%) diff --git a/pkgs/development/libraries/haskell/hastache/0.5.1.nix b/pkgs/development/libraries/haskell/hastache/0.5.1.nix new file mode 100644 index 00000000000..462c76a487e --- /dev/null +++ b/pkgs/development/libraries/haskell/hastache/0.5.1.nix @@ -0,0 +1,19 @@ +{ cabal, blazeBuilder, filepath, HUnit, ieee754, mtl, syb, text +, transformers, utf8String +}: + +cabal.mkDerivation (self: { + pname = "hastache"; + version = "0.5.1"; + sha256 = "05lm7mjzc1hamxcj8akq06081bhp907hrjdkhas3wzm6ran6rwn3"; + buildDepends = [ + blazeBuilder filepath ieee754 mtl syb text transformers utf8String + ]; + testDepends = [ HUnit mtl syb text ]; + meta = { + homepage = "http://github.com/lymar/hastache"; + description = "Haskell implementation of Mustache templates"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hastache/default.nix b/pkgs/development/libraries/haskell/hastache/0.6.0.nix similarity index 100% rename from pkgs/development/libraries/haskell/hastache/default.nix rename to pkgs/development/libraries/haskell/hastache/0.6.0.nix diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 4a97c92bb80..4648d76a7a1 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -849,7 +849,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cprngAes = callPackage ../development/libraries/haskell/cprng-aes {}; - criterion = callPackage ../development/libraries/haskell/criterion {}; + criterion = callPackage ../development/libraries/haskell/criterion { + hastache = self.hastache_0_5_1; + }; Crypto = callPackage ../development/libraries/haskell/Crypto {}; @@ -1323,7 +1325,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haskore = callPackage ../development/libraries/haskell/haskore {}; - hastache = callPackage ../development/libraries/haskell/hastache {}; + hastache_0_5_1 = callPackage ../development/libraries/haskell/hastache/0.5.1.nix {}; + hastache_0_6_0 = callPackage ../development/libraries/haskell/hastache/0.6.0.nix {}; + hastache = self.hastache_0_6_0; heredoc = callPackage ../development/libraries/haskell/heredoc {}; From 1f6bfa19adfc1e658fc12f541e6dc9a5fde1102f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 7 Apr 2014 12:24:17 +0200 Subject: [PATCH 229/880] Gnome 3 should not be a release blocker --- nixos/release-combined.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 94bc2f796eb..49c55094640 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -61,7 +61,6 @@ in rec { (all nixos.tests.printing) (all nixos.tests.proxy) (all nixos.tests.xfce) - (all nixos.tests.gnome3) nixpkgs.tarball (all nixpkgs.emacs) From fa6b9baea9d2364cac8dffda04cb3bf4f7f77ee7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 5 Apr 2014 18:56:45 +0200 Subject: [PATCH 230/880] Revert "udisks1: bump to fix CVE-2014-0004" This reverts commit 0194a44d63c613065bb5c55d50470881c00563c2 because it breaks udisks on 13.10 (e.g. running "udisks --enumerate" will print "Unit udisks.service failed to load"). (cherry picked from commit d7daf1a47f0d3d759555a3f0a0f09398c69c6b28) --- pkgs/os-specific/linux/udisks/1-default.nix | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix index 485880f0cbb..99506e81583 100644 --- a/pkgs/os-specific/linux/udisks/1-default.nix +++ b/pkgs/os-specific/linux/udisks/1-default.nix @@ -3,11 +3,11 @@ , libxslt, docbook_xsl, utillinux }: stdenv.mkDerivation rec { - name = "udisks-1.0.5"; + name = "udisks-1.0.4"; src = fetchurl { url = "http://hal.freedesktop.org/releases/${name}.tar.gz"; - sha256 = "0wbg3jrv8limdgvcygf4dqin3y6d30y9pcmmk711vq571vmq5v7j"; + sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5"; }; patches = [ ./purity.patch ./no-pci-db.patch ]; @@ -33,11 +33,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; - configureFlags = [ - "--localstatedir=/var" - "--enable-lvm2" - "--with-systemdsystemunitdir=$(out)/etc/systemd/system" - ]; + configureFlags = "--localstatedir=/var --enable-lvm2"; meta = { homepage = http://www.freedesktop.org/wiki/Software/udisks; From 59ea2d7ba5089b64f5ba7c243c17c73a1a66f8b0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 5 Apr 2014 19:10:35 +0200 Subject: [PATCH 231/880] Apply patch for CVE-2014-0004 to udisks-1.0.4 (cherry picked from commit 3b1f9899618f81794ce8b88fe4eaa867e549eb06) --- pkgs/os-specific/linux/udisks/1-default.nix | 2 +- .../linux/udisks/cve-2014-0004.patch | 82 +++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 pkgs/os-specific/linux/udisks/cve-2014-0004.patch diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix index 99506e81583..8c112417f0a 100644 --- a/pkgs/os-specific/linux/udisks/1-default.nix +++ b/pkgs/os-specific/linux/udisks/1-default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5"; }; - patches = [ ./purity.patch ./no-pci-db.patch ]; + patches = [ ./purity.patch ./no-pci-db.patch ./cve-2014-0004.patch ]; postPatch = '' diff --git a/pkgs/os-specific/linux/udisks/cve-2014-0004.patch b/pkgs/os-specific/linux/udisks/cve-2014-0004.patch new file mode 100644 index 00000000000..ce907507538 --- /dev/null +++ b/pkgs/os-specific/linux/udisks/cve-2014-0004.patch @@ -0,0 +1,82 @@ +commit ebf61ed8471a45cf8bce7231de00cb1bbc140708 +Author: Martin Pitt +Date: Wed Mar 5 14:07:44 2014 +0100 + + Fix buffer overflow in mount path parsing + + In the mount monitor we parse mount points from /proc/self/mountinfo. Ensure + that we don't overflow the buffers on platforms where mount paths could be + longer than PATH_MAX (unknown if that can actually happen), as at least the + mount paths for hotpluggable devices are somewhat user-controlled. + + Thanks to Florian Weimer for discovering this bug, and to David Zeuthen + for his initial patch! + + CVE-2014-0004 + +Index: udisks-1.0.4/src/mount-monitor.c +=================================================================== +--- udisks-1.0.4.orig/src/mount-monitor.c 2011-08-25 20:27:33.000000000 +0200 ++++ udisks-1.0.4/src/mount-monitor.c 2014-03-10 13:38:18.309406561 +0100 +@@ -39,6 +39,11 @@ + #include "mount.h" + #include "private.h" + ++/* build a %Ns format string macro with N == PATH_MAX */ ++#define xstr(s) str(s) ++#define str(s) #s ++#define PATH_MAX_FMT "%" xstr(PATH_MAX) "s" ++ + /*--------------------------------------------------------------------------------------------------------------*/ + + enum +@@ -320,8 +325,8 @@ mount_monitor_ensure (MountMonitor *moni + guint mount_id; + guint parent_id; + guint major, minor; +- gchar encoded_root[PATH_MAX]; +- gchar encoded_mount_point[PATH_MAX]; ++ gchar encoded_root[PATH_MAX + 1]; ++ gchar encoded_mount_point[PATH_MAX + 1]; + gchar *mount_point; + dev_t dev; + +@@ -329,7 +334,7 @@ mount_monitor_ensure (MountMonitor *moni + continue; + + if (sscanf (lines[n], +- "%d %d %d:%d %s %s", ++ "%d %d %d:%d " PATH_MAX_FMT " " PATH_MAX_FMT, + &mount_id, + &parent_id, + &major, +@@ -340,6 +345,8 @@ mount_monitor_ensure (MountMonitor *moni + g_warning ("Error parsing line '%s'", lines[n]); + continue; + } ++ encoded_root[sizeof encoded_root - 1] = '\0'; ++ encoded_mount_point[sizeof encoded_mount_point - 1] = '\0'; + + /* ignore mounts where only a subtree of a filesystem is mounted */ + if (g_strcmp0 (encoded_root, "/") != 0) +@@ -358,15 +365,17 @@ mount_monitor_ensure (MountMonitor *moni + sep = strstr (lines[n], " - "); + if (sep != NULL) + { +- gchar fstype[PATH_MAX]; +- gchar mount_source[PATH_MAX]; ++ gchar fstype[PATH_MAX + 1]; ++ gchar mount_source[PATH_MAX + 1]; + struct stat statbuf; + +- if (sscanf (sep + 3, "%s %s", fstype, mount_source) != 2) ++ if (sscanf (sep + 3, PATH_MAX_FMT " " PATH_MAX_FMT, fstype, mount_source) != 2) + { + g_warning ("Error parsing things past - for '%s'", lines[n]); + continue; + } ++ fstype[sizeof fstype - 1] = '\0'; ++ mount_source[sizeof mount_source - 1] = '\0'; + + if (g_strcmp0 (fstype, "btrfs") != 0) + continue; From 2f51ca9609fbdec380888640dcec1df2917861df Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 7 Apr 2014 13:20:29 +0200 Subject: [PATCH 232/880] Add a regression test for udisks --- nixos/release-combined.nix | 1 + nixos/tests/default.nix | 1 + nixos/tests/udisks.nix | 56 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 nixos/tests/udisks.nix diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 49c55094640..741ab62bbc0 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -60,6 +60,7 @@ in rec { (all nixos.tests.openssh) (all nixos.tests.printing) (all nixos.tests.proxy) + (all nixos.tests.udisks) (all nixos.tests.xfce) nixpkgs.tarball diff --git a/nixos/tests/default.nix b/nixos/tests/default.nix index 955c87b2714..0a749ad5fde 100644 --- a/nixos/tests/default.nix +++ b/nixos/tests/default.nix @@ -38,6 +38,7 @@ with import ../lib/testing.nix { inherit system minimal; }; simple = makeTest (import ./simple.nix); #subversion = makeTest (import ./subversion.nix); tomcat = makeTest (import ./tomcat.nix); + udisks = makeTest (import ./udisks.nix); #trac = makeTest (import ./trac.nix); xfce = makeTest (import ./xfce.nix); runInMachine.test = import ./run-in-machine.nix { inherit system; }; diff --git a/nixos/tests/udisks.nix b/nixos/tests/udisks.nix new file mode 100644 index 00000000000..e3e3f740d07 --- /dev/null +++ b/nixos/tests/udisks.nix @@ -0,0 +1,56 @@ +{ pkgs, ... }: + +let + + stick = pkgs.fetchurl { + url = http://nixos.org/~eelco/nix/udisks-test.img.xz; + sha256 = "0was1xgjkjad91nipzclaz5biv3m4b2nk029ga6nk7iklwi19l8b"; + }; + +in + +{ + + machine = + { config, pkgs, ... }: + { services.udisks.enable = true; + imports = [ ./common/user-account.nix ]; + + security.polkit.extraConfig = + '' + polkit.addRule(function(action, subject) { + if (subject.user == "alice") return "yes"; + }); + ''; + }; + + testScript = + '' + my $stick = $machine->stateDir . "/usbstick.img"; + system("xz -d < ${stick} > $stick") == 0 or die; + + $machine->succeed("udisks --enumerate | grep /org/freedesktop/UDisks/devices/vda"); + $machine->fail("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1"); + + # Attach a USB stick and wait for it to show up. + $machine->sendMonitorCommand("usb_add disk:$stick"); + $machine->waitUntilSucceeds("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1"); + $machine->succeed("udisks --show-info /dev/sda1 | grep 'label:.*USBSTICK'"); + + # Mount the stick as a non-root user and do some stuff with it. + $machine->succeed("su - alice -c 'udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1'"); + $machine->succeed("su - alice -c 'udisks --mount /dev/sda1'"); + $machine->succeed("su - alice -c 'cat /media/USBSTICK/test.txt'") =~ /Hello World/; + $machine->succeed("su - alice -c 'echo foo > /media/USBSTICK/bar.txt'"); + + # Unmounting the stick should make the mountpoint disappear. + $machine->succeed("su - alice -c 'udisks --unmount /dev/sda1'"); + $machine->fail("[ -d /media/USBSTICK ]"); + + # Remove the USB stick. + $machine->sendMonitorCommand("usb_del 0.3"); # FIXME + $machine->waitUntilFails("udisks --enumerate | grep /org/freedesktop/UDisks/devices/sda1"); + $machine->fail("[ -e /dev/sda ]"); + ''; + +} \ No newline at end of file From eb22e5f0269cd28591b66e456dcb1044570fc165 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 7 Apr 2014 13:21:13 +0200 Subject: [PATCH 233/880] Remove ignored argument to sync --- nixos/lib/test-driver/test-driver.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/test-driver/test-driver.pl b/nixos/lib/test-driver/test-driver.pl index 31f3281cefe..358c29e515f 100644 --- a/nixos/lib/test-driver/test-driver.pl +++ b/nixos/lib/test-driver/test-driver.pl @@ -147,7 +147,7 @@ sub runTests { $log->nest("syncing", sub { foreach my $vm (values %vms) { next unless $vm->isUp(); - $vm->execute("sync /tmp/xchg"); + $vm->execute("sync"); } }); From 98a1d07fd3a8704ee537808d185d06c3bfe35a3a Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sun, 6 Apr 2014 11:47:42 -0500 Subject: [PATCH 234/880] boolector: add version 1.5 and 1.6 There are two versions here because beginning with 1.6.0, Boolector has a more restrictive, unfree license which disallows commercial use. As a result, Boolector 1.5 is the default 'boolector' expression. Signed-off-by: Austin Seipp --- .../science/logic/boolector/default.nix | 47 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++ 2 files changed, 53 insertions(+) create mode 100644 pkgs/applications/science/logic/boolector/default.nix diff --git a/pkgs/applications/science/logic/boolector/default.nix b/pkgs/applications/science/logic/boolector/default.nix new file mode 100644 index 00000000000..3879ee8ef47 --- /dev/null +++ b/pkgs/applications/science/logic/boolector/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, zlib, useV16 ? false }: + +let + v15 = rec { + name = "boolector-${version}"; + version = "1.5.118"; + src = fetchurl { + url = "http://fmv.jku.at/boolector/${name}-with-sat-solvers.tar.gz"; + sha256 = "17j7q02rryvfwgvglxnhx0kv8hxwy8wbhzawn48lw05i98vxlmk9"; + }; + }; + + v16 = rec { + name = "boolector-${version}"; + version = "1.6.0"; + src = fetchurl { + url = "http://fmv.jku.at/boolector/${name}-with-sat-solvers.tar.gz"; + sha256 = "0jka4r6bc3i24axgdp6qbq6gjadwz9kvi11s2c5sbwmdnjd7cp85"; + }; + }; + + boolectorPkg = if useV16 then v16 else v15; + license = with stdenv.lib.licenses; if useV16 then unfreeRedistributable else gpl3; +in +stdenv.mkDerivation (boolectorPkg // { + buildInputs = [ zlib ]; + enableParallelBuilding = false; + + buildPhase = "./build.sh"; + + installPhase = '' + mkdir -p $out/bin $out/lib $out/include + cp boolector/boolector $out/bin + cp boolector/deltabtor $out/bin + cp boolector/synthebtor $out/bin + cp boolector/libboolector.a $out/lib + cp boolector/boolector.h $out/include + ''; + + meta = { + inherit license; + description = "An extremely fast SMT solver for bit-vectors and arrays"; + homepage = "http://fmv.jku.at/boolector"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce9bf517e62..4885dc004d1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10278,6 +10278,12 @@ let z3 = callPackage ../applications/science/logic/z3 {}; + boolector = boolector15; + boolector15 = callPackage ../applications/science/logic/boolector {}; + boolector16 = lowPrio (callPackage ../applications/science/logic/boolector { + useV16 = true; + }); + ### SCIENCE / ELECTRONICS eagle = callPackage_i686 ../applications/science/electronics/eagle { }; From c494289c1290fc3350a209ddd498e647ff6a899f Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Mon, 7 Apr 2014 15:30:18 +0200 Subject: [PATCH 235/880] linux: Update to 3.13.9 --- pkgs/os-specific/linux/kernel/linux-3.13.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.13.nix b/pkgs/os-specific/linux/kernel/linux-3.13.nix index b2be5ff2074..136b5241347 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.13.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.13.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.13.8"; + version = "3.13.9"; extraMeta.branch = "3.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "0z6lfsf1ldv7id3fm6l5jdn7c6076605wj7mfi90pgf079kbbqwj"; + sha256 = "1nfxmxmpvw9lr5595ivsshdhk81bjcbx8k92qs0qql6d06bpa921"; }; features.iwlwifi = true; From 807fad571a892abcdca133acb98bbb03ac557efc Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Mon, 7 Apr 2014 15:30:37 +0200 Subject: [PATCH 236/880] grsecurity: Update stable and test patches stable: 3.0-3.2.56-201404012135 -> 3.0-3.2.56-201404062126 test: 3.0-3.13.8-201404011912 -> 3.0-3.13.9-201404062127 --- pkgs/os-specific/linux/kernel/patches.nix | 14 +++++++------- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index c5b6362108e..5156abc1c4f 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -75,22 +75,22 @@ rec { grsecurity_3_0_3_2_56 = { name = "grsecurity-3.0-3.2.56"; patch = fetchurl { - url = http://grsecurity.net/stable/grsecurity-3.0-3.2.56-201404012135.patch; - sha256 = "1l7c1l5cxv1j9iw12rxf7nsvbmg6jna96y1bxc8i4yi0jwiwn2nc"; + url = http://grsecurity.net/stable/grsecurity-3.0-3.2.56-201404062126.patch; + sha256 = "0pm8a6h5dky1frg7bi6ldq849w8xz8isnlw5jpbzix46m3myy3x0"; }; features.grsecurity = true; # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.56 features.apparmor = true; }; - grsecurity_3_0_3_13_8 = - { name = "grsecurity-3.0-3.13.8"; + grsecurity_3_0_3_13_9 = + { name = "grsecurity-3.0-3.13.9"; patch = fetchurl { - url = http://grsecurity.net/test/grsecurity-3.0-3.13.8-201404011912.patch; - sha256 = "1fwb41l7gjkdyl08b6a9mg4ahnw55yk0a7kd69ca8zrqd0j668ci"; + url = http://grsecurity.net/test/grsecurity-3.0-3.13.9-201404062127.patch; + sha256 = "0kwqgw2a44wqhwjwws63ww15apb8jki372iccq7h1w5vi551sl0m"; }; features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.13.8 + # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.13.9 features.apparmor = true; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ce9bf517e62..5383093bcd4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6915,7 +6915,7 @@ let linux_3_13_grsecurity = lowPrio (lib.addMetaAttrs { maintainers = with lib.maintainers; [ wizeman thoughtpolice ]; } (lib.overrideDerivation (linux_3_13.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_13_8 kernelPatches.grsec_path ]; + kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_13_9 kernelPatches.grsec_path ]; argsOverride = { modDirVersion = "${linux_3_13.modDirVersion}-grsec"; }; From 5aa4495cb56ef99df21e9ac42cc2cc98d460426c Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sun, 6 Apr 2014 11:47:42 -0500 Subject: [PATCH 237/880] boolector: add version 1.5 and 1.6 There are two versions here because beginning with 1.6.0, Boolector has a more restrictive, unfree license which disallows commercial use. As a result, Boolector 1.5 is the default 'boolector' expression. Signed-off-by: Austin Seipp --- .../science/logic/boolector/default.nix | 47 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++ 2 files changed, 53 insertions(+) create mode 100644 pkgs/applications/science/logic/boolector/default.nix diff --git a/pkgs/applications/science/logic/boolector/default.nix b/pkgs/applications/science/logic/boolector/default.nix new file mode 100644 index 00000000000..3879ee8ef47 --- /dev/null +++ b/pkgs/applications/science/logic/boolector/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchurl, zlib, useV16 ? false }: + +let + v15 = rec { + name = "boolector-${version}"; + version = "1.5.118"; + src = fetchurl { + url = "http://fmv.jku.at/boolector/${name}-with-sat-solvers.tar.gz"; + sha256 = "17j7q02rryvfwgvglxnhx0kv8hxwy8wbhzawn48lw05i98vxlmk9"; + }; + }; + + v16 = rec { + name = "boolector-${version}"; + version = "1.6.0"; + src = fetchurl { + url = "http://fmv.jku.at/boolector/${name}-with-sat-solvers.tar.gz"; + sha256 = "0jka4r6bc3i24axgdp6qbq6gjadwz9kvi11s2c5sbwmdnjd7cp85"; + }; + }; + + boolectorPkg = if useV16 then v16 else v15; + license = with stdenv.lib.licenses; if useV16 then unfreeRedistributable else gpl3; +in +stdenv.mkDerivation (boolectorPkg // { + buildInputs = [ zlib ]; + enableParallelBuilding = false; + + buildPhase = "./build.sh"; + + installPhase = '' + mkdir -p $out/bin $out/lib $out/include + cp boolector/boolector $out/bin + cp boolector/deltabtor $out/bin + cp boolector/synthebtor $out/bin + cp boolector/libboolector.a $out/lib + cp boolector/boolector.h $out/include + ''; + + meta = { + inherit license; + description = "An extremely fast SMT solver for bit-vectors and arrays"; + homepage = "http://fmv.jku.at/boolector"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5383093bcd4..2e4f7db3a94 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10278,6 +10278,12 @@ let z3 = callPackage ../applications/science/logic/z3 {}; + boolector = boolector15; + boolector15 = callPackage ../applications/science/logic/boolector {}; + boolector16 = lowPrio (callPackage ../applications/science/logic/boolector { + useV16 = true; + }); + ### SCIENCE / ELECTRONICS eagle = callPackage_i686 ../applications/science/electronics/eagle { }; From ff49602b174c394671bc289db5fe7b899963dc63 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:08 +0200 Subject: [PATCH 238/880] haskell-git-annex: update to version 5.20140405 --- .../version-management/git-and-tools/git-annex/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix index 93735d266d6..dcf76160ec6 100644 --- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix @@ -16,8 +16,8 @@ cabal.mkDerivation (self: { pname = "git-annex"; - version = "5.20140402"; - sha256 = "138zs2nf8k9kvywsajnd5ij9yksaijrgjd75v1b6c6mc3jjy3vhm"; + version = "5.20140405"; + sha256 = "0nbfnv9z2jhx2jr2nma0y1znvbaa09rv1drl6wk27j6xsbiq3p3k"; isLibrary = false; isExecutable = true; buildDepends = [ From 6acbb0df129513a47fc7bce60b3e09ad04190443 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:10 +0200 Subject: [PATCH 239/880] haskell-DAV: update to version 0.6.2 --- pkgs/development/libraries/haskell/DAV/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/DAV/default.nix b/pkgs/development/libraries/haskell/DAV/default.nix index 1fc28b4e50b..ac5a6636e76 100644 --- a/pkgs/development/libraries/haskell/DAV/default.nix +++ b/pkgs/development/libraries/haskell/DAV/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "DAV"; - version = "0.6.1"; - sha256 = "0j82fz5z9cwnl41qqs69gv0li25rkjndd8lnf4zy7bbdy558nxgz"; + version = "0.6.2"; + sha256 = "1alnjm0rfr7kwj6jax10bg8rcs8523n5dxyvw0mm65qykf78cprl"; isLibrary = true; isExecutable = true; buildDepends = [ From 1acfe0a81172d8e8a69f2501b33cf05205e2e45b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:12 +0200 Subject: [PATCH 240/880] haskell-HStringTemplate: update to version 0.7.3 --- .../development/libraries/haskell/HStringTemplate/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/HStringTemplate/default.nix b/pkgs/development/libraries/haskell/HStringTemplate/default.nix index 6f96bbbcb7f..0f02d96fcd4 100644 --- a/pkgs/development/libraries/haskell/HStringTemplate/default.nix +++ b/pkgs/development/libraries/haskell/HStringTemplate/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "HStringTemplate"; - version = "0.7.1"; - sha256 = "0hqc1496xazihlww8j90m1cwzj7cihqbfjdly9s8kjf8d5my64ld"; + version = "0.7.3"; + sha256 = "1gw4v16nk0878qplcx6by2bl4280lwyn9a252p6ldaqlbk9vygw8"; buildDepends = [ blazeBuilder deepseq filepath mtl parsec syb text time utf8String void From e235f6b6081341eb36b7d7dad7c0559504c8114f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:14 +0200 Subject: [PATCH 241/880] haskell-Hipmunk: update to version 5.2.0.13 --- pkgs/development/libraries/haskell/Hipmunk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix index e2f78497a7a..faaed63399a 100644 --- a/pkgs/development/libraries/haskell/Hipmunk/default.nix +++ b/pkgs/development/libraries/haskell/Hipmunk/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Hipmunk"; - version = "5.2.0.12"; - sha256 = "0gybmwwij6gs3gsklcvck0nc1niyh6pvirnxgrcwclrz94ivpj42"; + version = "5.2.0.13"; + sha256 = "0ddf7cbwaswyszq9rs5jq353npbry8l2cc7p5wq9wq97yplz10bc"; buildDepends = [ StateVar transformers ]; meta = { homepage = "https://github.com/meteficha/Hipmunk"; From b5ab38cd74dfd91bcc16ca792068669f812dcddf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:15 +0200 Subject: [PATCH 242/880] haskell-TypeCompose: update to version 0.9.10 --- pkgs/development/libraries/haskell/TypeCompose/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/TypeCompose/default.nix b/pkgs/development/libraries/haskell/TypeCompose/default.nix index b7c1a23d3d5..083f438e170 100644 --- a/pkgs/development/libraries/haskell/TypeCompose/default.nix +++ b/pkgs/development/libraries/haskell/TypeCompose/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "TypeCompose"; - version = "0.9.9"; - sha256 = "0i89r1yaglkcc1fdhn0m4hws5rqcpmkg32ddznch7a3rz1l9gqwg"; + version = "0.9.10"; + sha256 = "1wpldqdf6czl36fs4pvvj2z3kg1487sanqncp4rbmgrrhbfmqxxq"; meta = { homepage = "https://github.com/conal/TypeCompose"; description = "Type composition classes & instances"; From 448d6458a64a074e10faf839c2d9cd09b58c50f8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:17 +0200 Subject: [PATCH 243/880] haskell-crypto-conduit: update to version 0.5.3 --- .../libraries/haskell/crypto-conduit/default.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/crypto-conduit/default.nix b/pkgs/development/libraries/haskell/crypto-conduit/default.nix index 3668c46dc68..bcc357fbed3 100644 --- a/pkgs/development/libraries/haskell/crypto-conduit/default.nix +++ b/pkgs/development/libraries/haskell/crypto-conduit/default.nix @@ -1,15 +1,17 @@ -{ cabal, cereal, conduit, cryptoApi, cryptocipher -, cryptohashCryptoapi, hspec, skein, transformers +{ cabal, cereal, conduit, conduitExtra, cryptoApi, cryptocipher +, cryptohashCryptoapi, hspec, resourcet, skein, transformers }: cabal.mkDerivation (self: { pname = "crypto-conduit"; - version = "0.5.2.2"; - sha256 = "1969jys4za3m818jvnfcsv5hpc50bcvkrmy9lxr8fz854q01vhk2"; - buildDepends = [ cereal conduit cryptoApi transformers ]; + version = "0.5.3"; + sha256 = "1xvjfkwd4rqlgyz172s2mihfqz1pac84qhc72c4zw1nwadsh6dgl"; + buildDepends = [ + cereal conduit conduitExtra cryptoApi resourcet transformers + ]; testDepends = [ - cereal conduit cryptoApi cryptocipher cryptohashCryptoapi hspec - skein transformers + cereal conduit conduitExtra cryptoApi cryptocipher + cryptohashCryptoapi hspec skein transformers ]; jailbreak = true; doCheck = false; From 9e04637777b27ce615f31265e2610ab52c33aefa Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:19 +0200 Subject: [PATCH 244/880] haskell-cryptohash-cryptoapi: update to version 0.1.3 --- .../libraries/haskell/cryptohash-cryptoapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix b/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix index 7041bcc5285..020b34298ad 100644 --- a/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix +++ b/pkgs/development/libraries/haskell/cryptohash-cryptoapi/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "cryptohash-cryptoapi"; - version = "0.1.2"; - sha256 = "1i2qxyq5qk4jzgkl7kndy10sbmzmagamfnqvl300qm3msi9k0kfy"; + version = "0.1.3"; + sha256 = "0wj53p32js8lfg0i8akrljpash0jdiyv2vcqpmjbd4dq2fx81w2n"; buildDepends = [ cereal cryptoApi cryptohash tagged ]; meta = { homepage = "http://github.com/vincenthz/hs-cryptohash-cryptoapi"; From ec4e1295ca41a29e79ce69cf3923326e3e0f6e32 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:21 +0200 Subject: [PATCH 245/880] haskell-fay-base: update to version 0.19.1.1 --- pkgs/development/libraries/haskell/fay-base/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/fay-base/default.nix b/pkgs/development/libraries/haskell/fay-base/default.nix index 6e9ed486884..fae2c8ee93f 100644 --- a/pkgs/development/libraries/haskell/fay-base/default.nix +++ b/pkgs/development/libraries/haskell/fay-base/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "fay-base"; - version = "0.19.1"; - sha256 = "1b4v8l3adhcpply9yqk1pc1cgsvqlamvk60rvcb89kw5clrbvr4r"; + version = "0.19.1.1"; + sha256 = "1qn48aj7j33gvb6vmz986cqi41zvh62sbmmvwgyhpmrhsfkm5wkz"; buildDepends = [ fay ]; meta = { homepage = "https://github.com/faylang/fay-base"; From 1b32db652a8c802d3dba3df4e3cbae3968ed7062 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:23 +0200 Subject: [PATCH 246/880] haskell-fay: update to version 0.19.1.2 --- pkgs/development/libraries/haskell/fay/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix index ec5f0a48b87..3af423e5745 100644 --- a/pkgs/development/libraries/haskell/fay/default.nix +++ b/pkgs/development/libraries/haskell/fay/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "fay"; - version = "0.19.1.1"; - sha256 = "1jjv7l4x1bxr4whhcn4vh4b3ac4wfnb6l322jmdj60nh9sj8dzpf"; + version = "0.19.1.2"; + sha256 = "1v6fnyzvs55sf602ja74x5cwkg97rc46ybv8ybrnsg9jvhscynpr"; isLibrary = true; isExecutable = true; buildDepends = [ From afd7e3c1de8a4121ce557c7c525d09e06f7eabed Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:25 +0200 Subject: [PATCH 247/880] haskell-hakyll: update to version 4.5.0.2 --- pkgs/development/libraries/haskell/hakyll/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index 13128b75b9f..56977517b9e 100644 --- a/pkgs/development/libraries/haskell/hakyll/default.nix +++ b/pkgs/development/libraries/haskell/hakyll/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "hakyll"; - version = "4.5.0.1"; - sha256 = "0zl8zjwkyrh5c0l190q6qw1w6mwhw7jsjk3l7qjpgxbmv730q7nz"; + version = "4.5.0.2"; + sha256 = "1aphn76iq0cxxnb2ixddr017wbp6caxwjh5azfa4cy2lw2jmznyz"; isLibrary = true; isExecutable = true; buildDepends = [ From 7f6404001d5ea5ed24f0735077e812066d2bdc91 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:26 +0200 Subject: [PATCH 248/880] haskell-hspec-meta: update to version 1.9.2 --- pkgs/development/libraries/haskell/hspec-meta/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hspec-meta/default.nix b/pkgs/development/libraries/haskell/hspec-meta/default.nix index 28edba11cac..c522dc9f968 100644 --- a/pkgs/development/libraries/haskell/hspec-meta/default.nix +++ b/pkgs/development/libraries/haskell/hspec-meta/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "hspec-meta"; - version = "1.9.0"; - sha256 = "1jvx748aay8ln23p382y03gk6hc19f3z62za4326i0d3cyapfqdv"; + version = "1.9.2"; + sha256 = "0df54njh3i2gq10rkibqaq36xzv16pd2pp18wy28w6x5xff5hvm5"; isLibrary = true; isExecutable = true; buildDepends = [ From 59f7f63792e049974265dfeaffc641b73d9f3931 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:28 +0200 Subject: [PATCH 249/880] haskell-hspec: update to version 1.9.2 --- pkgs/development/libraries/haskell/hspec/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix index 5ba74dde34c..8d316caf4c8 100644 --- a/pkgs/development/libraries/haskell/hspec/default.nix +++ b/pkgs/development/libraries/haskell/hspec/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "hspec"; - version = "1.9.1"; - sha256 = "1klx7gxg4a98rjhln6ixlmfvsgpxdkdg56jbl06bfxp2lmfyxm9p"; + version = "1.9.2"; + sha256 = "0q8a1n03d70l86l2yy98j180xbnfq0ijgcf5llv439b65lc4zcyf"; isLibrary = true; isExecutable = true; buildDepends = [ From 7e539c72efa23bfecf36961f045e006daf0c45fa Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:30 +0200 Subject: [PATCH 250/880] haskell-quickcheck-io: update to version 0.1.1 --- pkgs/development/libraries/haskell/quickcheck-io/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/quickcheck-io/default.nix b/pkgs/development/libraries/haskell/quickcheck-io/default.nix index b7c33b6d1a0..9e345f80053 100644 --- a/pkgs/development/libraries/haskell/quickcheck-io/default.nix +++ b/pkgs/development/libraries/haskell/quickcheck-io/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "quickcheck-io"; - version = "0.1.0"; - sha256 = "167ds7c7p1lcfsylxhq2sr0jxbviyim1n42dhyr0s0b6hazw8cjs"; + version = "0.1.1"; + sha256 = "16q3sqvxnaqmbb1zbda8f61mdlmmzxhrznqxab113lmg380nwfm2"; buildDepends = [ HUnit QuickCheck ]; meta = { description = "Use HUnit assertions as QuickCheck properties"; From cbe4a977de3af36e285df2016393f7e5388c5b39 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:32 +0200 Subject: [PATCH 251/880] haskell-random-fu: update to version 0.2.5.0 --- .../libraries/haskell/random-fu/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/random-fu/default.nix b/pkgs/development/libraries/haskell/random-fu/default.nix index 8dd228ad3db..41999e535e0 100644 --- a/pkgs/development/libraries/haskell/random-fu/default.nix +++ b/pkgs/development/libraries/haskell/random-fu/default.nix @@ -1,14 +1,14 @@ -{ cabal, erf, gamma, monadLoops, mtl, randomShuffle, randomSource -, rvar, syb, transformers, vector +{ cabal, erf, mathFunctions, monadLoops, mtl, randomShuffle +, randomSource, rvar, syb, transformers, vector }: cabal.mkDerivation (self: { pname = "random-fu"; - version = "0.2.4.0"; - sha256 = "1wiwh52qfs699mcj3ylwc97pyabczn6dr8j92qczs89g8vvi91wd"; + version = "0.2.5.0"; + sha256 = "1yfq7mvplzdk64i7z5ip8vjynn48a65z28xrhcv91qi0yjxsxdm0"; buildDepends = [ - erf gamma monadLoops mtl randomShuffle randomSource rvar syb - transformers vector + erf mathFunctions monadLoops mtl randomShuffle randomSource rvar + syb transformers vector ]; meta = { homepage = "https://github.com/mokus0/random-fu"; From 73411b90dd88f7329e81db361ca174211c118ddf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:34 +0200 Subject: [PATCH 252/880] haskell-resourcet: update to version 1.1.1 --- pkgs/development/libraries/haskell/resourcet/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix index 111afbf6a7a..7995227a8c0 100644 --- a/pkgs/development/libraries/haskell/resourcet/default.nix +++ b/pkgs/development/libraries/haskell/resourcet/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "resourcet"; - version = "1.1.0.1"; - sha256 = "02w2gz0zn039bz1ig91jd0zkg9w1nxpi3byh6ybdsnbyddwfy376"; + version = "1.1.1"; + sha256 = "0v80wlxpcikr41p8wxa2kr184ghp94bgb5fwym9c27k8djig2awy"; buildDepends = [ exceptions liftedBase mmorph monadControl mtl transformers transformersBase From 9b15ca717872f9fba0d4293f78603db042790669 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:36 +0200 Subject: [PATCH 253/880] haskell-temporary: update to version 1.2.0.2 --- pkgs/development/libraries/haskell/temporary/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/temporary/default.nix b/pkgs/development/libraries/haskell/temporary/default.nix index cf5d76f8cd6..585eaf58682 100644 --- a/pkgs/development/libraries/haskell/temporary/default.nix +++ b/pkgs/development/libraries/haskell/temporary/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "temporary"; - version = "1.2.0.1"; - sha256 = "12z8qnqn1fg9ymaav5ds7gk067lmj0bv1lhhxcnvmvjcpk1l5b54"; + version = "1.2.0.2"; + sha256 = "1ynvhmc6b385sn8qw3sni3cwmz7pmppns546416xil9mhbiya87z"; buildDepends = [ exceptions filepath transformers ]; jailbreak = true; meta = { From aebf705dbfad3f20a7e245af069a3b5cf84e97d7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:37 +0200 Subject: [PATCH 254/880] haskell-twitter-types: update to version 0.2.20140406 --- .../libraries/haskell/twitter-types/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix index a7fb544afc1..aea8f3dbc3a 100644 --- a/pkgs/development/libraries/haskell/twitter-types/default.nix +++ b/pkgs/development/libraries/haskell/twitter-types/default.nix @@ -1,15 +1,15 @@ -{ cabal, aeson, attoparsec, httpTypes, HUnit, shakespeareText +{ cabal, aeson, attoparsec, httpTypes, HUnit, shakespeare , testFramework, testFrameworkHunit, testFrameworkThPrime, text , unorderedContainers }: cabal.mkDerivation (self: { pname = "twitter-types"; - version = "0.2.20130101"; - sha256 = "0y7pymwcv8i5f8hqh4h018xp5bd998l8fx9f2a8x6d53c7l34wmd"; + version = "0.2.20140406"; + sha256 = "0zzdnmcx57w2j2bypwnxkrmaa2zw945g8717lm0c2wzk31kjbvi8"; buildDepends = [ aeson httpTypes text unorderedContainers ]; testDepends = [ - aeson attoparsec httpTypes HUnit shakespeareText testFramework + aeson attoparsec httpTypes HUnit shakespeare testFramework testFrameworkHunit testFrameworkThPrime text unorderedContainers ]; doCheck = false; From 180673ccec593ea5ad5708aa929608c8d329eae5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:39 +0200 Subject: [PATCH 255/880] haskell-yesod-bin: update to version 1.2.8 --- pkgs/development/libraries/haskell/yesod-bin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix index baf4a9dd4d5..46b78fcbd8f 100644 --- a/pkgs/development/libraries/haskell/yesod-bin/default.nix +++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix @@ -10,8 +10,8 @@ cabal.mkDerivation (self: { pname = "yesod-bin"; - version = "1.2.7.4"; - sha256 = "1nhpn8855jhvjmh5fdvjic20lyx6k054kfp8j0lwvdcd79c7bl77"; + version = "1.2.8"; + sha256 = "0hic32k1ii1j2hrwxj7pc7vv26dmq8rv7h7as1fw0bwlysrnw8nm"; isLibrary = false; isExecutable = true; buildDepends = [ From 8673cef70d2f1c34755c8b3d75a3fa2fcb6b2879 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:41 +0200 Subject: [PATCH 256/880] haskell-yesod-core: update to version 1.2.11 --- .../libraries/haskell/yesod-core/default.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index 3083eb0c929..ab968a53048 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -1,23 +1,23 @@ { cabal, aeson, async, attoparsecConduit, blazeBuilder, blazeHtml , blazeMarkup, caseInsensitive, cereal, clientsession, conduit , conduitExtra, cookie, dataDefault, fastLogger, hamlet, hspec -, httpTypes, HUnit, liftedBase, monadControl, monadLogger, network -, networkConduit, parsec, pathPieces, QuickCheck, random, resourcet -, safe, shakespeare, shakespeareCss, shakespeareI18n, shakespeareJs -, streamingCommons, text, time, transformers, transformersBase -, unixCompat, vector, wai, waiExtra, waiLogger, waiTest, warp -, yesodRoutes +, httpTypes, HUnit, liftedBase, monadControl, monadLogger, mtl +, network, networkConduit, parsec, pathPieces, QuickCheck, random +, resourcet, safe, shakespeare, shakespeareCss, shakespeareI18n +, shakespeareJs, streamingCommons, text, time, transformers +, transformersBase, unixCompat, vector, wai, waiExtra, waiLogger +, waiTest, warp, yesodRoutes }: cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.2.9.2"; - sha256 = "1ip5rra426agqv5v2hmxcp1g3xjvi9wnixrpdnxvifflhr7gchfl"; + version = "1.2.11"; + sha256 = "0vg07g5735qsr01wpgxpjzjc7w9nrqvkhfnd90jzdvg3kg33dgih"; buildDepends = [ aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit conduitExtra cookie dataDefault fastLogger hamlet httpTypes liftedBase monadControl - monadLogger parsec pathPieces random resourcet safe shakespeare + monadLogger mtl parsec pathPieces random resourcet safe shakespeare shakespeareCss shakespeareI18n shakespeareJs text time transformers transformersBase unixCompat vector wai waiExtra waiLogger warp yesodRoutes From 6876e696b4196f31b007a2e8601eb4da98084e9c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:43 +0200 Subject: [PATCH 257/880] haskell-HaRe: update to version 0.7.2.2 --- pkgs/development/tools/haskell/HaRe/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/haskell/HaRe/default.nix b/pkgs/development/tools/haskell/HaRe/default.nix index 11c36f320f2..7cbc6630584 100644 --- a/pkgs/development/tools/haskell/HaRe/default.nix +++ b/pkgs/development/tools/haskell/HaRe/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "HaRe"; - version = "0.7.2.0"; - sha256 = "0i769mryjr3v9vh4zkdycpha8skq9xcdln3plrxx55bf42c4aqi9"; + version = "0.7.2.2"; + sha256 = "0w9cjs3r99k4mf835higcsllk0h8lbich1v9wb2pvwbqi3i9r0sp"; isLibrary = true; isExecutable = true; buildDepends = [ From bdc3361515471f54252783332ebb83c2f8e29146 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 12:43:45 +0200 Subject: [PATCH 258/880] haskell-keter: update to version 1.3.0 --- .../tools/haskell/keter/default.nix | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix index a56e64953c0..1cffefd6da3 100644 --- a/pkgs/development/tools/haskell/keter/default.nix +++ b/pkgs/development/tools/haskell/keter/default.nix @@ -1,26 +1,25 @@ { cabal, aeson, async, attoparsec, blazeBuilder, caseInsensitive -, conduit, dataDefault, filepath, fsnotify, hspec, httpClient -, httpClientConduit, httpConduit, httpReverseProxy, httpTypes -, liftedBase, mtl, network, networkConduit, networkConduitTls -, random, regexTdfa, stm, systemFileio, systemFilepath, tar, text -, time, transformers, unixCompat, unorderedContainers, vector, wai -, waiAppStatic, waiExtra, warp, warpTls, yaml, zlib +, conduit, conduitExtra, dataDefault, filepath, fsnotify, hspec +, httpConduit, httpReverseProxy, httpTypes, liftedBase, mtl +, network, networkConduitTls, random, regexTdfa, stm, systemFileio +, systemFilepath, tar, text, time, transformers, unixCompat +, unorderedContainers, vector, wai, waiAppStatic, waiExtra, warp +, warpTls, yaml, zlib }: cabal.mkDerivation (self: { pname = "keter"; - version = "1.2.1"; - sha256 = "160kw3c2h9i1rwhicm860ahanx9p9qskrnfxsa68484j0cmw1ga9"; + version = "1.3.0"; + sha256 = "1fvb93iga4c0kfv29ksrmn9bjznl7wfspg1v9a5d3svwrszl4is3"; isLibrary = true; isExecutable = true; buildDepends = [ aeson async attoparsec blazeBuilder caseInsensitive conduit - dataDefault filepath fsnotify httpClient httpClientConduit - httpConduit httpReverseProxy httpTypes liftedBase mtl network - networkConduit networkConduitTls random regexTdfa stm systemFileio - systemFilepath tar text time transformers unixCompat - unorderedContainers vector wai waiAppStatic waiExtra warp warpTls - yaml zlib + conduitExtra dataDefault filepath fsnotify httpConduit + httpReverseProxy httpTypes liftedBase mtl network networkConduitTls + random regexTdfa stm systemFileio systemFilepath tar text time + transformers unixCompat unorderedContainers vector wai waiAppStatic + waiExtra warp warpTls yaml zlib ]; testDepends = [ conduit hspec transformers ]; meta = { From 9ec3e833f7d22594cf63042b67be0e5cd2b7b212 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:03:55 +0200 Subject: [PATCH 259/880] hledger-web: patch to fix build with recent versions of conduit Cc: @simonmichael --- .../haskell/hledger-web/build-fix.patch | 47 +++++++++++++++++++ .../libraries/haskell/hledger-web/default.nix | 1 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/libraries/haskell/hledger-web/build-fix.patch diff --git a/pkgs/development/libraries/haskell/hledger-web/build-fix.patch b/pkgs/development/libraries/haskell/hledger-web/build-fix.patch new file mode 100644 index 00000000000..45862bf1679 --- /dev/null +++ b/pkgs/development/libraries/haskell/hledger-web/build-fix.patch @@ -0,0 +1,47 @@ +Only in hledger-web-0.22.4: dist +diff -urw hledger-web-0.22.4-orig/Hledger/Web/Main.hs hledger-web-0.22.4/Hledger/Web/Main.hs +--- hledger-web-0.22.4-orig/Hledger/Web/Main.hs 2014-04-07 13:00:41.168884350 +0200 ++++ hledger-web-0.22.4/Hledger/Web/Main.hs 2014-04-07 13:14:46.584599468 +0200 +@@ -15,7 +15,8 @@ + -- import Yesod.Default.Main (defaultMain) + import Settings -- (parseExtra) + import Application (makeApplication) +-import Data.Conduit.Network (HostPreference(HostIPv4)) ++import Data.String ++import Data.Conduit.Network + import Network.Wai.Handler.Warp (runSettings, defaultSettings, settingsPort) + import Network.Wai.Handler.Launch (runUrlPort) + -- +@@ -65,7 +66,7 @@ + app <- makeApplication opts j' AppConfig{appEnv = Development + ,appPort = p + ,appRoot = pack u +- ,appHost = HostIPv4 ++ ,appHost = fromString "*4" + ,appExtra = Extra "" Nothing staticRoot + } + if server_ opts +diff -urw hledger-web-0.22.4-orig/hledger-web.cabal hledger-web-0.22.4/hledger-web.cabal +--- hledger-web-0.22.4-orig/hledger-web.cabal 2014-04-07 13:00:41.168884350 +0200 ++++ hledger-web-0.22.4/hledger-web.cabal 2014-04-07 13:16:26.376772344 +0200 +@@ -128,7 +128,7 @@ + , http-conduit + , http-client >= 0.2 && < 0.3 + , HUnit +- , network-conduit ++ , network-conduit, conduit-extra + , old-locale + , parsec + , regexpr >= 0.5.1 +@@ -220,7 +220,7 @@ + , http-conduit + , http-client >= 0.2 && < 0.3 + , HUnit +- , network-conduit ++ , network-conduit, conduit-extra + , old-locale + , parsec + , regexpr >= 0.5.1 +Only in hledger-web-0.22.4: Setup +Only in hledger-web-0.22.4: Setup.hi +Only in hledger-web-0.22.4: Setup.o diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix index eee84c338e6..58328ae9cf5 100644 --- a/pkgs/development/libraries/haskell/hledger-web/default.nix +++ b/pkgs/development/libraries/haskell/hledger-web/default.nix @@ -22,6 +22,7 @@ cabal.mkDerivation (self: { testDepends = [ hspec yesod yesodTest ]; jailbreak = true; doCheck = false; + patches = [ ./build-fix.patch ]; meta = { homepage = "http://hledger.org"; description = "A web interface for the hledger accounting tool"; From 017a8975e7a32e125df3a99c17141f5280394cde Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:25:57 +0200 Subject: [PATCH 260/880] haskell-github: patch to fix build with recent versions of conduit Cc: @jwiegley --- pkgs/development/libraries/haskell/github/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/libraries/haskell/github/default.nix b/pkgs/development/libraries/haskell/github/default.nix index 0c1d0b3135d..5fd23514583 100644 --- a/pkgs/development/libraries/haskell/github/default.nix +++ b/pkgs/development/libraries/haskell/github/default.nix @@ -13,6 +13,9 @@ cabal.mkDerivation (self: { unorderedContainers vector ]; jailbreak = true; + patchPhase = '' + sed -i -e '/^import Data.Conduit (ResourceT)/d' Github/Private.hs + ''; meta = { homepage = "https://github.com/fpco/github"; description = "Access to the Github API, v3"; From a29b90b4c726afb44181ca1b0b5e12207a165540 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:30:12 +0200 Subject: [PATCH 261/880] haskell-language-javascript: update to version 0.5.12 --- .../haskell/language-javascript/default.nix | 13 ++++++------- pkgs/top-level/haskell-packages.nix | 4 +++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix index 94d693aa7c8..647c3be498d 100644 --- a/pkgs/development/libraries/haskell/language-javascript/default.nix +++ b/pkgs/development/libraries/haskell/language-javascript/default.nix @@ -1,18 +1,17 @@ -{ cabal, blazeBuilder, Cabal, happy, HUnit, mtl, QuickCheck -, testFramework, testFrameworkHunit, utf8Light, utf8String, alex +{ cabal, alex, blazeBuilder, Cabal, happy, HUnit, mtl, QuickCheck +, testFramework, testFrameworkHunit, utf8Light, utf8String }: cabal.mkDerivation (self: { pname = "language-javascript"; - version = "0.5.9"; - sha256 = "1m1fs2vaw3yn9ryd49aprxc5l10xkr86mlxxf5bk6qp51wnp9xqh"; - buildDepends = [ blazeBuilder mtl utf8Light utf8String ]; + version = "0.5.12"; + sha256 = "1zzgjxqgfl6k2z4cwh0961ipfc5fminfdg2162g45h2nrv63mq05"; + buildDepends = [ blazeBuilder mtl utf8String ]; testDepends = [ blazeBuilder Cabal HUnit mtl QuickCheck testFramework testFrameworkHunit utf8Light utf8String ]; - buildTools = [ happy alex ]; - preConfigure = "rm -rv dist; $SHELL runalex.sh"; + buildTools = [ alex happy ]; meta = { homepage = "http://github.com/alanz/language-javascript"; description = "Parser for JavaScript"; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 4648d76a7a1..ca689949b39 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1600,7 +1600,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x languageJava = callPackage ../development/libraries/haskell/language-java {}; - languageJavascript = callPackage ../development/libraries/haskell/language-javascript {}; + languageJavascript = callPackage ../development/libraries/haskell/language-javascript { + alex = self.alex_3_1_3; + }; languageHaskellExtract = callPackage ../development/libraries/haskell/language-haskell-extract {}; From 4dc15c087a4b255f7b7c7203bc11e769d23ac49a Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Mon, 24 Mar 2014 00:29:30 -0500 Subject: [PATCH 262/880] musl: version 1.0.0 NB: This currently doesn't add a working musl-wrapper around musl-gcc to allow it to work properly (musl has its own dynamic linker as well as libc too which must be accounted for). But at the moment it builds fine, and I plan on working more on it in the future. So lets get it integrated and building on Hydra. Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/musl/default.nix | 24 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/os-specific/linux/musl/default.nix diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix new file mode 100644 index 00000000000..014591f0b55 --- /dev/null +++ b/pkgs/os-specific/linux/musl/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "musl-${version}"; + version = "1.0.0"; + + src = fetchurl { + url = "http://www.musl-libc.org/releases/${name}.tar.gz"; + sha256 = "0chs9h8k4d0iwv8w7n1w02nll3ypwqa2gag6r4czznkj55fz9mqs"; + }; + + enableParallelBuilding = true; + configurePhase = '' + ./configure --enable-shared --enable-static --prefix=$out --syslibdir=$out/lib + ''; + + meta = { + description = "An efficient, small, quality libc implementation"; + homepage = "http://www.musl-libc.org"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2e4f7db3a94..046eead410c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7170,6 +7170,8 @@ let multipath_tools = callPackage ../os-specific/linux/multipath-tools { }; + musl = callPackage ../os-specific/linux/musl { }; + nettools = callPackage ../os-specific/linux/net-tools { }; neverball = callPackage ../games/neverball { From 1140f06e0fbafb4cfc64c0760d91cd67ba46ef59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Mon, 7 Apr 2014 20:31:54 +0200 Subject: [PATCH 263/880] openssl: 1.0.1f -> 1.0.1g CVE-2014-0160, CVE-2014-0076 --- pkgs/development/libraries/openssl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 7d7ccacd14a..0d57018dcd6 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -2,7 +2,7 @@ , withCryptodev ? false, cryptodevHeaders }: let - name = "openssl-1.0.1f"; + name = "openssl-1.0.1g"; opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ] (throw "openssl needs its platform name cross building" null) @@ -41,7 +41,7 @@ stdenv.mkDerivation { "http://www.openssl.org/source/${name}.tar.gz" "http://openssl.linux-mirror.org/source/${name}.tar.gz" ]; - sha256 = "0nnbr70dg67raqsqvlypzxa1v5xsv9gp91f9pavyckfn2w5sihkc"; + sha256 = "0a70qdqccg16nw4bbawa6pjvzn05vfp5wkwg6jl0grch7f683jsk"; }; patches = patchesCross false; From 05ec85105009cbd92af15e6fe8168861ba52580f Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Mon, 7 Apr 2014 13:52:01 -0500 Subject: [PATCH 264/880] kernel: longterm updates - longterm: 3.4.85 -> 3.4.86 - longterm: 3.10.35 -> 3.10.36 - longterm: 3.12.15 -> 3.12.17 Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/linux-3.10.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-3.12.nix | 4 ++-- pkgs/os-specific/linux/kernel/linux-3.4.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix index e5dbfe0d27b..520b41ec206 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.10.35"; + version = "3.10.36"; extraMeta.branch = "3.10"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "01hznshgclxgs9hvag1i1a69k95nf61z00q6qly4ym25wb77znyv"; + sha256 = "1bx94v829qvv5r9h6cj5ddyj5n6qddy8bppnl8minjnqsv5l0vnr"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix index c758768a5ef..e997e1951ef 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.12.15"; + version = "3.12.17"; extraMeta.branch = "3.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "08y42y5piibql0v6pwdp19nxvw5jngs4nw404lwh412zk0cnh4gn"; + sha256 = "1knjmzk5gyab0b1prmna2bb8zz19sjmmjm24h6agmpq6q4bbnc5q"; }; features.iwlwifi = true; diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix index 5eeddb35adb..28542b88966 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.4.85"; + version = "3.4.86"; extraMeta.branch = "3.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "1ldbq9qka6bdgic4ydl9pnny734gyi2vxzdsnfmfi8mx7bnar29y"; + sha256 = "1gb0pgpikl2fvwbkzpyh38ji0i656jgz902918kvxsip263w675q"; }; features.iwlwifi = true; From 8cd95471d753248f7f7f1c70cd700c62730de3be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 7 Apr 2014 21:31:29 +0200 Subject: [PATCH 265/880] nixos: add type definitions to virtualisation.libvirtd.* options --- nixos/modules/virtualisation/libvirtd.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index 583b09192e3..6d36fd4caa0 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -24,6 +24,7 @@ in virtualisation.libvirtd.enable = mkOption { + type = types.bool; default = false; description = '' @@ -36,6 +37,7 @@ in virtualisation.libvirtd.enableKVM = mkOption { + type = types.bool; default = true; description = '' @@ -45,6 +47,7 @@ in virtualisation.libvirtd.extraConfig = mkOption { + type = types.lines; default = ""; description = '' From 7dff8a8aaf1c1c86e2b98ec63cf18524fbb76a7a Mon Sep 17 00:00:00 2001 From: Alex Berg Date: Mon, 7 Apr 2014 07:33:34 +0200 Subject: [PATCH 266/880] Bump Docker to v0.9.1. Tested pulling, committing, pushing. Signed-off-by: Austin Seipp --- .../virtualization/docker/default.nix | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix index b718d89c8c7..40385d9d36a 100644 --- a/pkgs/applications/virtualization/docker/default.nix +++ b/pkgs/applications/virtualization/docker/default.nix @@ -1,36 +1,33 @@ -{ stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, iptables, lvm2 -, bash}: +{ stdenv, fetchurl, makeWrapper, go, lxc, sqlite, iproute, bridge_utils, devicemapper, +btrfsProgs, iptables, bash}: stdenv.mkDerivation rec { name = "docker-${version}"; - version = "0.7.6"; + version = "0.9.1"; src = fetchurl { url = "https://github.com/dotcloud/docker/archive/v${version}.tar.gz"; - sha256 = "0anlzba2vm1fs5nf0dl2svrgj3ddsbl5iyhsm8vfbi3f23vppkfv"; + sha256 = "0m4s21dxd1bj08xrmi7iw77djj3cpxvjsin12p6v6v1qnigm18ww"; }; phases = ["unpackPhase" "preBuild" "buildPhase" "installPhase"]; - buildInputs = [ makeWrapper go sqlite lxc iproute lvm2 iptables ]; + buildInputs = [ makeWrapper go sqlite lxc iproute bridge_utils devicemapper btrfsProgs iptables ]; preBuild = '' patchShebangs ./hack ''; buildPhase = '' - mkdir -p src/github.com/dotcloud - ln -sn "../../../" "src/github.com/dotcloud/docker" - export GOPATH="$(pwd):$(pwd)/vendor" - export DOCKER_GITCOMMIT="bc3b2ec0622f50879ae96f042056b6bd2e0b4fba" - export DOCKER_INITPATH="$out/libexec/docker/dockerinit" + export AUTO_GOPATH=1 + export DOCKER_GITCOMMIT="867b2a90c228f62cdcd44907ceef279a2d8f1ac5" ./hack/make.sh dynbinary ''; installPhase = '' install -Dm755 ./bundles/${version}/dynbinary/docker-${version} $out/bin/docker - install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/libexec/docker/dockerinit - wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:${lvm2}:sbin:${lxc}/bin:${iptables}/sbin" + install -Dm755 ./bundles/${version}/dynbinary/dockerinit-${version} $out/bin/dockerinit + wrapProgram $out/bin/docker --prefix PATH : "${iproute}/sbin:sbin:${lxc}/bin:${iptables}/sbin" # systemd install -Dm644 ./contrib/init/systemd/docker.service $out/etc/systemd/system/docker.service From 08c7105503b5c5a3e636d9b55577e619e6706db9 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 7 Apr 2014 16:34:29 -0400 Subject: [PATCH 267/880] haskell-scotty: fix build with new conduit --- .../libraries/haskell/scotty/default.nix | 5 +++-- .../libraries/haskell/scotty/new-conduit.patch | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/haskell/scotty/new-conduit.patch diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix index 278a26d1536..42f4068f9a9 100644 --- a/pkgs/development/libraries/haskell/scotty/default.nix +++ b/pkgs/development/libraries/haskell/scotty/default.nix @@ -1,15 +1,16 @@ { cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault , httpTypes, mtl, regexCompat, text, transformers, wai, waiExtra -, warp +, warp, conduitExtra }: cabal.mkDerivation (self: { pname = "scotty"; version = "0.7.1"; sha256 = "07aj74jq0hh86ik4x5p5q65b47q44rrnd6mkp039wj9l6dmyrv3c"; + patches = [ ./new-conduit.patch ]; buildDepends = [ aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes - mtl regexCompat text transformers wai waiExtra warp + mtl regexCompat text transformers wai waiExtra warp conduitExtra ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/scotty/new-conduit.patch b/pkgs/development/libraries/haskell/scotty/new-conduit.patch new file mode 100644 index 00000000000..74c6ebdc161 --- /dev/null +++ b/pkgs/development/libraries/haskell/scotty/new-conduit.patch @@ -0,0 +1,13 @@ +diff -Naur scotty-0.7.1-orig/scotty.cabal scotty-0.7.1/scotty.cabal +--- scotty-0.7.1-orig/scotty.cabal 2014-03-19 17:27:33.000000000 -0400 ++++ scotty-0.7.1/scotty.cabal 2014-04-07 10:59:39.933144140 -0400 +@@ -82,7 +82,8 @@ + transformers >= 0.3.0.0 && < 0.4, + wai >= 2.0.0 && < 2.2, + wai-extra >= 2.0.1 && < 2.2, +- warp >= 2.1.1 && < 2.2 ++ warp >= 2.1.1 && < 2.2, ++ conduit-extra + + GHC-options: -Wall -fno-warn-orphans + From c7899ae8ea52de237bde56fda71372991de78bf0 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 7 Apr 2014 16:35:26 -0400 Subject: [PATCH 268/880] haskell-libjenkins: fix build with new conduit --- pkgs/development/libraries/haskell/libjenkins/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/libjenkins/default.nix b/pkgs/development/libraries/haskell/libjenkins/default.nix index 722e280c6e5..67f0b698d47 100644 --- a/pkgs/development/libraries/haskell/libjenkins/default.nix +++ b/pkgs/development/libraries/haskell/libjenkins/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { pname = "libjenkins"; version = "0.4.2.0"; sha256 = "11013klk2gvcaf2d2gmi0bf3jg2m82li19szqlwb325kdjmdf546"; + patches = [ ./new-conduit.patch ]; buildDepends = [ async conduit free httpClient httpConduit httpTypes lens monadControl network text transformers xmlConduit @@ -17,6 +18,7 @@ cabal.mkDerivation (self: { transformers xmlConduit ]; doCheck = false; + jailbreak = true; meta = { description = "Jenkins API interface"; license = self.stdenv.lib.licenses.bsd3; From cea0460d41cd0719b0d82577f8fd6637415ff4ad Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Mon, 7 Apr 2014 16:37:02 -0400 Subject: [PATCH 269/880] Missed file --- .../haskell/libjenkins/new-conduit.patch | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 pkgs/development/libraries/haskell/libjenkins/new-conduit.patch diff --git a/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch b/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch new file mode 100644 index 00000000000..fda68fde5f9 --- /dev/null +++ b/pkgs/development/libraries/haskell/libjenkins/new-conduit.patch @@ -0,0 +1,23 @@ +diff -Naur libjenkins-0.4.2.0-orig/libjenkins.cabal libjenkins-0.4.2.0/libjenkins.cabal +--- libjenkins-0.4.2.0-orig/libjenkins.cabal 2014-02-17 13:11:22.000000000 -0500 ++++ libjenkins-0.4.2.0/libjenkins.cabal 2014-04-07 11:40:30.046473593 -0400 +@@ -52,6 +52,7 @@ + , text >= 0.11 + , transformers >= 0.3 + , xml-conduit >= 1.1 ++ , resourcet + + test-suite doctest + default-language: Haskell2010 +diff -Naur libjenkins-0.4.2.0-orig/src/Jenkins/Rest/Internal.hs libjenkins-0.4.2.0/src/Jenkins/Rest/Internal.hs +--- libjenkins-0.4.2.0-orig/src/Jenkins/Rest/Internal.hs 2014-02-17 13:11:22.000000000 -0500 ++++ libjenkins-0.4.2.0/src/Jenkins/Rest/Internal.hs 2014-04-07 11:40:02.221415450 -0400 +@@ -22,7 +22,7 @@ + import Control.Monad.Trans.Reader (ReaderT, runReaderT, ask, local) + import Control.Monad.Trans.Maybe (MaybeT(..), mapMaybeT) + import Data.ByteString.Lazy (ByteString) +-import Data.Conduit (ResourceT) ++import Control.Monad.Trans.Resource (ResourceT) + import Data.Data (Data, Typeable) + import Data.Text (Text) + import qualified Data.Text.Encoding as Text From ff836a6f15dbd4e53d44f436eb25aab87287127e Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Tue, 8 Apr 2014 00:18:46 +0200 Subject: [PATCH 270/880] pythonPackages: ipdb, use ipythonLight by default --- pkgs/top-level/python-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5a4be8d1704..f5af0f6c65b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3370,7 +3370,7 @@ rec { url = "http://pypi.python.org/packages/source/i/ipdb/ipdb-0.7.tar.gz"; md5 = "d879f9b2b0f26e0e999809585dcaec61"; }; - propagatedBuildInputs = [ pythonPackages.ipython ]; + propagatedBuildInputs = [ pythonPackages.ipythonLight ]; }; ipdbplugin = buildPythonPackage { @@ -3379,7 +3379,7 @@ rec { url = "https://pypi.python.org/packages/source/i/ipdbplugin/ipdbplugin-1.4.tar.gz"; md5 = "f9a41512e5d901ea0fa199c3f648bba7"; }; - propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipython ]; + propagatedBuildInputs = [ pythonPackages.nose pythonPackages.ipythonLight ]; }; From 593c633aa8fb12cc23cdfe1a750ef9976601a81b Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sun, 6 Apr 2014 20:51:32 +0200 Subject: [PATCH 271/880] emacs-idris-mode: upgrade to support idris 0.9.12 --- pkgs/applications/editors/emacs-modes/idris/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/emacs-modes/idris/default.nix b/pkgs/applications/editors/emacs-modes/idris/default.nix index 289c8868876..8671a926f67 100644 --- a/pkgs/applications/editors/emacs-modes/idris/default.nix +++ b/pkgs/applications/editors/emacs-modes/idris/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchgit, emacs }: stdenv.mkDerivation rec { - name = "idris-mode-20140223"; + name = "idris-mode-20140405"; src = fetchgit { url = https://github.com/idris-hackers/idris-mode.git; - rev = "486470533e74c55192e92a1afa050475915ee1e7"; - sha256 = "ff2e6bd8fbf421e8f2db0789d2ff56c5103775b911b99bab64e4652d332bad43"; + rev = "2e2d18fb757da4b42940ebe2a57d7a117175489f"; + sha256 = "d4b52c6c43c038c94a7464cd9c849cd40c01696c440da8b057c00a9be22f9ac0"; }; buildInputs = [ emacs ]; From a4ebaa61e426b3a9c2625be37cfb4828a64a30d6 Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Tue, 8 Apr 2014 09:27:09 +0200 Subject: [PATCH 272/880] Update dd-agent to 4.2.0 --- pkgs/tools/networking/dd-agent/default.nix | 11 ++++++----- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix index d9fa49320a5..1e0f26cc92c 100644 --- a/pkgs/tools/networking/dd-agent/default.nix +++ b/pkgs/tools/networking/dd-agent/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, python, sysstat, unzip }: +{ stdenv, fetchurl, python, sysstat, unzip, tornado, makeWrapper }: stdenv.mkDerivation rec { - version = "4.0.1"; + version = "4.2.0"; name = "dd-agent-${version}"; src = fetchurl { url = "https://github.com/DataDog/dd-agent/archive/${version}.zip"; - sha256 = "0gybdbjkj7qwnzic03xkypagb30zhm22gp3nkwrdhi8fdmwz3nm1"; + sha256 = "0lp3h3flb50i64kgkj9kyyf3p1xm0nipxi22w5pmhb71l678d216"; }; - buildInputs = [ python unzip ]; - propagatedBuildInputs = [ python ]; + buildInputs = [ python unzip makeWrapper ]; + propagatedBuildInputs = [ python tornado ]; postUnpack = "export sourceRoot=$sourceRoot/packaging"; @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { postInstall = '' mv $out/usr/* $out rmdir $out/usr + wrapProgram $out/bin/dd-forwarder --prefix PYTHONPATH : $PYTHONPATH ''; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 046eead410c..ed5a3d3ab73 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7835,7 +7835,7 @@ let inherit (gnome) GConf libglade; }; - "dd-agent" = callPackage ../tools/networking/dd-agent { }; + "dd-agent" = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; }; dia = callPackage ../applications/graphics/dia { inherit (pkgs.gnome) libart_lgpl libgnomeui; From 694cc6172a4c717d03ec80c2081c2a3f329484d5 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 8 Apr 2014 09:42:05 +0200 Subject: [PATCH 273/880] Enable the firewall by default Fixes #2135. --- nixos/doc/manual/release-notes.xml | 18 ++++++++++++++---- nixos/modules/services/networking/firewall.nix | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/nixos/doc/manual/release-notes.xml b/nixos/doc/manual/release-notes.xml index 8899cbb2149..68feb80e090 100644 --- a/nixos/doc/manual/release-notes.xml +++ b/nixos/doc/manual/release-notes.xml @@ -21,10 +21,6 @@ enhancements are the following: NixOS is now based on Glibc 2.18 and GCC 4.8. - The mysql55 service has been merged into the - mysql service, which no longer sets a default for the 'package - option. - @@ -34,10 +30,24 @@ following incompatible changes: + The firewall is now enabled by default. If you don’t + want this, you need to disable it explicitly: + + +networking.firewall.enable = false; + + + + The option has been renamed to . + The mysql55 service has been + merged into the mysql service, which no longer + sets a default for the option + . + diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index 07e05fa6d05..62d92ba50e1 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -54,7 +54,7 @@ in networking.firewall.enable = mkOption { type = types.bool; - default = false; + default = true; description = '' Whether to enable the firewall. This is a simple stateful From 3a9a8b58adaf4755cbbe80a4a485e238216e14bd Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Tue, 8 Apr 2014 11:35:18 +0100 Subject: [PATCH 274/880] haskellPackages.httpClientMultipart: Do not build haddocks This package now has no modules, so there is no documentation to build. The library itself is deprecated, and should probably be removed from nixpkgs soon. --- .../libraries/haskell/http-client-multipart/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/haskell/http-client-multipart/default.nix b/pkgs/development/libraries/haskell/http-client-multipart/default.nix index 3cf09f583a7..4413bf54d70 100644 --- a/pkgs/development/libraries/haskell/http-client-multipart/default.nix +++ b/pkgs/development/libraries/haskell/http-client-multipart/default.nix @@ -11,4 +11,6 @@ cabal.mkDerivation (self: { license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; + # This library now contains now modules as it is deprecated. + noHaddock = true; }) From 604306c34a43d536ce7c51abcad1a73aa41ec2a1 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Tue, 8 Apr 2014 12:33:30 +0200 Subject: [PATCH 275/880] Don't add users if createUser is false --- nixos/modules/config/users-groups.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index c5d44223ecf..061f51ccda7 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -7,7 +7,7 @@ let ids = config.ids; cfg = config.users; - nonUidUsers = filterAttrs (n: u: u.uid == null) cfg.extraUsers; + nonUidUsers = filterAttrs (n: u: u.createUser && u.uid == null) cfg.extraUsers; nonGidGroups = filterAttrs (n: g: g.gid == null) cfg.extraGroups; passwordDescription = '' From 1e7c38920d2cc5c3cfcc3b1c66564bece73188d9 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Tue, 8 Apr 2014 11:44:41 +0100 Subject: [PATCH 276/880] Remove haskellPackages.aesonLens This doesn't build, has no reverse dependencies, and the lens library itself now provides this functionality. --- .../libraries/haskell/aeson-lens/default.nix | 15 --------------- pkgs/top-level/haskell-packages.nix | 2 -- 2 files changed, 17 deletions(-) delete mode 100644 pkgs/development/libraries/haskell/aeson-lens/default.nix diff --git a/pkgs/development/libraries/haskell/aeson-lens/default.nix b/pkgs/development/libraries/haskell/aeson-lens/default.nix deleted file mode 100644 index f2d1915e122..00000000000 --- a/pkgs/development/libraries/haskell/aeson-lens/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ cabal, aeson, doctest, lens, text, unorderedContainers, vector }: - -cabal.mkDerivation (self: { - pname = "aeson-lens"; - version = "0.5.0.0"; - sha256 = "1pr8cxkx41wi7095cp1gpqrwadwx6azcrdi1kr1ik0fs6606dkks"; - buildDepends = [ aeson lens text unorderedContainers vector ]; - testDepends = [ doctest ]; - meta = { - description = "Lens of Aeson"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.ocharles ]; - }; -}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index ca689949b39..89a51db5f9b 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -532,8 +532,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x blazeBuilder = if (pkgs.stdenv.lib.versionOlder ghc.version "7.6") then self.blazeBuilder else null; }; - aesonLens = callPackage ../development/libraries/haskell/aeson-lens {}; - aesonPretty = callPackage ../development/libraries/haskell/aeson-pretty {}; alternativeIo = callPackage ../development/libraries/haskell/alternative-io {}; From d9332659d2ef276c40487c7b5c1609d0543d69d8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 12:48:00 +0200 Subject: [PATCH 277/880] haskell-Elm: require a recent version of binary --- pkgs/top-level/haskell-packages.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index ca689949b39..e49ddbfc1d5 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1035,7 +1035,13 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x elerea = callPackage ../development/libraries/haskell/elerea {}; - Elm = callPackage ../development/compilers/elm/elm.nix {}; + Elm = callPackage ../development/compilers/elm/elm.nix { + binary = self.binary_0_7_1_0; + pandoc = self.pandoc.override { + binary = self.binary_0_7_1_0; + zipArchive = self.zipArchive.override { binary = self.binary_0_7_1_0; }; + }; + }; elmServer = callPackage ../development/compilers/elm/elm-server.nix {}; From 1b1225fb0b0a1672d7ae72b4b09cbfd98fa7459b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 11:52:54 +0200 Subject: [PATCH 278/880] flymake-cursor: remove redundant 'meta.platforms = stdenv.lib.platforms.all' setting --- .../applications/editors/emacs-modes/flymake-cursor/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix index 4b2692a5e22..b47ea0fd866 100644 --- a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix +++ b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix @@ -26,7 +26,5 @@ stdenv.mkDerivation rec { description = "Displays flymake error msg in minibuffer after delay"; homepage = http://www.emacswiki.org/emacs/flymake-cursor.el; license = stdenv.lib.licenses.publicDomain; - - platforms = stdenv.lib.platforms.all; }; } From 79f19f687cf5b1406325fa34ad0d8fa0e4b3803e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 11:52:11 +0200 Subject: [PATCH 279/880] flymake-cursor: the sha256 hash of the file has changed No change was documented on the emacs wiki. Not sure what happened. :-( --- .../applications/editors/emacs-modes/flymake-cursor/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix index b47ea0fd866..eae338d241d 100644 --- a/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix +++ b/pkgs/applications/editors/emacs-modes/flymake-cursor/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://www.emacswiki.org/emacs/download/flymake-cursor.el"; - sha256 = "1qqppd1786w8pl1avjb01n23lwihb7m0hr23abjklsxz03gmp4qz"; + sha256 = "10cpzrd588ya52blghxss5zkn6x8hc7bx1h0qbcdlybbmkjgpkxr"; }; phases = [ "buildPhase" "installPhase"]; From 7f90e454fb33fce76c721945f8636517c3443ea5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 11:51:28 +0200 Subject: [PATCH 280/880] ikiwiki: update to version 3.20140227 --- pkgs/applications/misc/ikiwiki/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index c0dce81c803..b347f971ee0 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null); let name = "ikiwiki"; - version = "3.20140125"; + version = "3.20140227"; lib = stdenv.lib; in @@ -32,7 +32,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz"; - sha256 = "06r95xhm8pnvswgmkf3j7h4n6b1nmk0v0znmnzblkdx7xh12m0hd"; + sha256 = "1bbpqs4c1la1yqcxcxj3xip3wadjnjq0wawv19j6d6baymm66cr3"; }; buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate From d9c8db4a20a86d66ab35f5a7f1a11db54973173b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:17:40 +0200 Subject: [PATCH 281/880] Elm: fix build by ignoring the build instructions provided by upstream According to , Elm's release archive comes with a Setup.hs that cannot compile an Elm release. Duh! Replacing the custom Setup.hs file with a dummy version fixes this issue. Close . --- pkgs/development/compilers/elm/elm.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/development/compilers/elm/elm.nix b/pkgs/development/compilers/elm/elm.nix index 5a9ba8f6379..bc9f73b2849 100644 --- a/pkgs/development/compilers/elm/elm.nix +++ b/pkgs/development/compilers/elm/elm.nix @@ -23,6 +23,10 @@ cabal.mkDerivation (self: { transformers unionFind unorderedContainers ]; doCheck = false; + preConfigure = '' + rm -f Setup.hs + echo -e "import Distribution.Simple\nmain=defaultMain\n" > Setup.hs + ''; meta = { homepage = "http://elm-lang.org"; description = "The Elm language module"; From ccd104940c8b03dc48b665985d633b30ccb85cca Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 06:22:44 -0500 Subject: [PATCH 282/880] spiped: add patch to fix linux build The build fails with permission denied on /dev/stderr, which I imagine is due to the fact it's in a chroot build. So disable all that for now. Signed-off-by: Austin Seipp --- pkgs/tools/networking/spiped/default.nix | 2 ++ .../networking/spiped/no-dev-stderr.patch | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/tools/networking/spiped/no-dev-stderr.patch diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix index 1dd8804fb3d..7f17c981b93 100644 --- a/pkgs/tools/networking/spiped/default.nix +++ b/pkgs/tools/networking/spiped/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation rec { }; buildInputs = [ openssl ]; + patches = [ ./no-dev-stderr.patch ]; + installPhase = '' mkdir -p $out/bin $out/share/man/man1 make install BINDIR=$out/bin MAN1DIR=$out/share/man/man1 diff --git a/pkgs/tools/networking/spiped/no-dev-stderr.patch b/pkgs/tools/networking/spiped/no-dev-stderr.patch new file mode 100644 index 00000000000..742a2e483d4 --- /dev/null +++ b/pkgs/tools/networking/spiped/no-dev-stderr.patch @@ -0,0 +1,26 @@ +From 7a2bbb0d0098d7a33ad3794d0199879ad50e755a Mon Sep 17 00:00:00 2001 +From: Austin Seipp +Date: Tue, 8 Apr 2014 06:21:41 -0500 +Subject: [PATCH] Remove use of /dev/stderr + +Signed-off-by: Austin Seipp +--- + POSIX/posix-l.sh | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/POSIX/posix-l.sh b/POSIX/posix-l.sh +index b3f0e31..71d6fe8 100755 +--- a/POSIX/posix-l.sh ++++ b/POSIX/posix-l.sh +@@ -7,8 +7,6 @@ for LIB in rt xnet; do + fi + printf "%s" "-l${LIB}"; + FIRST=NO; +- else +- echo "WARNING: POSIX violation: make's CC doesn't understand -l${LIB}" >/dev/stderr + fi + rm -f a.out + done +-- +1.8.3.2 + From bab9a16e50918166e518af60b505f9608f0a7719 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:49:37 +0200 Subject: [PATCH 283/880] perlPackages.version: update from 0.9902 to 0.9908 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6ac7f76e3c5..1edd5dd6c05 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9321,10 +9321,10 @@ let self = _self // overrides; _self = with self; { }; version = buildPerlPackage rec { - name = "version-0.9902"; + name = "version-0.9908"; src = fetchurl { - url = "mirror://cpan/modules/by-module/version/${name}.tar.gz"; - sha256 = "17fdj3hxks33plapj3hinjgmyblnh302z52rq4b9spnz22q5vhww"; + url = "mirror://cpan/authors/id/J/JP/JPEACOCK/${name}.tar.gz"; + sha256 = "0nq84i1isk01ikwjxxynqyzz4g4g6hcbjq8l426n0hr42znlfmn4"; }; }; From 4594bd017b9a9afad3194ccbf9cdaeac6ae342a6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:49:42 +0200 Subject: [PATCH 284/880] perlPackages.DataSerializer: update from 0.59 to 0.60 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1edd5dd6c05..ae0520a29b0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1910,10 +1910,10 @@ let self = _self // overrides; _self = with self; { }; DataSerializer = buildPerlPackage { - name = "Data-Serializer-0.59"; + name = "Data-Serializer-0.60"; src = fetchurl { - url = mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.59.tar.gz; - sha256 = "1mydpbacrkirafcjxcg1c0gnls1kxiv0qvdd4q2yd6vsyay0ayqr"; + url = mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.60.tar.gz; + sha256 = "0ca4s811l7f2bqkx7vnyxbpp4f0qska89g2pvsfb3k0bhhbk0jdk"; }; meta = { description = "Modules that serialize data structures"; From f9e3f4f4af4cef32373d87b7f76f0fc719374e39 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:49:47 +0200 Subject: [PATCH 285/880] perlPackages.DataVisitor: update from 0.28 to 0.30 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ae0520a29b0..c1e29964fea 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1971,10 +1971,10 @@ let self = _self // overrides; _self = with self; { }; DataVisitor = buildPerlPackage rec { - name = "Data-Visitor-0.28"; + name = "Data-Visitor-0.30"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz"; - sha256 = "1998syyprmqnhpgznmk7ia3zd8saw34q7pbaprxarcz7a3bncyjc"; + url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; + sha256 = "0m7d1505af9z2hj5aw020grcmjjlvnkjpvjam457d7k5qfy4m8lf"; }; buildInputs = [ TestRequires ]; propagatedBuildInputs = From ebb5c742d71a8837092dd0b0ab7849bab4cbf264 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:02 +0200 Subject: [PATCH 286/880] perlPackages.DateManip: update from 6.42 to 6.43 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c1e29964fea..b67c441c971 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1995,10 +1995,10 @@ let self = _self // overrides; _self = with self; { }; DateManip = buildPerlPackage { - name = "Date-Manip-6.42"; + name = "Date-Manip-6.43"; src = fetchurl { - url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.42.tar.gz; - sha256 = "18zkdvam3qddv810hgzszk2zxra14whl0fs03ba79babqhbpbzna"; + url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.43.tar.gz; + sha256 = "0jwg87j31gw2fn8csm1zyfqxd0dxh8sbv940ma9idg6g7856zfrz"; }; propagatedBuildInputs = [ TestInter ]; meta = { From de72951544f6fba2ad66ea815de246e9bc97eefe Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:07 +0200 Subject: [PATCH 287/880] perlPackages.DateTime: update from 1.07 to 1.08 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b67c441c971..848fcace420 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2018,10 +2018,10 @@ let self = _self // overrides; _self = with self; { }; DateTime = buildPerlModule { - name = "DateTime-1.07"; + name = "DateTime-1.08"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.07.tar.gz; - sha256 = "1cm4zsgzz4phigak0nb48l661vkqhz93kfbb9jd83d1hq74myq31"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.08.tar.gz; + sha256 = "0ijhb1mqrfp1pbj4r3wkpp0hdj3zg355skxdn6dsiv439fp65asf"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ParamsValidate TryTiny ]; From 55ca4f013513dfb234a69b0e663107d6a4b60ca2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:11 +0200 Subject: [PATCH 288/880] perlPackages.DateTimeSet: update from 0.31 to 0.3400 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 848fcace420..215f334d18f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2177,10 +2177,10 @@ let self = _self // overrides; _self = with self; { }; DateTimeSet = buildPerlPackage { - name = "DateTime-Set-0.31"; + name = "DateTime-Set-0.3400"; src = fetchurl { - url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.31.tar.gz; - sha256 = "499b59e42a1129bf10fd269eb7542d337a29fbbcbf08ef8313fd465d3ae5df02"; + url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.3400.tar.gz; + sha256 = "1b27699zkj68w5ll9chjhs52vmf39f9via6x5r5844as30qh9zxb"; }; propagatedBuildInputs = [ DateTime SetInfinite ]; meta = { From 5aeb9b3c61f90db1b1bf9b7644a3c93fb088815e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:15 +0200 Subject: [PATCH 289/880] perlPackages.DebugShowStuff: update from 1.14 to 1.16 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 215f334d18f..e73a44015ab 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2218,10 +2218,10 @@ let self = _self // overrides; _self = with self; { }; DebugShowStuff = buildPerlPackage { - name = "Debug-ShowStuff-1.14"; + name = "Debug-ShowStuff-1.16"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.14.tar.gz; - sha256 = "023c6f7y93k9qxxfa2fsvc5jkbv3rh6i3nw6zvxa5cg57xfypd7h"; + url = mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz; + sha256 = "1drcrnji3yrd0s3xb69bxnqa51s19c13w68vhvjad3nvswn5vpd4"; }; propagatedBuildInputs = [ ClassISA DevelStackTrace StringUtil TermReadKey TextTabularDisplay TieIxHash ]; meta = { From 1531d1751281f9eafcbac967e88cb00e5f08e376 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:20 +0200 Subject: [PATCH 290/880] perlPackages.DevelChecklib: update from 0.98 to 1.01 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e73a44015ab..941f358539e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2244,10 +2244,10 @@ let self = _self // overrides; _self = with self; { }; DevelChecklib = buildPerlPackage rec { - name = "Devel-CheckLib-0.98"; + name = "Devel-CheckLib-1.01"; src = fetchurl { url = "mirror://cpan/authors/id/M/MA/MATTN/${name}.tar.gz"; - sha256 = "2b6b62665403bcdce67b53eb3bee7b57b6576026640c01aa57c7126e32ce20da"; + sha256 = "14q9mibxdgqkia73426q6xw6km5bf1hhkgg2nf7x4zhnlksahbwr"; }; propagatedBuildInputs = [ IOCaptureOutput ]; }; From 697b169bd4c4fff9f33147cef46d8ac85704bbf6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:23 +0200 Subject: [PATCH 291/880] perlPackages.DevelGlobalDestruction: update from 0.09 to 0.12 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 941f358539e..2232dc5ea82 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2465,10 +2465,10 @@ let self = _self // overrides; _self = with self; { }; DevelGlobalDestruction = buildPerlPackage { - name = "Devel-GlobalDestruction-0.09"; + name = "Devel-GlobalDestruction-0.12"; src = fetchurl { - url = mirror://cpan/authors/id/R/RI/RIBASUSHI/Devel-GlobalDestruction-0.09.tar.gz; - sha256 = "1hvrv88167rc2chqgxpd6q0ir5fki1q6r3w11v3lxfs118fdi65m"; + url = mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.12.tar.gz; + sha256 = "0w4a4y9w4yldxlhks95nx8qaivpbzc40b1p8xg3y8467ixkbg9cq"; }; propagatedBuildInputs = [ SubExporterProgressive ]; meta = { From 22e43904c393f368d225415bf109d1871f210d32 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:29 +0200 Subject: [PATCH 292/880] perlPackages.DevelHide: update from 0.0008 to 0.0009 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2232dc5ea82..a3936f9e7ad 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2478,10 +2478,10 @@ let self = _self // overrides; _self = with self; { }; DevelHide = buildPerlPackage rec { - name = "Devel-Hide-0.0008"; + name = "Devel-Hide-0.0009"; src = fetchurl { url = "mirror://cpan/authors/id/F/FE/FERREIRA/${name}.tar.gz"; - sha256 = "14hwwirpc9cnwn50rshb8hb778mia4ni75jv2dih8l9i033m4i26"; + sha256 = "1phnzbw58v6551nhv6sg86m72nx9w5j4msh1hg4jvkakkq5w9pki"; }; }; From a0a50476c01798d34cffa8096fbb9d04188619b0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:33 +0200 Subject: [PATCH 293/880] perlPackages.DevelStackTrace: update from 1.30 to 1.31 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a3936f9e7ad..cc2cb302cbe 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2499,10 +2499,10 @@ let self = _self // overrides; _self = with self; { }; DevelStackTrace = buildPerlPackage { - name = "Devel-StackTrace-1.30"; + name = "Devel-StackTrace-1.31"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.30.tar.gz; - sha256 = "1m13wzg4pmbc0f1w2rn9ybqwkqg66zw9zv34ayk7gr3349v7kbzl"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-1.31.tar.gz; + sha256 = "0djvqfbq9ag1bpw0bcksidfy13n91xbl53py3d7w0y2323hjc957"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; From b053b81d4ce934e8060b37ef614ab92f950c24b7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:37 +0200 Subject: [PATCH 294/880] perlPackages.DevelStackTraceAsHTML: update from 0.11 to 0.14 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cc2cb302cbe..bcc5891a478 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2512,10 +2512,10 @@ let self = _self // overrides; _self = with self; { }; DevelStackTraceAsHTML = buildPerlPackage { - name = "Devel-StackTrace-AsHTML-0.11"; + name = "Devel-StackTrace-AsHTML-0.14"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.11.tar.gz; - sha256 = "0y0r42gszp3bxbs9j2nn3xgs8ij1cnadrywwwdc6r0y8m0siyapg"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.14.tar.gz; + sha256 = "0yl296y0qfwybwjgqjzd4j2w2bj5a2nz342qqgxchnf5bqynl1c9"; }; propagatedBuildInputs = [ DevelStackTrace ]; meta = { From b8b23dd8439d578d06484e79b23224db2677c98d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:40 +0200 Subject: [PATCH 295/880] perlPackages.DigestMD4: update from 1.5 to 1.9 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bcc5891a478..01450b86245 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2570,10 +2570,10 @@ let self = _self // overrides; _self = with self; { }; DigestMD4 = buildPerlPackage rec { - name = "Digest-MD4-1.5"; + name = "Digest-MD4-1.9"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/${name}.tar.gz"; - sha256 = "c7d7a32f5c2710c929b5688a7b057ec8ddbc51cf278f623e771fc02dcabd6a1f"; + sha256 = "19ma1hmvgiznq95ngzvm6v4dfxc9zmi69k8iyfcg6w14lfxi0lb6"; }; }; From adbe515602b9c863d21235296c693ea0601c3460 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:44 +0200 Subject: [PATCH 296/880] perlPackages.DistZilla: update from 4.300036 to 4.300039 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 01450b86245..50923cd19bf 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2621,10 +2621,10 @@ let self = _self // overrides; _self = with self; { }; DistZilla = buildPerlPackage { - name = "Dist-Zilla-4.300036"; + name = "Dist-Zilla-4.300039"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-4.300036.tar.gz; - sha256 = "d78c1425d51571d9bc61ed3b20c5aaec1eb59e756ceda3ac40ed727e6c93bf21"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-4.300039.tar.gz; + sha256 = "10cighwsqp53kbk2gwlnl9m18sbs7ijr2v37vwca9qxbscy2yr21"; }; buildInputs = [ FileShareDirInstall SoftwareLicense TestFatal TestFileShareDir TestScript ]; propagatedBuildInputs = [ AppCmd CPANUploader ClassLoad ConfigINI ConfigMVP ConfigMVPReaderINI DataSection DateTime FileCopyRecursive FileFindRule FileHomeDir FileShareDir FileShareDirInstall Filepushd HashMergeSimple JSON ListAllUtils ListMoreUtils LogDispatchouli Moose MooseAutobox MooseXLazyRequire MooseXRoleParameterized MooseXSetOnce MooseXTypes MooseXTypesPathClass MooseXTypesPerl PPI ParamsUtil PathClass PerlPrereqScanner PerlVersion PodEventual SoftwareLicense StringFormatter StringRewritePrefix SubExporter SubExporterForMethods TermReadKey TestDeep TextGlob TextTemplate TryTiny YAMLTiny autobox namespaceautoclean CPANMetaRequirements ]; From c07739c247b794e85d9db0f65c091e211f9cad0d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:48 +0200 Subject: [PATCH 297/880] perlPackages.DistZillaPluginBundleTestingMania: update from 0.20 to 0.21 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 50923cd19bf..373c193b678 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2637,10 +2637,10 @@ let self = _self // overrides; _self = with self; { }; DistZillaPluginBundleTestingMania = buildPerlPackage { - name = "Dist-Zilla-PluginBundle-TestingMania-0.20"; + name = "Dist-Zilla-PluginBundle-TestingMania-0.21"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.20.tar.gz; - sha256 = "073e17a98b0f88a1b60ce45a325d7447a19db394fcc6f01472bacb1956106da8"; + url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.21.tar.gz; + sha256 = "1cbq7v799bf93iqp19v1ln6bcf6gvmc0qw3gf4bq445wsm7w62wy"; }; buildInputs = [ CaptureTiny DistZilla MooseAutobox perl ]; propagatedBuildInputs = [ DistZilla DistZillaPluginMojibakeTests DistZillaPluginNoTabsTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion JSONPP ListMoreUtils Moose PodCoverageTrustPod TestCPANMeta TestPerlCritic TestVersion namespaceautoclean ]; From 531c1e65c523b5c855a1178b53241f03a6baea52 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:51 +0200 Subject: [PATCH 298/880] perlPackages.DistZillaPluginPodWeaver: update from 3.101642 to 3.102000 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 373c193b678..03e2fb7b421 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2693,10 +2693,10 @@ let self = _self // overrides; _self = with self; { }; DistZillaPluginPodWeaver = buildPerlPackage { - name = "Dist-Zilla-Plugin-PodWeaver-3.101642"; + name = "Dist-Zilla-Plugin-PodWeaver-3.102000"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-3.101642.tar.gz; - sha256 = "66066a236be7bd0a3e0ae764a4b9ac10408d40693a1c800c5fdd7e03c3542e00"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-3.102000.tar.gz; + sha256 = "0xayy50fgfc7wlsnygz28ka2ax9pmr0rn845i8d6p40amrkzzlml"; }; buildInputs = [ FileFindRule ]; propagatedBuildInputs = [ DistZilla ListMoreUtils Moose PPI PodElementalPerlMunger PodWeaver namespaceautoclean ]; From c8e83e488284e3770f7e0b16a62d326e78a8c05d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:55 +0200 Subject: [PATCH 299/880] perlPackages.DistZillaPluginTestEOL: update from 0.07 to 0.10 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 03e2fb7b421..d615f3d5d6c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2798,10 +2798,10 @@ let self = _self // overrides; _self = with self; { }; DistZillaPluginTestEOL = buildPerlPackage { - name = "Dist-Zilla-Plugin-Test-EOL-0.07"; + name = "Dist-Zilla-Plugin-Test-EOL-0.10"; src = fetchurl { - url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-EOL-0.07.tar.gz; - sha256 = "c010ef618478e82fbc601abfc241c74fed1fdafe954d8b3ebcb7abe0e09967a8"; + url = mirror://cpan/authors/id/X/XE/XENO/Dist-Zilla-Plugin-Test-EOL-0.10.tar.gz; + sha256 = "1sl7zvjzpwf7wl188a3j13k1qcb63hawx82iy6r3dx2gns8nc0nw"; }; buildInputs = [ DistZilla TestScript ]; propagatedBuildInputs = [ DistZilla Moose TestEOL namespaceautoclean ]; From 293a26e46a2b8cdec16ee13197fb279d34eb4c23 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:50:59 +0200 Subject: [PATCH 300/880] perlPackages.EmailAbstract: update from 3.004 to 3.007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d615f3d5d6c..c5cb9188a45 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2932,10 +2932,10 @@ let self = _self // overrides; _self = with self; { }; EmailAbstract = buildPerlPackage { - name = "Email-Abstract-3.004"; + name = "Email-Abstract-3.007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.004.tar.gz; - sha256 = "0fiaagxc2hy5g3qiipv4cspkwbaggdmsxbll1f4jx2qnq5hm668d"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.007.tar.gz; + sha256 = "1a7aynf5jd5lr77x4k51hphnbmxf6p0s2gm1a6fbmxjqlnimm48h"; }; propagatedBuildInputs = [ EmailSimple MROCompat ]; meta = { From e5e0ba713b40b87161c3894355368bd08aff8a30 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:04 +0200 Subject: [PATCH 301/880] perlPackages.EmailAddress: update from 1.897 to 1.901 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c5cb9188a45..6aa2040fc15 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2944,10 +2944,10 @@ let self = _self // overrides; _self = with self; { }; EmailAddress = buildPerlPackage { - name = "Email-Address-1.897"; + name = "Email-Address-1.901"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.897.tar.gz; - sha256 = "17v5jvwhkd5clyihwsldnh4k7vpmaisn064s3mkxlr9dnz7nd10r"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.901.tar.gz; + sha256 = "00svsmv2hk35ybpd7jxcsn7k54i0q9ph5lf8ksv9nkh1abraprkz"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; From 8e5416e01faba60aab90ec67c6a3782dc69528a1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:07 +0200 Subject: [PATCH 302/880] perlPackages.EmailMessageID: update from 1.402 to 1.404 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6aa2040fc15..4ce759f4fc5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2969,10 +2969,10 @@ let self = _self // overrides; _self = with self; { }; EmailMessageID = buildPerlPackage { - name = "Email-MessageID-1.402"; + name = "Email-MessageID-1.404"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.402.tar.gz; - sha256 = "1zzbxdygh992dn9k9jlxjzcmaniy83dqlc8lkas9w9wlhngvwni1"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.404.tar.gz; + sha256 = "0lyq9r3x7cs7cncf0yiazbi7aq4c5d4m3wxwgqdd4r5p9gxdjj4n"; }; propagatedBuildInputs = [ EmailAddress ]; meta = { From 0e01506bf6e3749b0e03a3ca752452e6a8eb8718 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:11 +0200 Subject: [PATCH 303/880] perlPackages.EmailSimple: update from 2.102 to 2.203 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4ce759f4fc5..e44ca43a53d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3048,10 +3048,10 @@ let self = _self // overrides; _self = with self; { }; EmailSimple = buildPerlPackage { - name = "Email-Simple-2.102"; + name = "Email-Simple-2.203"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.102.tar.gz; - sha256 = "19da1a06vnixhqfl41mfjrihvvxjgdgkq9bczp8k9mpr29xlbnq4"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.203.tar.gz; + sha256 = "0hzbp8ay62d6jwrn4q7hqmhkaigf8lc0plz0g46yhwzp3x9xfa55"; }; propagatedBuildInputs = [ EmailDateFormat ]; meta = { From d2187ff378e7e822817ece41e30d4a420a1a8c6e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:16 +0200 Subject: [PATCH 304/880] perlPackages.Error: update from 0.17019 to 0.17022 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e44ca43a53d..a5245d079e3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3133,10 +3133,10 @@ let self = _self // overrides; _self = with self; { }; Error = buildPerlPackage rec { - name = "Error-0.17019"; + name = "Error-0.17022"; src = fetchurl { url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; - sha256 = "0m09jwjs2x8j50bh3cg3m2mbxa7qh9i2krgq7z8h1pgl5dscyg2i"; + sha256 = "1vzpz6syb82ir8svp2wjh95x6lpf01lgkxn2xy60ixrszc24zdya"; }; }; From 9c90b4faf66ae98beadf1bd33de46e85a514fb42 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:19 +0200 Subject: [PATCH 305/880] perlPackages.EvalClosure: update from 0.08 to 0.11 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a5245d079e3..0123f31d66a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3141,10 +3141,10 @@ let self = _self // overrides; _self = with self; { }; EvalClosure = buildPerlPackage { - name = "Eval-Closure-0.08"; + name = "Eval-Closure-0.11"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.08.tar.gz; - sha256 = "01x449ljj8mhr3jgfvnhzn0zz3xc81krslxiq29srqccsqjf933k"; + url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.11.tar.gz; + sha256 = "1b3rc9smdyyi0janckfiyg1kwph893sqwx7dr5n4mky0x8x3v4m1"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ SubExporter TryTiny ]; From b602b53964075610e71d31f8e1c4593395725f57 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:26 +0200 Subject: [PATCH 306/880] perlPackages.ExceptionBase: update from 0.25 to 0.2401 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0123f31d66a..10291edea09 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3156,10 +3156,10 @@ let self = _self // overrides; _self = with self; { }; ExceptionBase = buildPerlPackage { - name = "Exception-Base-0.25"; + name = "Exception-Base-0.2401"; src = fetchurl { - url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.25.tar.gz; - sha256 = "1s2is862xba2yy633wn2nklrya36yrlwxlbpqjrv8m31xj2c8khw"; + url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2401.tar.gz; + sha256 = "0z4pckv3iwzz5s4xrv96kg9620s96kim57nfrxbqhh6pyd5jfazv"; }; buildInputs = [ TestUnitLite ]; meta = { From 055cf38d5814a7b46225bb631b9735cab2510963 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:29 +0200 Subject: [PATCH 307/880] perlPackages.ExporterLite: update from 0.02 to 0.04 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 10291edea09..c297d6c983f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3223,10 +3223,10 @@ let self = _self // overrides; _self = with self; { }; ExporterLite = buildPerlPackage { - name = "Exporter-Lite-0.02"; + name = "Exporter-Lite-0.04"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSCHWERN/Exporter-Lite-0.02.tar.gz; - sha256 = "20c1e9b7ddc017b788feb34c032fc585e2c5b46a484e93f519373fd18830ce0e"; + url = mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.04.tar.gz; + sha256 = "01g6a2ixgdi825v0l4ny3vx4chzsfxirka741x0i057cf6y5ciir"; }; meta = { license = "perl"; From d644332491e496a26563f3eec9c6be04c8636e3e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:36 +0200 Subject: [PATCH 308/880] perlPackages.ExtUtilsCBuilder: update from 0.280212 to 0.280216 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c297d6c983f..f142ac80237 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3234,10 +3234,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsCBuilder = buildPerlPackage rec { - name = "ExtUtils-CBuilder-0.280212"; + name = "ExtUtils-CBuilder-0.280216"; src = fetchurl { - url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz"; - sha256 = "0zc4hkcb8wk7nm0b2b6pb1lpih52blx6x2w6x99bcr0d581807xg"; + url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils/${name}.tar.gz"; + sha256 = "09d5sq9mgcnmjf2yp8rwd0cc1fa8kq7nbwjqxiqdykwmavmgm5ml"; }; buildInputs = [ PerlOSType ]; }; From 05ff444d56e621b91f66eec089869f2917ed71b3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:39 +0200 Subject: [PATCH 309/880] perlPackages.ExtUtilsDepends: update from 0.304 to 0.306 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f142ac80237..76fd2591682 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3264,10 +3264,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsDepends = buildPerlPackage { - name = "ExtUtils-Depends-0.304"; + name = "ExtUtils-Depends-0.306"; src = fetchurl { - url = mirror://cpan/authors/id/F/FL/FLORA/ExtUtils-Depends-0.304.tar.gz; - sha256 = "0fjlkcz1i1j02hhwi1wjgd79qlppjkbasrj44h5ry1f238g6a1q3"; + url = mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.306.tar.gz; + sha256 = "0s935hmxjl6md47i80abcfaghqwhnv0ikzzqln80w4ydhg5qn9a5"; }; meta = { license = "perl"; From ae520cd46549ade371202afc4db482b116d6825b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:43 +0200 Subject: [PATCH 310/880] perlPackages.ExtUtilsHelpers: update from 0.021 to 0.022 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 76fd2591682..20303bd9d79 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3277,10 +3277,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsHelpers = buildPerlPackage { - name = "ExtUtils-Helpers-0.021"; + name = "ExtUtils-Helpers-0.022"; src = fetchurl { - url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.021.tar.gz; - sha256 = "26b85077f4197b30e62ffec87d3f78111522619d62858d2ab45a64687351892a"; + url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.022.tar.gz; + sha256 = "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k"; }; meta = { description = "Various portability utilities for module builders"; From 3a8fbfda11899eaafffb94a24a26375356159c21 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:47 +0200 Subject: [PATCH 311/880] perlPackages.ExtUtilsInstallPaths: update from 0.009 to 0.010 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 20303bd9d79..ed369aabf4a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3289,10 +3289,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsInstallPaths = buildPerlPackage { - name = "ExtUtils-InstallPaths-0.009"; + name = "ExtUtils-InstallPaths-0.010"; src = fetchurl { - url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.009.tar.gz; - sha256 = "1b0827a4acf40d38552c4348767000f7e2d8cf5fd0d19436bf8747d2a72d77bc"; + url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.010.tar.gz; + sha256 = "0mi1px42in7i442jqncg3gmxd5zn7sw5b2s85h690rz433qvyk6i"; }; propagatedBuildInputs = [ ExtUtilsConfig ]; meta = { From 7b13fd4a4e10db25d99c970ecaebb7e5bdad8a34 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:50 +0200 Subject: [PATCH 312/880] perlPackages.ExtUtilsParseXS: update from 3.22 to 3.24 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ed369aabf4a..4f1958850e5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3334,10 +3334,10 @@ let self = _self // overrides; _self = with self; { }; ExtUtilsParseXS = buildPerlPackage rec { - name = "ExtUtils-ParseXS-3.22"; + name = "ExtUtils-ParseXS-3.24"; src = fetchurl { - url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz"; - sha256 = "03i93xfm9064vg2z70mcfwpnbmciafzrng113vmb8w8g117pvr84"; + url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz"; + sha256 = "07ipa2ssflw3ais8gbjdk4l8z2k1p65nfjwkxm37g6zw1210pdih"; }; }; From 19cca58cd4331297da8b0c0e21ed6b71f94d4c71 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:55 +0200 Subject: [PATCH 313/880] perlPackages.FatalException: update from 0.05 to 0.0204 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4f1958850e5..4f98ae2ab30 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3380,10 +3380,10 @@ let self = _self // overrides; _self = with self; { }; FatalException = buildPerlPackage { - name = "Fatal-Exception-0.05"; + name = "Fatal-Exception-0.0204"; src = fetchurl { - url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz; - sha256 = "0kzfwc44vpxla3j637kfmnwmv57g6x4899ijqb4ljamk7whms298"; + url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.0204.tar.gz; + sha256 = "10a9j0fa83s3apv0xgi01l2h6s43my031097hg72wa80n07rgs2c"; }; buildInputs = [ ExceptionWarning TestAssert TestUnitLite ]; propagatedBuildInputs = [ ExceptionBase ExceptionDied ]; From e297787704d0e13f79297d605bf2b3c221a134c8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:51:58 +0200 Subject: [PATCH 314/880] perlPackages.FileChangeNotify: update from 0.23 to 0.24 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4f98ae2ab30..f7109187fd0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3418,10 +3418,10 @@ let self = _self // overrides; _self = with self; { }; FileChangeNotify = buildPerlModule rec { - name = "File-ChangeNotify-0.23"; + name = "File-ChangeNotify-0.24"; src = fetchurl { url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz"; - sha256 = "18aq6lcldniciw189ihmcji98y6zqa1gdl3mjqdg8f37i9amn4i3"; + sha256 = "090i265f73jlcl5rv250791vw32j9vvl4nd5abc7myg0klb8109w"; }; buildInputs = [ TestException ]; propagatedBuildInputs = From 70e0d0a921111fcc94168efa111e482bc868aa03 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:02 +0200 Subject: [PATCH 315/880] perlPackages.FileShare: update from 0.02 to 0.03 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f7109187fd0..5306674f921 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3590,10 +3590,10 @@ let self = _self // overrides; _self = with self; { }; FileShare = buildPerlPackage { - name = "File-Share-0.02"; + name = "File-Share-0.03"; src = fetchurl { - url = mirror://cpan/authors/id/I/IN/INGY/File-Share-0.02.tar.gz; - sha256 = "1vdgyf3m08s4pwj70bgbb31jsj8hixdl940m15phyx2hpy8dkabw"; + url = mirror://cpan/authors/id/J/JO/JOENIO/File-Share-0.03.tar.gz; + sha256 = "0siy9p6b7zbln5yq6g8z1nwm76ia23kkdj1k5pywsh3n6dn2lxa2"; }; propagatedBuildInputs = [ FileShareDir ]; meta = { From 93e50bec8cc14ecbf4e385948d8d4a38ba8b84eb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:06 +0200 Subject: [PATCH 316/880] perlPackages.FileShareDirInstall: update from 0.04 to 0.08 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5306674f921..6d11ee5c459 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3619,10 +3619,10 @@ let self = _self // overrides; _self = with self; { }; FileShareDirInstall = buildPerlPackage { - name = "File-ShareDir-Install-0.04"; + name = "File-ShareDir-Install-0.08"; src = fetchurl { - url = mirror://cpan/authors/id/G/GW/GWYN/File-ShareDir-Install-0.04.tar.gz; - sha256 = "14gyl1l1crnsb7ihz6czaw7k0v2dnan0380pbxz8kmk66nnhaxzc"; + url = mirror://cpan/authors/id/G/GW/GWYN/File-ShareDir-Install-0.08.tar.gz; + sha256 = "188pgn43wa6hgpcrv997lp3bad50030p4wmrcdzvfrqxj0bx2amf"; }; meta = { description = "Install shared files"; From f964d637f77b005bbe180cafd697618938b58d68 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:10 +0200 Subject: [PATCH 317/880] perlPackages.FontTTF: update from 0.43 to 0.48 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6d11ee5c459..8ec6c1acad9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3690,10 +3690,10 @@ let self = _self // overrides; _self = with self; { }; FontTTF = buildPerlPackage { - name = "Font-TTF-0.43"; + name = "Font-TTF-0.48"; src = fetchurl { - url = mirror://cpan/authors/id/M/MH/MHOSKEN/Font-TTF-0.43.tar.gz; - sha256 = "0782mj5n5a2qbghvvr20x51llizly6q5smak98kzhgq9a7q3fg89"; + url = mirror://cpan/authors/id/M/MH/MHOSKEN/Font-TTF-0.48.tar.gz; + sha256 = "0lhz7v8ihaj35y6kr7jb971hgc4iqh1nz3qbfkignb9i8b1dw97r"; }; }; From 17fd0cc41417a12f07b0c8315e1c0e135f18d797 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:14 +0200 Subject: [PATCH 318/880] perlPackages.ForksSuper: update from 0.67 to 0.72 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8ec6c1acad9..1db752aef13 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3698,10 +3698,10 @@ let self = _self // overrides; _self = with self; { }; ForksSuper = buildPerlPackage { - name = "Forks-Super-0.67"; + name = "Forks-Super-0.72"; src = fetchurl { - url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.67.tar.gz; - sha256 = "8831cd70e1eb3d4ab7d9a8c3692caa7b7220dc888cd1a8dc5640fb2a08379141"; + url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.72.tar.gz; + sha256 = "0zyqwyndb3gnbsh43b6xyl3wmlnyi18vz3yrbsvp3lccz4d0v7qp"; }; doCheck = false; meta = { From 0799fc8cb22acebbcb4a09894f76411a5d3ff7c4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:18 +0200 Subject: [PATCH 319/880] perlPackages.FreezeThaw: update from 0.43 to 0.5001 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1db752aef13..9c6c6d057dc 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3711,10 +3711,10 @@ let self = _self // overrides; _self = with self; { }; FreezeThaw = buildPerlPackage { - name = "FreezeThaw-0.43"; + name = "FreezeThaw-0.5001"; src = fetchurl { - url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.43.tar.gz; - sha256 = "1qamc5aggp35xk590a4hy660f2rhc2l7j65hbyxdya9yvg7z437l"; + url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.5001.tar.gz; + sha256 = "0h8gakd6b9770n2xhld1hhqghdar3hrq2js4mgiwxy86j4r0hpiw"; }; doCheck = false; }; From 223edd8fe4eb3f97ce8e93ec827d5fb61c179c25 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:22 +0200 Subject: [PATCH 320/880] perlPackages.GoogleProtocolBuffers: update from 0.08 to 0.11 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9c6c6d057dc..111615da77b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3803,10 +3803,10 @@ let self = _self // overrides; _self = with self; { }; GoogleProtocolBuffers = buildPerlPackage rec { - name = "Google-ProtocolBuffers-0.08"; + name = "Google-ProtocolBuffers-0.11"; src = fetchurl { - url = "mirror://cpan/authors/id/G/GA/GARIEV/${name}.tar.gz"; - sha256 = "0pxfphg671wh56h59pf0zrj7m1cr0yga95hf3w54563pzcw2vqv3"; + url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/${name}.tar.gz"; + sha256 = "0k2skcbfzn2aw1f218l47h4kgq5rj9qsam3sd6zw4qq3zyp0amb1"; }; propagatedBuildInputs = [ ClassAccessor ParseRecDescent ]; patches = From 08be8f66ec5dd8dc42b5f64ca3a601b4d0392ed1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:25 +0200 Subject: [PATCH 321/880] perlPackages.Graph: update from 0.94 to 0.96 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 111615da77b..3d71d8501cb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3818,10 +3818,10 @@ let self = _self // overrides; _self = with self; { }; Graph = buildPerlPackage rec { - name = "Graph-0.94"; + name = "Graph-0.96"; src = fetchurl { url = "mirror://cpan/authors/id/J/JH/JHI/${name}.tar.gz"; - sha256 = "1lyfl9s4mkhahnpxk2z5v6j750jqb4sls56b9rnkl5lni9ms7xgn"; + sha256 = "09wpiz7v0gv07zb7h8gwgjrwj16cdycs60d08cjlyj1s926zlbl3"; }; buildInputs = [ TestPod TestPodCoverage ]; From 21cbb9eede91df80b64cc80249f99f99e0b1ba3e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:29 +0200 Subject: [PATCH 322/880] perlPackages.HTMLFormHandler: update from 0.40055 to 0.40056 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3d71d8501cb..f98a0135da1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4001,10 +4001,10 @@ let self = _self // overrides; _self = with self; { }; HTMLFormHandler = buildPerlPackage { - name = "HTML-FormHandler-0.40055"; + name = "HTML-FormHandler-0.40056"; src = fetchurl { - url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40055.tar.gz; - sha256 = "47e3cf69e2475cba86356eda340e6622df0525e2d0aa2343aef9f924f13d86cd"; + url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40056.tar.gz; + sha256 = "012wijl69qjazghq2ywikk0jdxjbd9rfsxmwwq7lbpfjy2fiymqx"; }; buildInputs = [ FileShareDirInstall PadWalker TestDifferences TestException TestMemoryCycle ]; propagatedBuildInputs = [ ClassLoad DataClone DateTime DateTimeFormatStrptime EmailValid FileShareDir HTMLTree JSON ListAllUtils Moose MooseXGetopt MooseXTypes MooseXTypesCommon MooseXTypesLoadableClass SubExporter SubName TryTiny aliased namespaceautoclean ]; From c9e26b0632de14a3e1400cbe5635ef8b72f6c8b3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:34 +0200 Subject: [PATCH 323/880] perlPackages.HTMLSelectorXPath: update from 0.15 to 0.16 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f98a0135da1..71488d25748 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4030,10 +4030,10 @@ let self = _self // overrides; _self = with self; { }; HTMLSelectorXPath = buildPerlPackage { - name = "HTML-Selector-XPath-0.15"; + name = "HTML-Selector-XPath-0.16"; src = fetchurl { - url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.15.tar.gz; - sha256 = "0wnb561yp1r3mqw2hmd16zm45lqqm2mp823s1rx2k4qw141rmkpv"; + url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.16.tar.gz; + sha256 = "0v12plal866ifcv7m8x22abrddd6cf12gn55qclk53qqa6c8f8m6"; }; buildInputs = [ TestBase ]; meta = { From dfd408338c2bd9fce7a42151f5caf30e38195a46 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:39 +0200 Subject: [PATCH 324/880] perlPackages.HTMLTemplate: update from 2.9 to 2.95 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 71488d25748..90d8210b6a7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4069,10 +4069,10 @@ let self = _self // overrides; _self = with self; { }; HTMLTemplate = buildPerlPackage rec { - name = "HTML-Template-2.9"; + name = "HTML-Template-2.95"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/${name}.tar.gz"; - sha256 = "0is026jn1731lvfjglv4003dsr8drshvw25zlbjrywk59kx7nsb2"; + url = "mirror://cpan/authors/id/W/WO/WONKO/${name}.tar.gz"; + sha256 = "07ahpfgidxsw2yb7y8i7bbr8s64aq6qgq832h9jswmksxbd0l43q"; }; }; From 8d185a638b165f2161dc97b42370f7e3ea3e40c2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:42 +0200 Subject: [PATCH 325/880] perlPackages.HTTPLite: update from 2.4 to 2.43 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 90d8210b6a7..a645dc15d33 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4198,10 +4198,10 @@ let self = _self // overrides; _self = with self; { }; HTTPLite = buildPerlPackage rec { - name = "HTTP-Lite-2.4"; + name = "HTTP-Lite-2.43"; src = fetchurl { url = "mirror://cpan/authors/id/N/NE/NEILB/${name}.tar.gz"; - sha256 = "66f4fc0f93eeb42c09737f83b21de1944212ae9b2acb784d5103e8208491477b"; + sha256 = "10svyy8r5ca86spz21r0k2mdy8g2slzssin4qbg101zc9kr5r65a"; }; }; From b8487aeb8075d36d73a62c6c227499370187a6ee Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:45 +0200 Subject: [PATCH 326/880] perlPackages.HTTPParserXS: update from 0.14 to 0.16 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a645dc15d33..00dc4002420 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4232,10 +4232,10 @@ let self = _self // overrides; _self = with self; { }; HTTPParserXS = buildPerlPackage rec { - name = "HTTP-Parser-XS-0.14"; + name = "HTTP-Parser-XS-0.16"; src = fetchurl { url = "mirror://cpan/authors/id/K/KA/KAZUHO/${name}.tar.gz"; - sha256 = "06srbjc380kvvj76r8n5c2y282j5zfgn0s0zmb9h3shwrynfqj05"; + sha256 = "1sp9vllf012paslmn11b7z7fbk3hhkcp7gj59yp6qzh11xzpxlai"; }; buildInputs = [ TestMore ]; }; From 3dd6683cb21a5181ed16a56a3241c6842b952e77 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:49 +0200 Subject: [PATCH 327/880] perlPackages.HashMerge: update from 0.12 to 0.200 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 00dc4002420..63b270c5303 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3876,10 +3876,10 @@ let self = _self // overrides; _self = with self; { }; HashMerge = buildPerlPackage rec { - name = "Hash-Merge-0.12"; + name = "Hash-Merge-0.200"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Hash/${name}.tar.gz"; - sha256 = "07h7dyldxwqhq3x4fp9hacnc4vgipp0jk50b5cbvib975nfxx98z"; + url = "mirror://cpan/authors/id/R/RE/REHSACK/${name}.tar.gz"; + sha256 = "0r1a2axz85wn6573zrl9rk8mkfl2cvf1gp9vwya5qndp60rz1ya7"; }; propagatedBuildInputs = [ Clone ]; meta = { From 771c5e56582e079f782f47734ead4e7de91005da Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:52 +0200 Subject: [PATCH 328/880] perlPackages.HashMultiValue: update from 0.13 to 0.15 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 63b270c5303..981170d0a8e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3902,10 +3902,10 @@ let self = _self // overrides; _self = with self; { }; HashMultiValue = buildPerlPackage { - name = "Hash-MultiValue-0.13"; + name = "Hash-MultiValue-0.15"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.13.tar.gz; - sha256 = "0flflmk2kxq9sjmhxr1547lidgigibhck912j4ambdwg21sbxjjd"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.15.tar.gz; + sha256 = "1jc37kwpa1fl88va8bd1p95h0vjv1gsvmn7pc2pxj62ga6x0wpc0"; }; meta = { description = "Store multiple values per key"; From aa3278dd1f5ca6f7dc33c3726abad702436912ed Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:52:56 +0200 Subject: [PATCH 329/880] perlPackages.HashUtilFieldHashCompat: update from 0.03 to 0.07 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 981170d0a8e..6795288222c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3914,10 +3914,10 @@ let self = _self // overrides; _self = with self; { }; HashUtilFieldHashCompat = buildPerlPackage { - name = "Hash-Util-FieldHash-Compat-0.03"; + name = "Hash-Util-FieldHash-Compat-0.07"; src = fetchurl { - url = mirror://cpan/authors/id/N/NU/NUFFIN/Hash-Util-FieldHash-Compat-0.03.tar.gz; - sha256 = "0pmai98a89j82fjksfax87brmpimjn74kr7bl874lc1k40dfhx47"; + url = mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.07.tar.gz; + sha256 = "1fbqcjvp5slkfyf63g8scrbdpkpw3g9z9557xvfaxn09aki7g1bn"; }; propagatedBuildInputs = [ Testuseok ]; meta = { From 8aef65dc04d4bd42d95ead4a37243e710f23902c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:00 +0200 Subject: [PATCH 330/880] perlPackages.HookLexWrap: update from 0.22 to 0.24 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6795288222c..84792f7366d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3939,10 +3939,10 @@ let self = _self // overrides; _self = with self; { }; HookLexWrap = buildPerlPackage rec { - name = "Hook-LexWrap-0.22"; + name = "Hook-LexWrap-0.24"; src = fetchurl { - url = "mirror://cpan/authors/id/C/CH/CHORNY/${name}.zip"; - sha256 = "eda90ba26f8a0cef02d38f08a1786a203beec1309279493c78eed13567d0fa7e"; + url = "mirror://cpan/authors/id/C/CH/CHORNY/${name}.tar.gz"; + sha256 = "0nyfirbdrgs2cknifqr1pf8xd5q9xnv91gy7jha4crp1hjqvihj4"; }; buildInputs = [ pkgs.unzip ]; }; From 6d394b51770becff94946dc7d6eee24709323018 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:04 +0200 Subject: [PATCH 331/880] perlPackages.IOAll: update from 0.50 to 0.60 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 84792f7366d..3c16a1a0c25 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4292,10 +4292,10 @@ let self = _self // overrides; _self = with self; { }; IOAll = buildPerlPackage { - name = "IO-All-0.50"; + name = "IO-All-0.60"; src = fetchurl { - url = mirror://cpan/authors/id/I/IN/INGY/IO-All-0.50.tar.gz; - sha256 = "13mc913jqqfkaily48cd886x0n6x6zw59c00fmkhqc97xh1kdckc"; + url = mirror://cpan/authors/id/F/FR/FREW/IO-All-0.60.tar.gz; + sha256 = "1bwsd2f5rlivcqyd7rb0ap5vrzv8s8fappi3b1v553yr5vl5pyq9"; }; propagatedBuildInputs = [ IOString ]; meta = { From 811474227f610d504559e668b891cf0ec16f64f6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:08 +0200 Subject: [PATCH 332/880] perlPackages.IOCaptureOutput: update from 1.1102 to 1.1103 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3c16a1a0c25..91fcc000aac 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4308,10 +4308,10 @@ let self = _self // overrides; _self = with self; { }; IOCaptureOutput = buildPerlPackage rec { - name = "IO-CaptureOutput-1.1102"; + name = "IO-CaptureOutput-1.1103"; src = fetchurl { - url = "mirror://cpan/modules/by-module/IO/${name}.tar.gz"; - sha256 = "2ea16dbecb21a3c2be49a93fb1e7e51275bed3f7ef3ac30cbdbff5d0178d43c7"; + url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz"; + sha256 = "1bcl7p87ysbzab6hssq19xn3djzc0yk9l4hk0a2mqbqb8hv6p0m5"; }; }; From 5a74c9e87a362837fbd562d43592d535b6c3daeb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:12 +0200 Subject: [PATCH 333/880] perlPackages.IODigest: update from 0.10 to 0.11 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 91fcc000aac..3363c93773d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4331,10 +4331,10 @@ let self = _self // overrides; _self = with self; { }; IODigest = buildPerlPackage { - name = "IO-Digest-0.10"; + name = "IO-Digest-0.11"; src = fetchurl { - url = mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.10.tar.gz; - sha256 = "1g6ilxqv2a7spf273v7k0721c6am7pwpjrin3h5zaqxfmd312nav"; + url = mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz; + sha256 = "14kz7z4xw179aya3116wxac29l4y2wmwrba087lya4v2gxdgiz4g"; }; propagatedBuildInputs = [PerlIOviadynamic]; }; From 798a139bd30372e1c124c7994be7fe87f0994ccf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:16 +0200 Subject: [PATCH 334/880] perlPackages.IOTieCombine: update from 1.002 to 1.004 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3363c93773d..3001e39c822 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4422,10 +4422,10 @@ let self = _self // overrides; _self = with self; { }; IOTieCombine = buildPerlPackage { - name = "IO-TieCombine-1.002"; + name = "IO-TieCombine-1.004"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.002.tar.gz; - sha256 = "fd4f59e82852fd8b868dd1642cb6ec9caf32a597803fdce2cbe8d580c3b41d44"; + url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.004.tar.gz; + sha256 = "0awyyjdbjjawdkzs08rfjhfkkm7pni523x3ddmq9ixa82ibnn430"; }; meta = { homepage = https://github.com/rjbs/io-tiecombine; From 67b484af45e7740ab208b858ffc814225f4fe579 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:20 +0200 Subject: [PATCH 335/880] perlPackages.IPCRun3: update from 0.046 to 0.048 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3001e39c822..f42782ef202 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4459,10 +4459,10 @@ let self = _self // overrides; _self = with self; { }; IPCRun3 = buildPerlPackage rec { - name = "IPC-Run3-0.046"; + name = "IPC-Run3-0.048"; src = fetchurl { url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "033miv4z6g50q71blj8l1g846frngm1v5l3mcv38dslkjqimxxp4"; + sha256 = "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x"; }; }; From 02fce7df41e6be13dc96efe6913dc1938654e5f8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:26 +0200 Subject: [PATCH 336/880] perlPackages.JSONXS: update from 2.33 to 2.34 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f42782ef202..1c23b8a53ea 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4610,10 +4610,10 @@ let self = _self // overrides; _self = with self; { }; JSONXS = buildPerlPackage { - name = "JSON-XS-2.33"; + name = "JSON-XS-2.34"; src = fetchurl { - url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.33.tar.gz; - sha256 = "0p68f85xz6xx2c9ydz4bij5x4d1747rxs3jdq53ab915mnc1qfdl"; + url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-2.34.tar.gz; + sha256 = "1sh0i73skxp3rvd9w8phxqncw9m1r5ibnb9qxxm21bmrfwkxybx6"; }; propagatedBuildInputs = [ CommonSense ]; meta = { From b4c012700f642a3ad2bde1b23d5170eda76c3269 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:30 +0200 Subject: [PATCH 337/880] perlPackages.LWPUserAgent: update from 6.04 to 6.05 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1c23b8a53ea..f08f7ef99b3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4923,10 +4923,10 @@ let self = _self // overrides; _self = with self; { }; LWPUserAgent = buildPerlPackage { - name = "LWP-UserAgent-6.04"; + name = "LWP-UserAgent-6.05"; src = fetchurl { - url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz; - sha256 = "0z92fpwk6lh2gghv050r0qb216jmjl2m0c6zby935q8lv0q5wwgr"; + url = mirror://cpan/authors/id/G/GA/GAAS/libwww-perl-6.05.tar.gz; + sha256 = "08wgwyz7748pv5cyngxia0xl6nragfnhrp4p9s78xhgfyygpj9bv"; }; propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookies HTTPDaemon HTTPDate HTTPNegotiate HTTPMessage LWPMediaTypes NetHTTP URI WWWRobotRules ]; meta = { From eaf4f0c7c7a8e18c77d3227d0ea8653ee89367cd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:33 +0200 Subject: [PATCH 338/880] perlPackages.LWPxParanoidAgent: update from 1.07 to 1.10 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f08f7ef99b3..9c5f8525c52 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4966,10 +4966,10 @@ let self = _self // overrides; _self = with self; { }; LWPxParanoidAgent = buildPerlPackage rec { - name = "LWPx-ParanoidAgent-1.07"; + name = "LWPx-ParanoidAgent-1.10"; src = fetchurl { - url = "mirror://cpan/authors/id/B/BR/BRADFITZ/${name}.tar.gz"; - sha256 = "bd7ccbe6ed6b64195a967e9b2b04c185b7b97e8ec5a8835bb45dbcd42a18e76a"; + url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/${name}.tar.gz"; + sha256 = "0i306p7mdqx09qfsf6b3rnn5xw9v9r3md4swlbk9z0mskjl0l4w4"; }; doCheck = false; # 3 tests fail, probably because they try to connect to the network propagatedBuildInputs = [ LWP NetDNS ]; From 34e0eb81beb6bddfe34e5968cc21635bea06bb5e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:37 +0200 Subject: [PATCH 339/880] perlPackages.LinguaENTagger: update from 0.23 to 0.24 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9c5f8525c52..4169fb21712 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4676,10 +4676,10 @@ let self = _self // overrides; _self = with self; { }; LinguaENTagger = buildPerlPackage { - name = "Lingua-EN-Tagger-0.23"; + name = "Lingua-EN-Tagger-0.24"; src = fetchurl { - url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.23.tar.gz; - sha256 = "0xq6567gijczxzq72ghfa9jr8zyc1p0ax9s12mv7slibpkfkm2d2"; + url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.24.tar.gz; + sha256 = "0qksqh1zi8fz76a29s2ll4g6yr8y6agmzgq7ngccvgj3gza5q241"; }; propagatedBuildInputs = [ HTMLParser HTMLTagset LinguaStem /* MemoizeExpireLRU */ ]; meta = { From 25f3995666fb018c0a3f42766933675d820c34b7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:41 +0200 Subject: [PATCH 340/880] perlPackages.LocaleMaketext: update from 1.13 to 1.23 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4169fb21712..02577d7faa8 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4754,10 +4754,10 @@ let self = _self // overrides; _self = with self; { }; LocaleMaketext = buildPerlPackage { - name = "Locale-Maketext-1.13"; + name = "Locale-Maketext-1.23"; src = fetchurl { - url = mirror://cpan/authors/id/F/FE/FERREIRA/Locale-Maketext-1.13.tar.gz; - sha256 = "0qvrhcs1f28ix3v8hcd5xr4z9s7plz4g5a4q1cjp7bs0c3w2yl6z"; + url = mirror://cpan/authors/id/T/TO/TODDR/Locale-Maketext-1.23.tar.gz; + sha256 = "1r1sq7djafvk5abzc4l068p39dz44hlpgdldj3igvn2bjz78cli1"; }; propagatedBuildInputs = [I18NLangTags]; }; From 7d76f2c4b0debae7a3fcab77bdef3a22f6baa198 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:44 +0200 Subject: [PATCH 341/880] perlPackages.LocaleMaketextSimple: update from 0.18 to 0.21 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 02577d7faa8..a543f7460fe 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4772,10 +4772,10 @@ let self = _self // overrides; _self = with self; { }; LocaleMaketextSimple = buildPerlPackage { - name = "Locale-Maketext-Simple-0.18"; + name = "Locale-Maketext-Simple-0.21"; src = fetchurl { - url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Simple-0.18.tar.gz; - sha256 = "14kx7vkxyfqndy90rzavrjp2346aidyc7x5dzzdj293qf8s4q6ig"; + url = mirror://cpan/authors/id/J/JE/JESSE/Locale-Maketext-Simple-0.21.tar.gz; + sha256 = "1ad9vh45j8c32nzkbjipinawyg1pnjckwlhsjqcqs47vyi8zy2dh"; }; }; From f52121cab024af49c4355ad294fad4ae3d0cb8cb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:48 +0200 Subject: [PATCH 342/880] perlPackages.LockFileSimple: update from 0.207 to 0.208 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a543f7460fe..0755bcc548e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4795,10 +4795,10 @@ let self = _self // overrides; _self = with self; { }; LockFileSimple = buildPerlPackage rec { - name = "LockFile-Simple-0.207"; + name = "LockFile-Simple-0.208"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JV/JV/LockFile-Simple-0.207.tar.gz"; - sha256 = "171vi9y6jlkny0d4jaavz48d1vbxljknnmbq8h22fi8lnc5kvipa"; + url = "mirror://cpan/authors/id/S/SC/SCHWIGON/lockfile-simple/LockFile-Simple-0.208.tar.gz"; + sha256 = "18pk5a030dsg1h6wd8c47wl8pzrpyh9zi9h2c9gs9855nab7iis5"; }; }; From 70c85b5d7af0cfc98bc6b815e9267a1955c4c0a9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:51 +0200 Subject: [PATCH 343/880] perlPackages.Log4Perl: update from 1.41 to 1.43 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0755bcc548e..9b4cffa8ff9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4842,10 +4842,10 @@ let self = _self // overrides; _self = with self; { }; Log4Perl = buildPerlPackage rec { - name = "Log-Log4perl-1.41"; + name = "Log-Log4perl-1.43"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Log/${name}.tar.gz"; - sha256 = "0dajkgvlwsb4zdw6x3fil2n5phypq829dmqf8l9s88g9smms2a2i"; + url = "mirror://cpan/authors/id/M/MS/MSCHILLI/${name}.tar.gz"; + sha256 = "19rmm1nlcradfj74rrvkjwmfighmjj9fiisml2j23i248vyz4cay"; }; }; From 21d3c04e8075de0b6553a7cd359e1c0d317291ae Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:53:55 +0200 Subject: [PATCH 344/880] perlPackages.LogContextual: update from 0.005003 to 0.006003 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9b4cffa8ff9..14802d69549 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4803,10 +4803,10 @@ let self = _self // overrides; _self = with self; { }; LogContextual = buildPerlPackage { - name = "Log-Contextual-0.005003"; + name = "Log-Contextual-0.006003"; src = fetchurl { - url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.005003.tar.gz; - sha256 = "8519ae92bd8685d003460f99151996e94f38c3c8f12b90634857558605d13719"; + url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.006003.tar.gz; + sha256 = "0940s910n67arqvz7aji4z6vgzzl52aq3l3jg8vq4ygnkn7c9k21"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ]; From b79bfc7de16093c41d0280c34c210e98d62bb3fd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:00 +0200 Subject: [PATCH 345/880] perlPackages.LogDispatchArray: update from 1.002 to 1.003 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 14802d69549..d532e03c955 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4850,10 +4850,10 @@ let self = _self // overrides; _self = with self; { }; LogDispatchArray = buildPerlPackage { - name = "Log-Dispatch-Array-1.002"; + name = "Log-Dispatch-Array-1.003"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.002.tar.gz; - sha256 = "268ec720eec3651d3dadcad7d16f033b47f883c72d6f2547c4ccbe7fb22a4940"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.003.tar.gz; + sha256 = "0dvzp0gsh17jqg02460ndchyapr1haahndq1p9v6mwkv5wf9680c"; }; buildInputs = [ TestDeep ]; propagatedBuildInputs = [ LogDispatch ]; From 7bc7132ddf939089efd74500e8080a578565fce5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:04 +0200 Subject: [PATCH 346/880] perlPackages.LogDispatchouli: update from 2.006 to 2.009 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d532e03c955..b4cb347a49c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4865,10 +4865,10 @@ let self = _self // overrides; _self = with self; { }; LogDispatchouli = buildPerlPackage { - name = "Log-Dispatchouli-2.006"; + name = "Log-Dispatchouli-2.009"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.006.tar.gz; - sha256 = "bd33b4fcf88ccfb694593ea6d7b330f053e6afee40f27acdf690c24547365354"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.009.tar.gz; + sha256 = "09iw27r36gmljlm6gjfczn2sf4s1js697q8na8xw4wlnz7x4bv59"; }; buildInputs = [ TestDeep TestFatal ]; propagatedBuildInputs = [ LogDispatch LogDispatchArray ParamsUtil StringFlogger SubExporter SubExporterGlobExporter TryTiny ]; From 96fb4dbb5bb64b8d4e02cce2e35a90d8adafc62d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:07 +0200 Subject: [PATCH 347/880] perlPackages.MailIMAPClient: update from 2.2.9 to 3.35 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b4cb347a49c..9645d8522a1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4990,10 +4990,10 @@ let self = _self // overrides; _self = with self; { }; MailIMAPClient = buildPerlPackage { - name = "Mail-IMAPClient-2.2.9"; + name = "Mail-IMAPClient-3.35"; src = fetchurl { - url = mirror://cpan/authors/id/D/DJ/DJKERNEN/Mail-IMAPClient-2.2.9.tar.gz; - sha256 = "1jb04mn66d6022xjqmax49cdn55f2fdzp6knfnchmrcmf90a8rzs"; + url = mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.35.tar.gz; + sha256 = "0qzn8370cr91jnq1kawy6v16bcz49pch6inmw85rhzg87j1h6ica"; }; buildInputs = [ParseRecDescent]; }; From 4c217a50945e59f682e11695ce20e83b84aa37e3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:11 +0200 Subject: [PATCH 348/880] perlPackages.MailTools: update from 2.04 to 2.13 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9645d8522a1..1ee66882d1d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4999,10 +4999,10 @@ let self = _self // overrides; _self = with self; { }; MailTools = buildPerlPackage { - name = "MailTools-2.04"; + name = "MailTools-2.13"; src = fetchurl { - url = mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.04.tar.gz; - sha256 = "0w91rcrz4v0pjdnnv2mvlbrm9ww32f7ajhr7xkjdhhr3455p7adx"; + url = mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.13.tar.gz; + sha256 = "1djjl05ndn8dmwri4vw5wfky5sqy7sf63qaijvhf9g5yh53405kj"; }; propagatedBuildInputs = [TimeDate TestPod]; }; From f79624df5aea1a272258ff90f11226d920ae77a5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:15 +0200 Subject: [PATCH 349/880] perlPackages.MathPlanePath: update from 101 to 114 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1ee66882d1d..2498fcb7a16 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5042,10 +5042,10 @@ let self = _self // overrides; _self = with self; { }; MathPlanePath = buildPerlPackage rec { - name = "Math-PlanePath-101"; + name = "Math-PlanePath-114"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz"; - sha256 = "0g24zhgyxs56zv966xb487vvmhqqxvvsbbz4mck8n4l31rabk8jj"; + url = "mirror://cpan/authors/id/K/KR/KRYDE/${name}.tar.gz"; + sha256 = "11808k6aqf7gfkv0k0r8586zk8dm0jg5idkdb839gzlr97ns2y61"; }; propagatedBuildInputs = [ MathLibm constant-defer ]; }; From 8b8a07ed17c889fb36cdb29b2acfb8c116e36fd0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:18 +0200 Subject: [PATCH 350/880] perlPackages.ModuleBuildWithXSpp: update from 0.13 to 0.14 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2498fcb7a16..feb547063ce 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5218,10 +5218,10 @@ let self = _self // overrides; _self = with self; { }; ModuleBuildWithXSpp = buildPerlModule rec { - name = "Module-Build-WithXSpp-0.13"; + name = "Module-Build-WithXSpp-0.14"; src = fetchurl { url = "mirror://cpan/authors/id/S/SM/SMUELLER/${name}.tar.gz"; - sha256 = "05c5dssgl7ykj64nkzy4nwfrs0hd1lvfidhflrs3f1c7hc0z9g46"; + sha256 = "0d39fjg9c0n820bk3fb50vvlwhdny4hdl69xmlyzql5xzp4cicsk"; }; propagatedBuildInputs = [ ExtUtilsXSpp ExtUtilsCppGuess ]; }; From ea1fcba63c3e2a659d56b109c06872aea227eee0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:23 +0200 Subject: [PATCH 351/880] perlPackages.ModuleFind: update from 0.11 to 0.12 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index feb547063ce..53d053cb865 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5240,10 +5240,10 @@ let self = _self // overrides; _self = with self; { }; ModuleFind = buildPerlPackage { - name = "Module-Find-0.11"; + name = "Module-Find-0.12"; src = fetchurl { - url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.11.tar.gz; - sha256 = "15ykcwplbqh5hc0fw4cx6g0f22zr0hrfkdkv1s34n9yg574dq3b5"; + url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.12.tar.gz; + sha256 = "1lc33jdv4pgmm7nkr9bff0lhwjhhw91kaf6iiy2n7i7mw8dfv47l"; }; meta = { description = "Find and use installed modules in a (sub)category"; From 7b89b377819ed190ee73c2935db45250f7d28f33 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:27 +0200 Subject: [PATCH 352/880] perlPackages.ModuleImplementation: update from 0.06 to 0.07 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 53d053cb865..d12b17deae8 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5252,10 +5252,10 @@ let self = _self // overrides; _self = with self; { }; ModuleImplementation = buildPerlPackage { - name = "Module-Implementation-0.06"; + name = "Module-Implementation-0.07"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.06.tar.gz; - sha256 = "0v8qajzkpkwb9mfj2p46j352bwiszkg1zk778b008axqb817hfys"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.07.tar.gz; + sha256 = "15r93l8danysfhb7wn2zww1s02hajki4k3xjfxbpz7ckadqq6jbk"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ ModuleRuntime TryTiny ]; From f6eb58826f3bbcc5a4f4f19217ebf2075473e657 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:31 +0200 Subject: [PATCH 353/880] perlPackages.ModulePath: update from 0.09 to 0.13 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d12b17deae8..8790926beec 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5347,10 +5347,10 @@ let self = _self // overrides; _self = with self; { }; ModulePath = buildPerlPackage { - name = "Module-Path-0.09"; + name = "Module-Path-0.13"; src = fetchurl { - url = mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.09.tar.gz; - sha256 = "5330a76ff56800778d825548b4d631510a1a6b4f04725dddca95e68c4ed3ac18"; + url = mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.13.tar.gz; + sha256 = "1kzsi0z142gcspyyp81za29bq0y74l57a8i2q7gz4zcchf2xm23g"; }; buildInputs = [ DevelFindPerl ]; meta = { From bce3f0f7089ea41c257a909bd5920ded511d2e66 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:35 +0200 Subject: [PATCH 354/880] perlPackages.ModulePluggable: update from 4.8 to 5.1 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8790926beec..283a8e36171 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5360,10 +5360,10 @@ let self = _self // overrides; _self = with self; { }; ModulePluggable = buildPerlPackage { - name = "Module-Pluggable-4.8"; + name = "Module-Pluggable-5.1"; src = fetchurl { - url = mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-4.8.tar.gz; - sha256 = "0gc2sanga3207l3dnmb05isc7m87l1j94v9ll3z4sbb3vs49gdd2"; + url = mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-5.1.tar.gz; + sha256 = "0vwi433pk7n1ia5wy67j3545jvmjf1hb4jwcvzrz25mv8d03bp72"; }; patches = [ # !!! merge this patch into Perl itself (which contains Module::Pluggable as well) From c6dc49d29bf724a5d383ee41d83bce3ab0f7f3d2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:38 +0200 Subject: [PATCH 355/880] perlPackages.ModulePluggableFast: update from 0.18 to 0.19 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 283a8e36171..775bdaefc27 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5376,10 +5376,10 @@ let self = _self // overrides; _self = with self; { }; ModulePluggableFast = buildPerlPackage { - name = "Module-Pluggable-Fast-0.18"; + name = "Module-Pluggable-Fast-0.19"; src = fetchurl { - url = mirror://cpan/authors/id/S/SR/SRI/Module-Pluggable-Fast-0.18.tar.gz; - sha256 = "140c311x2darrc2p1drbkafv7qwhzdcff4ad300n6whsx4dfp6wr"; + url = mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz; + sha256 = "0pq758wlasmh77xyd2xh75m5b2x14s8pnsv63g5356gib1q5gj08"; }; propagatedBuildInputs = [UNIVERSALrequire]; }; From aa1a352064729670922c677e22c5f62d40d9d4a9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:41 +0200 Subject: [PATCH 356/880] perlPackages.ModuleRuntime: update from 0.013 to 0.014 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 775bdaefc27..117833a9f26 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5385,10 +5385,10 @@ let self = _self // overrides; _self = with self; { }; ModuleRuntime = buildPerlPackage { - name = "Module-Runtime-0.013"; + name = "Module-Runtime-0.014"; src = fetchurl { - url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.013.tar.gz; - sha256 = "08qhqg1qshrispcpzf24jbbpx2gh5ks84amnv9wmd46wj0yy0dzc"; + url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.014.tar.gz; + sha256 = "19326f094jmjs6mgpwkyisid54k67w34br8yfh0gvaaml87gwi2c"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; From 0e7425ce2837c514725fd0d74ac275f8452502d3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:46 +0200 Subject: [PATCH 357/880] perlPackages.MooseAutobox: update from 0.13 to 0.15 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 117833a9f26..7db52a1f4cb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5478,10 +5478,10 @@ let self = _self // overrides; _self = with self; { }; MooseAutobox = buildPerlPackage { - name = "Moose-Autobox-0.13"; + name = "Moose-Autobox-0.15"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Moose-Autobox-0.13.tar.gz; - sha256 = "3474b3e6dfe099fcca34089375ace6612cca35d4d8f9a0b8b4e48fbf88541b21"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Moose-Autobox-0.15.tar.gz; + sha256 = "0xcayrfm08dqas1mq8lnf8nxkvzdgcmv6xs5lqah17bxqxgznrl9"; }; buildInputs = [ TestException ]; propagatedBuildInputs = [ Moose SyntaxKeywordJunction autobox ]; From f7a2bc48dd8a45c7b6454962478ad42200b2b02b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:50 +0200 Subject: [PATCH 358/880] perlPackages.MooseXAliases: update from 0.10 to 0.11 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 7db52a1f4cb..84a44a9b9f3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5509,10 +5509,10 @@ let self = _self // overrides; _self = with self; { }; MooseXAliases = buildPerlPackage rec { - name = "MooseX-Aliases-0.10"; + name = "MooseX-Aliases-0.11"; src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; - sha256 = "1n3z06x6d7sl2can7gn1q4qpclg6sjl6i8fd9y3yipmaxbk97clz"; + url = "mirror://cpan/authors/id/D/DO/DOY/${name}.tar.gz"; + sha256 = "0j07zqczjfmng3md6nkha7560i786d0cp3gdmrx49hr64jbhz1f4"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ Moose ]; From 82457b53b4b331421a6a555a8049b6987966174e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:53 +0200 Subject: [PATCH 359/880] perlPackages.MooseXConfigFromFile: update from 0.11 to 0.13 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 84a44a9b9f3..d4c8e04691e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5574,10 +5574,10 @@ let self = _self // overrides; _self = with self; { }; MooseXConfigFromFile = buildPerlPackage { - name = "MooseX-ConfigFromFile-0.11"; + name = "MooseX-ConfigFromFile-0.13"; src = fetchurl { - url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.11.tar.gz; - sha256 = "963e7dbb2bc7ca18995db903c64b0841c4e8d3877009bff5475125673c3b02b4"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.13.tar.gz; + sha256 = "0pf5f05hs2i765cnw9sw1hdxf7vz480iyyngjawr4yqjkv4r5nz7"; }; buildInputs = [ Moose TestCheckDeps TestDeep TestFatal TestNoWarnings TestRequires TestWithoutModule ]; propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathTiny TryTiny namespaceautoclean ]; From 6678e8e1a360b6bf828378d551c6a28ddf47340e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:54:56 +0200 Subject: [PATCH 360/880] perlPackages.MooseXNonMoose: update from 0.22 to 0.26 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d4c8e04691e..5810caf226d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5710,10 +5710,10 @@ let self = _self // overrides; _self = with self; { }; MooseXNonMoose = buildPerlPackage { - name = "MooseX-NonMoose-0.22"; + name = "MooseX-NonMoose-0.26"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.22.tar.gz; - sha256 = "0mhyabg5f6kngkm1w7hfglkdzjdn5pbgm7vgia0aqy9mwwclbpdp"; + url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.26.tar.gz; + sha256 = "0zdaiphc45s5xj0ax5mkijf5d8v6w6yccb3zplgj6f30y7n55gnb"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ ListMoreUtils Moose ]; From 6bfd49596c220b835de9af4dc78889fea733a426 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:00 +0200 Subject: [PATCH 361/880] perlPackages.MooseXOneArgNew: update from 0.003 to 0.004 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5810caf226d..cc1970911ad 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5724,10 +5724,10 @@ let self = _self // overrides; _self = with self; { }; MooseXOneArgNew = buildPerlPackage { - name = "MooseX-OneArgNew-0.003"; + name = "MooseX-OneArgNew-0.004"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.003.tar.gz; - sha256 = "bd1879192f542dbc0741dbd1ba71f29bd22a0fce372d7a6ae04dbded51d71123"; + url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.004.tar.gz; + sha256 = "1frfrqaj283z1x95cqbbj3cvmb6rj50ngs47jq8myz6d1bg4zwff"; }; buildInputs = [ Moose ]; propagatedBuildInputs = [ Moose MooseXRoleParameterized namespaceautoclean ]; From 48cf24ace04fa77bc5fccda16a74d6f8f930ad13 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:04 +0200 Subject: [PATCH 362/880] perlPackages.MooseXRoleParameterized: update from 1.00 to 1.02 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cc1970911ad..d456d22fc7b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5763,10 +5763,10 @@ let self = _self // overrides; _self = with self; { }; MooseXRoleParameterized = buildPerlPackage { - name = "MooseX-Role-Parameterized-1.00"; + name = "MooseX-Role-Parameterized-1.02"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.00.tar.gz; - sha256 = "0642h71j90i0jrqxz1snizkw9pch8v1s1w0zndrcl5bb85lx3z7y"; + url = mirror://cpan/authors/id/S/SA/SARTAK/MooseX-Role-Parameterized-1.02.tar.gz; + sha256 = "089czh2pipvdajjy4rxlix0y20ilp3ldbzi0vs68b7k6k9q3mqdk"; }; buildInputs = [ TestFatal TestMoose ]; propagatedBuildInputs = [ Moose ]; From 49df464bf4083b3612786a559fe9ca8afb9c2ca2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:07 +0200 Subject: [PATCH 363/880] perlPackages.MooseXTraitsPluggable: update from 0.10 to 0.12 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d456d22fc7b..58176c630a3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5863,10 +5863,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTraitsPluggable = buildPerlPackage rec { - name = "MooseX-Traits-Pluggable-0.10"; + name = "MooseX-Traits-Pluggable-0.12"; src = fetchurl { - url = "mirror://cpan/modules/by-module/MooseX/${name}.tar.gz"; - sha256 = "0gv79bsnacrzwpac3dll64zj40qcsbp4kdk8yr9z5bwim7nkvnv3"; + url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz"; + sha256 = "1jjqmcidy4kdgp5yffqqwxrsab62mbhbpvnzdy1rpwnb1savg5mb"; }; buildInputs =[ TestException ]; propagatedBuildInputs = From cd94d0198f7ced4be95d7134fe19bf33546c05b6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:11 +0200 Subject: [PATCH 364/880] perlPackages.MooseXTypesPerl: update from 0.101341 to 0.101343 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 58176c630a3..b7b0b34c0c8 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5973,10 +5973,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTypesPerl = buildPerlPackage { - name = "MooseX-Types-Perl-0.101341"; + name = "MooseX-Types-Perl-0.101343"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101341.tar.gz; - sha256 = "d1081a734d62121f3262b18170022de2f51ebcc0a8b8afe1b1273d7cb3e58c97"; + url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101343.tar.gz; + sha256 = "0nijy676q27bvjb8swxrb1j4lq2xq8jbqkaxs1l9q81k7jpvx17h"; }; propagatedBuildInputs = [ MooseXTypes ParamsUtil ]; meta = { From 153809475688a97ba41d7fb725c3c9f5ca21752c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:16 +0200 Subject: [PATCH 365/880] perlPackages.MooseXTypesStringlike: update from 0.001 to 0.002 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b7b0b34c0c8..070c309a015 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5986,10 +5986,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTypesStringlike = buildPerlPackage { - name = "MooseX-Types-Stringlike-0.001"; + name = "MooseX-Types-Stringlike-0.002"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.001.tar.gz; - sha256 = "2ba71fff105d851ea6aee85bef5d6629726138a2b005b77a163a8bfb403cea03"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.002.tar.gz; + sha256 = "18g07bvhcrhirb1yhcz55y7nsvkw1wq285d1hyb0jxrzgr0ga94k"; }; buildInputs = [ Moose ]; propagatedBuildInputs = [ MooseXTypes ]; From e6b6a0d4fce11d5856faa19d8ff3faf94a2b3802 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:19 +0200 Subject: [PATCH 366/880] perlPackages.MooseXTypesStructured: update from 0.28 to 0.30 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 070c309a015..8aec006b600 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6003,10 +6003,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTypesStructured = buildPerlPackage { - name = "MooseX-Types-Structured-0.28"; + name = "MooseX-Types-Structured-0.30"; src = fetchurl { - url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/MooseX-Types-Structured-0.28.tar.gz; - sha256 = "12snpf65bh3jyx9w1h1sark83l0w51s3jdcr4ygw57cxvq39yl43"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.30.tar.gz; + sha256 = "0svfgbyzwdipywh7bfp954hncm8ihfr8xpppcyy59wr1inx2f55c"; }; buildInputs = [ DateTime MooseXTypesDateTime TestFatal ]; propagatedBuildInputs = [ DevelPartialDump Moose MooseXTypes SubExporter ]; From f4b043b8e09ecaf4a1042dbec681eb38b2505daa Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:24 +0200 Subject: [PATCH 367/880] perlPackages.MooseXTypesURI: update from 0.03 to 0.05 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8aec006b600..466648fe34c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6020,10 +6020,10 @@ let self = _self // overrides; _self = with self; { }; MooseXTypesURI = buildPerlPackage { - name = "MooseX-Types-URI-0.03"; + name = "MooseX-Types-URI-0.05"; src = fetchurl { - url = mirror://cpan/authors/id/F/FL/FLORA/MooseX-Types-URI-0.03.tar.gz; - sha256 = "056v08kzcd93h8l69iqdxbr05h85bgz6jvp6iwc0vv68dacr299s"; + url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-URI-0.05.tar.gz; + sha256 = "08acqm23ff22hicb3l4wc7szvdhlxpan7qmpgl15ilawrmz60p82"; }; propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathClass namespaceclean Testuseok URI URIFromHash ]; meta = { From 11979f6cfad73868d3b9674bd344bb63826c93cb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:29 +0200 Subject: [PATCH 368/880] perlPackages.NetAddrIP: update from 4.071 to 4.072 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 466648fe34c..3ee05df6877 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6120,10 +6120,10 @@ let self = _self // overrides; _self = with self; { }; NetAddrIP = buildPerlPackage rec { - name = "NetAddr-IP-4.071"; + name = "NetAddr-IP-4.072"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIKER/${name}.tar.gz"; - sha256 = "0m8d8ccygpjhbsv00vjfz8cvkjcn8dws0k4x58vbvnbjdv3yhxb3"; + sha256 = "17gwhhbz25021w5k4ggp8j3plix5yixgb2vr1mj39fa0p3gafm09"; }; }; From 470adc4acfa83d2f8ae7d5d61db8764ba4021aad Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:33 +0200 Subject: [PATCH 369/880] perlPackages.NetAmazonS3Policy: update from 0.1.2 to 0.1.6 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3ee05df6877..22ab24a5e4a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6193,10 +6193,10 @@ let self = _self // overrides; _self = with self; { }; NetAmazonS3Policy = buildPerlPackage { - name = "Net-Amazon-S3-Policy-0.1.2"; + name = "Net-Amazon-S3-Policy-0.1.6"; src = fetchurl { - url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.2.tar.gz; - sha256 = "1kkzimvxwxx0mypf75dalksxmvwsb8b575yx2nzmvjkvjg3j9na0"; + url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz; + sha256 = "056rhq6vsdpwi2grbmxj8341qjrz0258civpnhs78j37129nxcfj"; }; propagatedBuildInputs = [ JSON ]; meta = { From 8da8abba86c0e74b2e7e9ae4ccdf9b817b71cca9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:37 +0200 Subject: [PATCH 370/880] perlPackages.NetDNS: update from 0.63 to 0.74 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 22ab24a5e4a..2a18f79d210 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6257,10 +6257,10 @@ let self = _self // overrides; _self = with self; { }; NetDNS = buildPerlPackage { - name = "Net-DNS-0.63"; + name = "Net-DNS-0.74"; src = fetchurl { - url = mirror://cpan/authors/id/O/OL/OLAF/Net-DNS-0.63.tar.gz; - sha256 = "1pswrwhkav051xahm3k4cbyhi8kqpfmaz85lw44kwi2wc7mz4prk"; + url = mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-0.74.tar.gz; + sha256 = "0clwl4nqzg23d6l9d9gc8ijl1lbghhfrbavjlvhd1wll5r8ayr7g"; }; propagatedBuildInputs = [NetIP DigestHMAC]; doCheck = false; From c168ae1bbfad8c23dc28dcc7a6f5767f834f54aa Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:41 +0200 Subject: [PATCH 371/880] perlPackages.NetHTTP: update from 6.05 to 6.06 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2a18f79d210..cb24b5801f6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6267,10 +6267,10 @@ let self = _self // overrides; _self = with self; { }; NetHTTP = buildPerlPackage { - name = "Net-HTTP-6.05"; + name = "Net-HTTP-6.06"; src = fetchurl { - url = mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-6.05.tar.gz; - sha256 = "1r2bv3cw4m054qfsm6i7rpvhrql1d78izpc36prv3xvahfsqxawc"; + url = mirror://cpan/authors/id/G/GA/GAAS/Net-HTTP-6.06.tar.gz; + sha256 = "1m1rvniffadq99gsy25298ia3lixwymr6kan64jd3ylyi7nkqkhx"; }; meta = { description = "Low-level HTTP connection (client)"; From acf86052dd046a318f25b82e9493449a4191e77d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:44 +0200 Subject: [PATCH 372/880] perlPackages.NetLDAP: update from 0.43 to 0.4001 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cb24b5801f6..49ebe062303 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6290,11 +6290,11 @@ let self = _self // overrides; _self = with self; { }; NetLDAP = buildPerlPackage { - name = "Net-LDAP-0.43"; + name = "Net-LDAP-0.4001"; propagatedBuildInputs = [ ConvertASN1 ]; src = fetchurl { - url = mirror://cpan/authors/id/G/GB/GBARR/perl-ldap-0.43.tar.gz; - sha256 = "0ak7393zs8ps6r6in5ilr9l1mzxxh529jr768sjzx4273p7li3m0"; + url = mirror://cpan/authors/id/G/GB/GBARR/perl-ldap-0.4001.tar.gz; + sha256 = "0spwid70yxkh5zbad3ldw8yb2m5shkm59a7f0kllw8bb7ccczqps"; }; }; From d94a1ee167cede96ab1aa8dfa3459c7820316da1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:50 +0200 Subject: [PATCH 373/880] perlPackages.NetOpenIDCommon: update from 1.14 to 1.18 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 49ebe062303..13ada85e019 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6455,10 +6455,10 @@ let self = _self // overrides; _self = with self; { }; NetOpenIDCommon = buildPerlPackage rec { - name = "Net-OpenID-Common-1.14"; + name = "Net-OpenID-Common-1.18"; src = fetchurl { url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz"; - sha256 = "24ac83539b188d85bd2c7bd67e355aab0ede3f98170b23cb50bd30b11b4387ff"; + sha256 = "13hy5j6hcggb4l2r4pnwdh30p20wwja0chpmqm8y6wnnsp1km07f"; }; propagatedBuildInputs = [ CryptDHGMP URI HTMLParser HTTPMessage XMLSimple ]; }; From 2a1b8bc26a3c3ecab22edcdab0e17233397d1f7c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:55 +0200 Subject: [PATCH 374/880] perlPackages.NetOpenIDConsumer: update from 1.13 to 1.15 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 13ada85e019..c64c6167037 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6464,10 +6464,10 @@ let self = _self // overrides; _self = with self; { }; NetOpenIDConsumer = buildPerlPackage rec { - name = "Net-OpenID-Consumer-1.13"; + name = "Net-OpenID-Consumer-1.15"; src = fetchurl { url = "mirror://cpan/authors/id/W/WR/WROG/${name}.tar.gz"; - sha256 = "4ab927b6756366fa4cef2b54088645849f32fc7e0cd8de0a50001bbf62946fd8"; + sha256 = "1nh9988436rmmmd6x2zz1fyrqy2005a1gvqzgvnc1pg2ylg61fqf"; }; propagatedBuildInputs = [ NetOpenIDCommon JSON LWP ]; }; From 97e5d3c0d0dfc2696445f4121e3ad9f8ab1d680b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:55:59 +0200 Subject: [PATCH 375/880] perlPackages.NetSMTP: update from 1.22 to 1.25 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c64c6167037..f555f676ba7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6341,10 +6341,10 @@ let self = _self // overrides; _self = with self; { }; NetSMTP = buildPerlPackage { - name = "Net-SMTP-1.22"; + name = "Net-SMTP-1.25"; src = fetchurl { - url = mirror://cpan/authors/id/G/GB/GBARR/libnet-1.22.tar.gz; - sha256 = "113c36qilbvd69yhkm2i2ba20ajff7cdpgvlqx96j9bb1hfmhb1p"; + url = mirror://cpan/authors/id/S/SH/SHAY/libnet-1.25.tar.gz; + sha256 = "01f3l4aj3ynl8syyrl122k4bmfds77yw5q36aafrgaq22fnb3b2a"; }; patchPhase = "chmod a-x Configure"; doCheck = false; # The test suite fails, because it requires network access. From 0c5d9983bf0e9943f7c3677336c43ca7937ab3cf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:56:02 +0200 Subject: [PATCH 376/880] perlPackages.NetSSLeay: update from 1.52 to 1.58 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f555f676ba7..d19aaf2d5ac 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6378,10 +6378,10 @@ let self = _self // overrides; _self = with self; { }; NetSSLeay = buildPerlPackage rec { - name = "Net-SSLeay-1.52"; + name = "Net-SSLeay-1.58"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Net/${name}.tar.gz"; - sha256 = "1fkpdlpg99rdq2vlm6bgmqc8iazhcrfzvbpwxnn20k0viwpy7v28"; + url = "mirror://cpan/authors/id/M/MI/MIKEM/${name}.tar.gz"; + sha256 = "0mizg2g07fa4c13zpnhmjc87psal5gp5hi23kqpynigmkp0m1p0b"; }; buildInputs = [ pkgs.openssl ]; OPENSSL_PREFIX = pkgs.openssl; From 630586c6059af3acb68f8c40037c7e098cdd43e6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:56:07 +0200 Subject: [PATCH 377/880] perlPackages.NumberCompare: update from 0.01 to 0.03 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d19aaf2d5ac..fea135fa888 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6408,10 +6408,10 @@ let self = _self // overrides; _self = with self; { }; NumberCompare = buildPerlPackage rec { - name = "Number-Compare-0.01"; + name = "Number-Compare-0.03"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Number/${name}.tar.gz"; - sha256 = "1vs95lbax3f63jg98jwkiahlvg1jhmd0xyyzmbxxifsl7fkv1d9j"; + url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz"; + sha256 = "09q8i0mxvr7q9vajwlgawsi0hlpc119gnhq4hc933d03x0vkfac3"; }; }; From 68dd97208cb5c4b285d886b258737b46f6d156dd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:56:11 +0200 Subject: [PATCH 378/880] perlPackages.ObjectInsideOut: update from 3.97 to 3.98 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index fea135fa888..8279bce760c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6424,10 +6424,10 @@ let self = _self // overrides; _self = with self; { }; ObjectInsideOut = buildPerlPackage { - name = "Object-InsideOut-3.97"; + name = "Object-InsideOut-3.98"; src = fetchurl { - url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.97.tar.gz; - sha256 = "19yr15w361lxxx2djy0ciwjpyd5bcs0skm3yw97w3xidw6r0wf0v"; + url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-3.98.tar.gz; + sha256 = "1zxfm2797p8b9dsvnbgd6aa4mgpxqxjqzbpfbla1g7f9alxm9f1z"; }; propagatedBuildInputs = [ ExceptionClass ]; meta = { From ab6accf891b28372eb7fb3cab8b0d310b9568f7c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:56:43 +0200 Subject: [PATCH 379/880] perlPackages.ObjectSignature: update from 1.05 to 1.07 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8279bce760c..6c38c8f6c2a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6439,10 +6439,10 @@ let self = _self // overrides; _self = with self; { }; ObjectSignature = buildPerlPackage { - name = "Object-Signature-1.05"; + name = "Object-Signature-1.07"; src = fetchurl { - url = mirror://cpan/authors/id/A/AD/ADAMK/Object-Signature-1.05.tar.gz; - sha256 = "10k9j18jpb16brv0hs7592r7hx877290pafb8gnk6ydy7hcq9r2j"; + url = mirror://cpan/authors/id/A/AD/ADAMK/Object-Signature-1.07.tar.gz; + sha256 = "0c8l7195bjvx0v6zmkgdnxvwg7yj2zq8hi7xd25a3iikd12dc4f6"; }; }; From c07679d2efbc8568a637736a6d33359c1e3133c3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:56:47 +0200 Subject: [PATCH 380/880] perlPackages.PPIxRegexp: update from 0.034 to 0.036 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6c38c8f6c2a..de57c1c5b70 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6788,10 +6788,10 @@ let self = _self // overrides; _self = with self; { }; PPIxRegexp = buildPerlPackage { - name = "PPIx-Regexp-0.034"; + name = "PPIx-Regexp-0.036"; src = fetchurl { - url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.034.tar.gz; - sha256 = "512a358f4bd6196df0601ff36f7831e0ba142fb8ef2bc3995e19bceabd0b5ae7"; + url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.036.tar.gz; + sha256 = "1nnaxf1dmywacdgh8f1s2ki8jkrf2vi6bfhk70p1r9k1001idlfk"; }; propagatedBuildInputs = [ ListMoreUtils PPI TaskWeaken ]; meta = { From fcec9de869b4833318b2eb2094469d35275078c6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:56:51 +0200 Subject: [PATCH 381/880] perlPackages.PSGI: update from 1.03 to 1.102 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index de57c1c5b70..84b41d8b716 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6824,10 +6824,10 @@ let self = _self // overrides; _self = with self; { }; PSGI = buildPerlPackage rec { - name = "PSGI-1.03"; + name = "PSGI-1.102"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/${name}.tar.gz"; - sha256 = "0b1k7smg50xfdhrjifa2gkkm52vna41alvbw8vb2pk99jmgnngh6"; + sha256 = "0iqzxs8fv63510knm3zr3jr3ky4x7diwd7y24mlshzci81kl8v55"; }; }; From 5adbf4d447a4dd1229eaeb0627834e5e444d7083 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:56:55 +0200 Subject: [PATCH 382/880] perlPackages.PackageStash: update from 0.34 to 0.36 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 84b41d8b716..2e9339042ff 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6488,10 +6488,10 @@ let self = _self // overrides; _self = with self; { }; PackageStash = buildPerlPackage { - name = "Package-Stash-0.34"; + name = "Package-Stash-0.36"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.34.tar.gz; - sha256 = "1674zs96ndq3czs6v8xkdqqz4fnka0i2835nnns9zbw2q01yirj6"; + url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.36.tar.gz; + sha256 = "1wbkdkm5gp5cpp84kr9cbbsrg0v908kxrcg4k86mx8ypgj6g8750"; }; buildInputs = [ DistCheckConflicts TestFatal TestRequires ]; propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation PackageDeprecationManager ]; From 3aed6ef4e900a0921e04a25c67cd212f2f950ae4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:56:59 +0200 Subject: [PATCH 383/880] perlPackages.PackageStashXS: update from 0.26 to 0.28 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2e9339042ff..ef5e8d28e5a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6503,10 +6503,10 @@ let self = _self // overrides; _self = with self; { }; PackageStashXS = buildPerlPackage { - name = "Package-Stash-XS-0.26"; + name = "Package-Stash-XS-0.28"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.26.tar.gz; - sha256 = "1pfdpb3x40f5ldp5kp0d9xvrz4wk2fc3ww53wrq4dp326s08h7r9"; + url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-XS-0.28.tar.gz; + sha256 = "11nl69n8i56p91pd0ia44ip0vpv2cxwpbfakrv01vvv8az1cbn13"; }; buildInputs = [ TestRequires TestFatal ]; meta = { From 5a410b1a9d46f164ce3c5e8a73d8e1dba7e075ec Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:03 +0200 Subject: [PATCH 384/880] perlPackages.PadWalker: update from 1.96 to 1.98 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ef5e8d28e5a..49748367f66 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6832,10 +6832,10 @@ let self = _self // overrides; _self = with self; { }; PadWalker = buildPerlPackage { - name = "PadWalker-1.96"; + name = "PadWalker-1.98"; src = fetchurl { - url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-1.96.tar.gz; - sha256 = "180c72l3ssnsdbyifl9lzdz83x4zidf3nfgyx6l0j41a5wj0w9fz"; + url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-1.98.tar.gz; + sha256 = "0v2pldb5awflf10w1p9pwn8w37lkpfc2h459gd9zz6p57883ibw0"; }; meta = { }; From 2c967e872eadf17f132bdcf639d39a60f547dc27 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:06 +0200 Subject: [PATCH 385/880] perlPackages.ParamsValidate: update from 1.07 to 1.08 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 49748367f66..bc6fca2944f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6539,10 +6539,10 @@ let self = _self // overrides; _self = with self; { }; ParamsValidate = buildPerlModule { - name = "Params-Validate-1.07"; + name = "Params-Validate-1.08"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.07.tar.gz; - sha256 = "15mz2wxarxjlr3365m1hhcnfs6d2mw3m0yimnlv06j13cxs39py1"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.08.tar.gz; + sha256 = "0641hbz5bx6jnk8dx2djnkd67fh7h1zx6x1bgmivkrh2yky9ch6h"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ ModuleImplementation ]; From 0f845d8e8b16807653c5608359a2a77d8bae52a1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:10 +0200 Subject: [PATCH 386/880] perlPackages.ParseRecDescent: update from 1.965001 to 1.967009 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bc6fca2944f..03afc7288df 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6582,10 +6582,10 @@ let self = _self // overrides; _self = with self; { }; ParseRecDescent = buildPerlPackage rec { - name = "Parse-RecDescent-1.965001"; + name = "Parse-RecDescent-1.967009"; src = fetchurl { - url = "mirror://cpan/authors/id/D/DC/DCONWAY/${name}.tar.gz"; - sha256 = "0r4dnrjgxv5irkyx1kgkg8vj6wqx67q5hbkifpb54906kc1n7yh0"; + url = "mirror://cpan/authors/id/J/JT/JTBRAUN/${name}.tar.gz"; + sha256 = "11y6fpz4j6kdimyaz2a6ig0jz0x7csqslhxaipxnjqi5h85hy071"; }; }; From 745dd43b0513b359b86f1d0c30e4ec515c43cc17 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:13 +0200 Subject: [PATCH 387/880] perlPackages.PathClass: update from 0.29 to 0.33 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 03afc7288df..f825775ba54 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6590,10 +6590,10 @@ let self = _self // overrides; _self = with self; { }; PathClass = buildPerlPackage { - name = "Path-Class-0.29"; + name = "Path-Class-0.33"; src = fetchurl { - url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.29.tar.gz; - sha256 = "1z3wvci2qcb1m9qrkxphbnfnr4jqgxbxnxrmdb25ks8gap98hk4z"; + url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.33.tar.gz; + sha256 = "0xy6s04xpslpzbb90x67yvfv0pjqnj1szxlx16vfx690iskcd36d"; }; meta = { description = "Cross-platform path specification manipulation"; From 09c37dbe2e2e293ddd0329789915d5326e9bac38 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:17 +0200 Subject: [PATCH 388/880] perlPackages.PathTiny: update from 0.026 to 0.052 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f825775ba54..b850d6f8514 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6602,10 +6602,10 @@ let self = _self // overrides; _self = with self; { }; PathTiny = buildPerlPackage { - name = "Path-Tiny-0.026"; + name = "Path-Tiny-0.052"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.026.tar.gz; - sha256 = "e79ee187bbf7fdef387886a8c929bd0a1171fb54db1984d79f4e04d90f733cc6"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.052.tar.gz; + sha256 = "1b70yhbdww9k5m4a4lhdd71jrxdxhi10533slmxynxa04nyn2f0a"; }; buildInputs = [ DevelHide Filepushd TestDeep TestFailWarnings TestFatal perl ]; propagatedBuildInputs = [ autodie ]; From ef5891c1fbb7ada5a39997defe000563882e8708 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:20 +0200 Subject: [PATCH 389/880] perlPackages.PerlCritic: update from 1.118 to 1.121 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b850d6f8514..74a2f40df1f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6635,10 +6635,10 @@ let self = _self // overrides; _self = with self; { }; PerlCritic = buildPerlPackage { - name = "Perl-Critic-1.118"; + name = "Perl-Critic-1.121"; src = fetchurl { - url = mirror://cpan/authors/id/T/TH/THALJEF/Perl-Critic-1.118.tar.gz; - sha256 = "666d2bef3ac924598c06a05277680da5910e10d94c5ec161336f6509c11155e8"; + url = mirror://cpan/authors/id/T/TH/THALJEF/Perl-Critic-1.121.tar.gz; + sha256 = "1y2bxjwzlp6ix51h36a5g3dqpaviaajij1rn22hpvcqxh4hh6car"; }; buildInputs = [ TestDeep ]; propagatedBuildInputs = [ BKeywords ConfigTiny EmailAddress ExceptionClass IOString ListMoreUtils PPI PPIxRegexp PPIxUtilities PerlTidy PodSpell Readonly StringFormat TaskWeaken ]; From 3594bdb5086e9f0ed3116f53212ea154fb6d44ce Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:24 +0200 Subject: [PATCH 390/880] perlPackages.PerlIOviadynamic: update from 0.12 to 0.14 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 74a2f40df1f..2e69e8f009d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6658,10 +6658,10 @@ let self = _self // overrides; _self = with self; { }; PerlIOviadynamic = buildPerlPackage { - name = "PerlIO-via-dynamic-0.12"; + name = "PerlIO-via-dynamic-0.14"; src = fetchurl { - url = mirror://cpan/authors/id/C/CL/CLKAO/PerlIO-via-dynamic-0.12.tar.gz; - sha256 = "140hay9q8q9sz1fa2s57ijp5l2448fkcg7indgn6k4vc7yshmqz2"; + url = mirror://cpan/authors/id/A/AL/ALEXMV/PerlIO-via-dynamic-0.14.tar.gz; + sha256 = "0jbb3xpbqzmr625blvnjszd69l3cwxzi7bhmkj5x48dgv3s7mkca"; }; }; From f85e0bf18d91bb91b1dc406d53890e13de97f711 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:29 +0200 Subject: [PATCH 391/880] perlPackages.PerlMagick: update from 6.86 to 6.87 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2e69e8f009d..c883549dbd0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6674,10 +6674,10 @@ let self = _self // overrides; _self = with self; { }; PerlMagick = buildPerlPackage rec { - name = "PerlMagick-6.86"; + name = "PerlMagick-6.87"; src = fetchurl { url = "mirror://cpan/authors/id/J/JC/JCRISTY/${name}.tar.gz"; - sha256 = "18xgh8r9pjxg9yi119gnsln1r4p4sk1r8bxd3iy0qj77frmksisi"; + sha256 = "1bf2g80wdny2dfrrmfgk7cqrxzflx3qp1dnd3919grvrqdviyh16"; }; buildInputs = [pkgs.imagemagick]; preConfigure = From 16baef6c4f6aaee80100282e9558792446a3f6df Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:34 +0200 Subject: [PATCH 392/880] perlPackages.PerlOSType: update from 1.002 to 1.007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c883549dbd0..b65a59a48ad 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6688,10 +6688,10 @@ let self = _self // overrides; _self = with self; { }; PerlOSType = buildPerlPackage rec { - name = "Perl-OSType-1.002"; + name = "Perl-OSType-1.007"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Perl/${name}.tar.gz"; - sha256 = "0clbfgq0800dip3821ibh29vrwcc159qnakidbiqrmhcisd95xbs"; + url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/${name}.tar.gz"; + sha256 = "0aryn8dracfjfnks07b5rvsza4csinlsj6cn92jv3sv8sg3rmdxk"; }; }; From 5ba155ff1c53ca3862d69b06925da1403a903615 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:37 +0200 Subject: [PATCH 393/880] perlPackages.PerlPrereqScanner: update from 1.018 to 1.019 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b65a59a48ad..cfb70353672 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6864,10 +6864,10 @@ let self = _self // overrides; _self = with self; { }; PerlPrereqScanner = buildPerlPackage { - name = "Perl-PrereqScanner-1.018"; + name = "Perl-PrereqScanner-1.019"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.018.tar.gz; - sha256 = "11zkam8svpgcjhjda0ap3afd797a69ndcc64fy3xw0j8v8kxa6hc"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.019.tar.gz; + sha256 = "1ndgq2c7s1042c3zxjsmjfpf4lnwfg6w36hmvhh3yk9qihcprbgj"; }; buildInputs = [ PPI TryTiny ]; propagatedBuildInputs = [ GetoptLongDescriptive ListMoreUtils ModulePath Moose PPI ParamsUtil StringRewritePrefix namespaceautoclean ]; From 0dc0068ac9ee720860e95e029f8e470bb16ea7ad Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:40 +0200 Subject: [PATCH 394/880] perlPackages.Plack: update from 1.0024 to 1.0030 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cfb70353672..b89597188e9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6716,10 +6716,10 @@ let self = _self // overrides; _self = with self; { }; Plack = buildPerlPackage { - name = "Plack-1.0024"; + name = "Plack-1.0030"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0024.tar.gz; - sha256 = "485f69275d73401739a829cfee3bbc9bfa20a0843470791066365ac07fac04a1"; + url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0030.tar.gz; + sha256 = "0bb9aqb0h9q4qjgkw756gf695h4qg6vim54s6f2icgsazdi63zq7"; }; buildInputs = [ FileShareDirInstall TestRequires ]; propagatedBuildInputs = [ ApacheLogFormatCompiler DevelStackTrace DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPBody HTTPMessage HashMultiValue LWP StreamBuffered TestTCP TryTiny URI ]; From c7298cceb513a779bac9b708397d02cf38ed6614 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:44 +0200 Subject: [PATCH 395/880] perlPackages.PodCoverage: update from 0.19 to 0.23 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b89597188e9..e48fbd255e8 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6892,10 +6892,10 @@ let self = _self // overrides; _self = with self; { }; PodCoverage = buildPerlPackage rec { - name = "Pod-Coverage-0.19"; + name = "Pod-Coverage-0.23"; src = fetchurl { url = "mirror://cpan/authors/id/R/RC/RCLAMP/${name}.tar.gz"; - sha256 = "1krsz4zwmnmq3z29p5vmyr5fdzrn8v0sg6rf3qxk7xpxw4z5np84"; + sha256 = "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh"; }; propagatedBuildInputs = [DevelSymdump]; }; From de844a8a78d0df67db34ed116ac922f58bb6db07 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:47 +0200 Subject: [PATCH 396/880] perlPackages.PodElemental: update from 0.102362 to 0.103000 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e48fbd255e8..aebf06dc445 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6915,10 +6915,10 @@ let self = _self // overrides; _self = with self; { }; PodElemental = buildPerlPackage { - name = "Pod-Elemental-0.102362"; + name = "Pod-Elemental-0.103000"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.102362.tar.gz; - sha256 = "2b56a2783650f170bc7131bb36de65e4e3372a54bab596a798debebbf2af8732"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.103000.tar.gz; + sha256 = "0ykf49n6ysm7ab5zwm8a009zzrzsnhxw94a9jvbq80yywzhnm847"; }; buildInputs = [ TestDeep TestDifferences ]; propagatedBuildInputs = [ MixinLinewise Moose MooseAutobox MooseXTypes PodEventual StringRewritePrefix StringTruncate SubExporter SubExporterForMethods TestDeep TestDifferences namespaceautoclean ]; From 61db692996eb72e71af38896dc90b8ac740a541d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:50 +0200 Subject: [PATCH 397/880] perlPackages.PodEscapes: update from 1.04 to 1.06 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index aebf06dc445..b89484f2ba2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6945,10 +6945,10 @@ let self = _self // overrides; _self = with self; { }; PodEscapes = buildPerlPackage { - name = "Pod-Escapes-1.04"; + name = "Pod-Escapes-1.06"; src = fetchurl { - url = mirror://cpan/authors/id/S/SB/SBURKE/Pod-Escapes-1.04.tar.gz; - sha256 = "1wrg5dnsl785ygga7bp6qmakhjgh9n4g3jp2l85ab02r502cagig"; + url = mirror://cpan/authors/id/N/NE/NEILB/Pod-Escapes-1.06.tar.gz; + sha256 = "15dpzlgc2ywyxk2svc810nmyx6pm1nj8cji7a0rqr9x6m0v11xdm"; }; }; From 4ee3b69644f3cae7b5b8b3dae23344e8c3a6b1bf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:54 +0200 Subject: [PATCH 398/880] perlPackages.PodMarkdown: update from 1.322 to 2.000 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b89484f2ba2..0a142380126 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6980,10 +6980,10 @@ let self = _self // overrides; _self = with self; { }; PodMarkdown = buildPerlPackage { - name = "Pod-Markdown-1.322"; + name = "Pod-Markdown-2.000"; src = fetchurl { - url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-1.322.tar.gz; - sha256 = "375091d89d9662b0c41bedad391927d6904d05f740e1bb689b494b4b35e979f7"; + url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-2.000.tar.gz; + sha256 = "0qix7gmrc2ypm5dl1w5ajnjy32xlmy73wb3zycc1pxl5lipigsx8"; }; buildInputs = [ TestDifferences ]; meta = { From b587ad6d82b04b5dd9a66afddf4ba98d6739f1e7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:57:58 +0200 Subject: [PATCH 399/880] perlPackages.ProbePerl: update from 0.01 to 0.03 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0a142380126..0a836ea53d1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7026,10 +7026,10 @@ let self = _self // overrides; _self = with self; { }; ProbePerl = buildPerlPackage rec { - name = "Probe-Perl-0.01"; + name = "Probe-Perl-0.03"; src = fetchurl { url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/${name}.tar.gz"; - sha256 = "9b7d211139e42b2a2952c9a4b9f55ac12705e256f4a0acd4ac6ff665aeaddd87"; + sha256 = "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r"; }; }; From 4c6399941c6a8ef338cd5145fdcdff9322f55914 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:01 +0200 Subject: [PATCH 400/880] perlPackages.Redis: update from 1.961 to 1.2001 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0a836ea53d1..1e5c5892f36 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7050,10 +7050,10 @@ let self = _self // overrides; _self = with self; { }; Redis = buildPerlPackage { - name = "Redis-1.961"; + name = "Redis-1.2001"; src = fetchurl { - url = mirror://cpan/authors/id/M/ME/MELO/Redis-1.961.tar.gz; - sha256 = "029g4s1ima354yv1j26nlq4f0yahkllkibicml6p3mj5gg2ywbbq"; + url = mirror://cpan/authors/id/D/DP/DPAVLIN/Redis-1.2001.tar.gz; + sha256 = "1d16dr2qjmb3vswghrk5ygggcmz2rzw7qnw3g87prwi08z5ryih0"; }; buildInputs = [ IOString TestDeep TestFatal ]; propagatedBuildInputs = [ TryTiny ]; From a051b5a491f5ed082f0de0c22013935855e88bc9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:05 +0200 Subject: [PATCH 401/880] perlPackages.ReturnValue: update from 1.302 to 1.666004 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1e5c5892f36..238fd657ebf 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7130,10 +7130,10 @@ let self = _self // overrides; _self = with self; { }; ReturnValue = buildPerlPackage { - name = "Return-Value-1.302"; + name = "Return-Value-1.666004"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.302.tar.gz; - sha256 = "0hf5rmfap49jh8dnggdpvapy5r4awgx5hdc3acc9ff0vfqav8azm"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666004.tar.gz; + sha256 = "0xr7ic212p36arzdpph2l2yy1y88c7qaf4nng3gqb29zc9kzy3bc"; }; }; From 9ca920edd45befcce8ddf98a0065e3aef89261d7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:08 +0200 Subject: [PATCH 402/880] perlPackages.RoleHasMessage: update from 0.005 to 0.006 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 238fd657ebf..cdb514c26ab 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7138,10 +7138,10 @@ let self = _self // overrides; _self = with self; { }; RoleHasMessage = buildPerlPackage { - name = "Role-HasMessage-0.005"; + name = "Role-HasMessage-0.006"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.005.tar.gz; - sha256 = "bc6cecf3022159dc415fb931e38291425d6aa8a9542d980b14ea692141337ca9"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.006.tar.gz; + sha256 = "1lylfvarjfy6wy34dfny3032pc6r33mjby5yzzhmxybg8zhdp9pn"; }; buildInputs = [ Moose ]; propagatedBuildInputs = [ Moose MooseXRoleParameterized StringErrf TryTiny namespaceclean ]; From 53a801d5694aaa36d2939d3f6b080e55fa002fa7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:11 +0200 Subject: [PATCH 403/880] perlPackages.RoleIdentifiable: update from 0.005 to 0.007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cdb514c26ab..6f6d68615e0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7152,10 +7152,10 @@ let self = _self // overrides; _self = with self; { }; RoleIdentifiable = buildPerlPackage { - name = "Role-Identifiable-0.005"; + name = "Role-Identifiable-0.007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.005.tar.gz; - sha256 = "86910b6052d50bc64d1613bc1274f2ae17d553bfc3f0247a3fe3f7bb2cdd3aee"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.007.tar.gz; + sha256 = "1bbkj2wqpbfdw1cbm99vg9d94rvzba19m18xhnylaym0l78lc4sn"; }; buildInputs = [ Moose ]; propagatedBuildInputs = [ Moose ]; From 36e00c99bc75903509a51ed180c1459473d29b7c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:15 +0200 Subject: [PATCH 404/880] perlPackages.RoleTiny: update from 1.002004 to 1.003003 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6f6d68615e0..ed7a71f0bad 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7166,10 +7166,10 @@ let self = _self // overrides; _self = with self; { }; RoleTiny = buildPerlPackage { - name = "Role-Tiny-1.002004"; + name = "Role-Tiny-1.003003"; src = fetchurl { - url = mirror://cpan/authors/id/I/IL/ILMARI/Role-Tiny-1.002004.tar.gz; - sha256 = "0n126kazifmx6grdk4rmq226xklfc996cqw4ix26z9jcccl4v756"; + url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-1.003003.tar.gz; + sha256 = "1k823g4wnya18yx2v1xrfl73qqavqpzvaydyg1r7gdzcdvdwl4mp"; }; buildInputs = [ TestFatal ]; meta = { From 290b3b42c86a9d1f8cb55340cb9c887e3bb8b84d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:18 +0200 Subject: [PATCH 405/880] perlPackages.RpcXML: update from 0.73 to 0.78 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ed7a71f0bad..31fbf128bc5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7120,10 +7120,10 @@ let self = _self // overrides; _self = with self; { }; RpcXML = buildPerlPackage { - name = "RPC-XML-0.73"; + name = "RPC-XML-0.78"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.73.tar.gz; - sha256 = "a023649603240e7a19fc52a8316a41c854639c0600058ea4d1e436fe1b1b7734"; + url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.78.tar.gz; + sha256 = "0spci3sj2hq9k916sk9k2gchqrbnz9lwmlcnwf1k33wzl8j2gh52"; }; propagatedBuildInputs = [LWP XMLLibXML XMLParser]; doCheck = false; From 9f4358e8d58c86debb908bee51a1b8b78692947d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:23 +0200 Subject: [PATCH 406/880] perlPackages.SOAPLite: update from 0.716 to 1.11 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 31fbf128bc5..074f439415b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7278,10 +7278,10 @@ let self = _self // overrides; _self = with self; { }; SOAPLite = buildPerlPackage { - name = "SOAP-Lite-0.716"; + name = "SOAP-Lite-1.11"; src = fetchurl { - url = mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-0.716.tar.gz; - sha256 = "0vhnv5bdhy3gzwiaw1ly69r7lxvahz796v210x5nyij7a04ndwbz"; + url = mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-1.11.tar.gz; + sha256 = "1zhy06v72r95ih3lx5rlx0bvkq214ndmcmn97m5k2rkxxy4ybpp4"; }; propagatedBuildInputs = [ ClassInspector HTTPDaemon LWP TaskWeaken URI XMLParser ]; meta = { From 4578679a41219bbe29e5cc25b164c083da02d43c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:26 +0200 Subject: [PATCH 407/880] perlPackages.SafeIsa: update from 1.000002 to 1.000004 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 074f439415b..ea06e2c3ed2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7192,10 +7192,10 @@ let self = _self // overrides; _self = with self; { }; SafeIsa = buildPerlPackage { - name = "Safe-Isa-1.000002"; + name = "Safe-Isa-1.000004"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSTROUT/Safe-Isa-1.000002.tar.gz; - sha256 = "07jr4fy6zbw9zwpalxzxlkn4nym6fd0304fsrb5ag0v156ygpwvl"; + url = mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000004.tar.gz; + sha256 = "0sqwma0xqxrgnsm0jfy17szq87bskzq67cdh7p934qdifh5nfwn9"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; From 481cb548162cd7a35fbaa866c307475d49015344 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:29 +0200 Subject: [PATCH 408/880] perlPackages.ScopeUpper: update from 0.21 to 0.24 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ea06e2c3ed2..8048c066daf 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7225,10 +7225,10 @@ let self = _self // overrides; _self = with self; { }; ScopeUpper = buildPerlPackage { - name = "Scope-Upper-0.21"; + name = "Scope-Upper-0.24"; src = fetchurl { - url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.21.tar.gz; - sha256 = "058nfnzp31k7hmdvbsr72nvrw0i23gwjplb6g6pag3s18m7fl1p6"; + url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.24.tar.gz; + sha256 = "159jcwliyb7j80858pi052hkmhgy4cdbjha419kmhhqc9s1rhd5g"; }; meta = { homepage = http://search.cpan.org/dist/Scope-Upper/; From a0bf9e77f3b073342b5e4dee08bf3023053e24d8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:33 +0200 Subject: [PATCH 409/880] perlPackages.SetObject: update from 1.26 to 1.34 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8048c066daf..cac5f050deb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7249,10 +7249,10 @@ let self = _self // overrides; _self = with self; { }; SetObject = buildPerlPackage { - name = "Set-Object-1.26"; + name = "Set-Object-1.34"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SAMV/Set-Object-1.26.tar.gz; - sha256 = "1hx3wrw8xkvaggacc8zyn86hfi3079ahmia1n8vsw7dglp1bbhmj"; + url = mirror://cpan/authors/id/R/RU/RURBAN/Set-Object-1.34.tar.gz; + sha256 = "1dipd6k572pzqjzbj9vagb2k347qcg29lsxzx9y214bhnw7fgvjp"; }; }; From e79643d5eab91ab5ae19ab457dcafca8ac29d3e7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:36 +0200 Subject: [PATCH 410/880] perlPackages.SetScalar: update from 1.26 to 1.29 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cac5f050deb..a3fa4a3d27f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7257,10 +7257,10 @@ let self = _self // overrides; _self = with self; { }; SetScalar = buildPerlPackage { - name = "Set-Scalar-1.26"; + name = "Set-Scalar-1.29"; src = fetchurl { - url = mirror://cpan/authors/id/J/JH/JHI/Set-Scalar-1.26.tar.gz; - sha256 = "121r9n8lqk081vjzn9ppm4zklz1l0c0v0ab94c05y5vrsn5l0zl8"; + url = mirror://cpan/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz; + sha256 = "07aiqkyi1p22drpcyrrmv7f8qq6fhrxh007achy2vryxyck1bp53"; }; meta = { license = "perl"; From ffba45324f7d097b8b71b6041a0eedde06fa514a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:40 +0200 Subject: [PATCH 411/880] perlPackages.Socket6: update from 0.23 to 0.25 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a3fa4a3d27f..8b84c885adc 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7293,10 +7293,10 @@ let self = _self // overrides; _self = with self; { }; Socket6 = buildPerlPackage rec { - name = "Socket6-0.23"; + name = "Socket6-0.25"; src = fetchurl { url = "mirror://cpan/authors/id/U/UM/UMEMOTO/${name}.tar.gz"; - sha256 = "eda753f0197e8c3c8d4ab20a634561ce84011fa51aa5ff40d4dbcb326ace0833"; + sha256 = "1ads4k4vvq6pnxkdw0s8gaj03w4h9snxyw7zyikfzd20fy76yx6s"; }; buildInputs = [ pkgs.which ]; }; From 872ff90fd164715e18d132719a402b5caaf6e0db Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:45 +0200 Subject: [PATCH 412/880] perlPackages.SpreadsheetParseExcel: update from 0.58 to 0.2603 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8b84c885adc..09509bad862 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7333,10 +7333,10 @@ let self = _self // overrides; _self = with self; { }; SpreadsheetParseExcel = buildPerlPackage rec { - name = "Spreadsheet-ParseExcel-0.58"; + name = "Spreadsheet-ParseExcel-0.2603"; src = fetchurl { - url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/${name}.tar.gz"; - sha256 = "1ha32kfgf0b9mk00dvsx0jq72xsx0qskmgrnixcdfh044lcxzk17"; + url = "mirror://cpan/authors/id/K/KW/KWITKNR/${name}.tar.gz"; + sha256 = "0q5qq982528cdpqdj2wszrnf5g2rfphx0b413lczx7nvkkyy9xqz"; }; propagatedBuildInputs = [ IOStringy OLEStorageLight ]; From 83e8666cdded9d0aadb6a12ca71c6b2be0825326 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:48 +0200 Subject: [PATCH 413/880] perlPackages.StringCRC32: update from 1.4 to 1.5 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 09509bad862..765290eb953 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7494,10 +7494,10 @@ let self = _self // overrides; _self = with self; { }; StringCRC32 = buildPerlPackage rec { - name = "String-CRC32-1.4"; + name = "String-CRC32-1.5"; src = fetchurl { - url = mirror://cpan/authors/id/S/SO/SOENKE/String-CRC32-1.4.tar.gz; - sha256 = "0lc3d4szxagwzcw6pxq3mmkvdlrz2zkw4i13crf42nvivv7gda8l"; + url = mirror://cpan/authors/id/S/SO/SOENKE/String-CRC32-1.5.tar.gz; + sha256 = "0m3hjk292hnxyi8nkfy8hlr1khnbf2clgkb4kzj0ycq8gcd2z0as"; }; meta = { maintainers = with maintainers; [ ocharles ]; From 110a78818e0ebb3d5f0c7aa4878e125fb835d15e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:52 +0200 Subject: [PATCH 414/880] perlPackages.StringErrf: update from 0.006 to 0.007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 765290eb953..4c5c527e707 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7506,10 +7506,10 @@ let self = _self // overrides; _self = with self; { }; StringErrf = buildPerlPackage { - name = "String-Errf-0.006"; + name = "String-Errf-0.007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.006.tar.gz; - sha256 = "2c09631fbece8e85a94785abede882f5d29e0f21f72239d01332b3bafd9c53ac"; + url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.007.tar.gz; + sha256 = "1apnmxdsqwrvn1kkbba4sw6yh6hdfxxar545p6m9dkid7xsiqjfj"; }; buildInputs = [ JSON TimeDate ]; propagatedBuildInputs = [ ParamsUtil StringFormatter SubExporter ]; From 9bac327a0dc8a3fdd6d7b787d51c401824e85ad6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:55 +0200 Subject: [PATCH 415/880] perlPackages.StringFormat: update from 1.16 to 1.17 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4c5c527e707..c6801e25242 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7546,10 +7546,10 @@ let self = _self // overrides; _self = with self; { }; StringFormat = buildPerlPackage rec { - name = "String-Format-1.16"; + name = "String-Format-1.17"; src = fetchurl { url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz"; - sha256 = "edb27dd055ad71012a439f262f9394517adb585a5c27ba72c1819bae2c23729a"; + sha256 = "0sxfavcsb349rfafxflq2f9h3xpxabrw0q7vhmh9n3hjij8fa1jk"; }; }; From 8a1d56b8fc09fb433fbc301d6239982e7b49ab77 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:58:58 +0200 Subject: [PATCH 416/880] perlPackages.StringMkPasswd: update from 0.02 to 0.05 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c6801e25242..9eb79008037 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7567,10 +7567,10 @@ let self = _self // overrides; _self = with self; { }; StringMkPasswd = buildPerlPackage { - name = "String-MkPasswd-0.02"; + name = "String-MkPasswd-0.05"; src = fetchurl { - url = mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.02.tar.gz; - sha256 = "0si4xfgf8c2pfag1cqbr9jbyvg3hak6wkmny56kn2qwa4ljp9bk6"; + url = mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.05.tar.gz; + sha256 = "15lvcc8c9hp6mg3jx02wd3b85aphn8yl5db62q3pam04c0sgh42k"; }; }; From ba3e8121b730f40692c600d310882c49434504ea Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:02 +0200 Subject: [PATCH 417/880] perlPackages.StringRewritePrefix: update from 0.006 to 0.007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9eb79008037..b7003dffa73 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7575,10 +7575,10 @@ let self = _self // overrides; _self = with self; { }; StringRewritePrefix = buildPerlPackage { - name = "String-RewritePrefix-0.006"; + name = "String-RewritePrefix-0.007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.006.tar.gz; - sha256 = "1b9fg805g0agsyij28w8hhmnf485bii8zl03i092mv1p2hqrpxll"; + url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.007.tar.gz; + sha256 = "18nxl1vgkcx0r7ifkmbl9fp73f8ihiqhqqf3vq6sj5b3cgawrfsw"; }; propagatedBuildInputs = [ SubExporter ]; meta = { From 2c6ece8bad0c7484c37f564c4c18fc622040d1a8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:05 +0200 Subject: [PATCH 418/880] perlPackages.StringToIdentifierEN: update from 0.10 to 0.11 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b7003dffa73..1fa0b9e11d6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7601,10 +7601,10 @@ let self = _self // overrides; _self = with self; { }; StringToIdentifierEN = buildPerlPackage rec { - name = "String-ToIdentifier-EN-0.10"; + name = "String-ToIdentifier-EN-0.11"; src = fetchurl { - url = "mirror://cpan/modules/by-module/String/${name}.tar.gz"; - sha256 = "1xm0v1cq9hdgx4mswa9wdr2lqk7z9kh1bwjkx4wb5xljd0lxhas6"; + url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz"; + sha256 = "1bawghkgkkx7j3avnrj5sg3vix1z5564ks6wf9az3jc2knh8s5nh"; }; propagatedBuildInputs = [ LinguaENInflectPhrase TextUnidecode namespaceclean ]; From dfac5cabcebe6a2c380dc894e3357d94d7d36f91 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:08 +0200 Subject: [PATCH 419/880] perlPackages.StringTruncate: update from 1.100601 to 1.100602 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1fa0b9e11d6..86bc49b515b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7611,10 +7611,10 @@ let self = _self // overrides; _self = with self; { }; StringTruncate = buildPerlPackage { - name = "String-Truncate-1.100601"; + name = "String-Truncate-1.100602"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100601.tar.gz; - sha256 = "1mas04qa6sj6x34mid8i6swddcnb3c9zfkgkd72kvz5zip2f4f24"; + url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100602.tar.gz; + sha256 = "0vjz4fd4cvcy12gk5bdha7z73ifmfpmk748khha94dhiq3pd98xa"; }; propagatedBuildInputs = [ SubExporter SubInstall ]; meta = { From 38f98cb4f9a5b1d4a0df70398be7840e0e783166 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:12 +0200 Subject: [PATCH 420/880] perlPackages.SubExporterForMethods: update from 0.100050 to 0.100051 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 86bc49b515b..a6f6a971e8d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7666,10 +7666,10 @@ let self = _self // overrides; _self = with self; { }; SubExporterForMethods = buildPerlPackage { - name = "Sub-Exporter-ForMethods-0.100050"; + name = "Sub-Exporter-ForMethods-0.100051"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100050.tar.gz; - sha256 = "67dfaa39c58995ed1d341d7f2e785a68b7ba4ade72608f491459b8d2dee6df33"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100051.tar.gz; + sha256 = "127wniw53p7pp7r2vazicply3v1gmnhw4w7jl6p74i0grnsixipm"; }; propagatedBuildInputs = [ SubExporter SubName ]; meta = { From 515e5a3bee5f2b075f3de8d3aca43bd20875216b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:16 +0200 Subject: [PATCH 421/880] perlPackages.SubExporterGlobExporter: update from 0.003 to 0.004 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a6f6a971e8d..0918a933ace 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7679,10 +7679,10 @@ let self = _self // overrides; _self = with self; { }; SubExporterGlobExporter = buildPerlPackage { - name = "Sub-Exporter-GlobExporter-0.003"; + name = "Sub-Exporter-GlobExporter-0.004"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.003.tar.gz; - sha256 = "4cb082331151360756f3b2f8122fdd44597a207d62bd3f2ecb13578005116ab1"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.004.tar.gz; + sha256 = "025wgjavrbzh52jb4v0w2fxqh7r5181k935h9cyy2rm1qk49fg8p"; }; propagatedBuildInputs = [ SubExporter ]; meta = { From 2443fb656b716ba960e10a65acb7fbbb6f76f72c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:20 +0200 Subject: [PATCH 422/880] perlPackages.SubExporterProgressive: update from 0.001006 to 0.001011 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0918a933ace..ceefcf8cfcb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7693,10 +7693,10 @@ let self = _self // overrides; _self = with self; { }; SubExporterProgressive = buildPerlPackage { - name = "Sub-Exporter-Progressive-0.001006"; + name = "Sub-Exporter-Progressive-0.001011"; src = fetchurl { - url = mirror://cpan/authors/id/L/LE/LEONT/Sub-Exporter-Progressive-0.001006.tar.gz; - sha256 = "0s13fz86c8slhgban10sywp2skjdxnl3nvkqqy7pbwg81g3v9rr2"; + url = mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001011.tar.gz; + sha256 = "01kwzbqwdhvadpphnczid03nlyj0h4cxaq3m3v2401bckkkcc606"; }; meta = { homepage = http://search.cpan.org/perldoc?CPAN::Meta::Spec; From bf37d845a44f5454f50448d787391f78dfe86d5d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:24 +0200 Subject: [PATCH 423/880] perlPackages.SubName: update from 0.05 to 0.0502 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ceefcf8cfcb..8042d088ddf 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7741,10 +7741,10 @@ let self = _self // overrides; _self = with self; { }; SubName = buildPerlPackage { - name = "Sub-Name-0.05"; + name = "Sub-Name-0.0502"; src = fetchurl { - url = mirror://cpan/authors/id/F/FL/FLORA/Sub-Name-0.05.tar.gz; - sha256 = "1w9sf51ai2r3i0kv5wnq7h9g3hcd6zb6i51ivvykb3hzx82vilf9"; + url = mirror://cpan/authors/id/C/CH/CHIPS/Sub-Name-0.0502.tar.gz; + sha256 = "1r197binpdy4xfh65qkxxvi9c39pmvvcny4rl8a7zrk1jcws6fac"; }; meta = { description = "(Re)name a sub"; From f3ceb4529259195b3cc8eea29cf112b4d7f039c6 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:28 +0200 Subject: [PATCH 424/880] perlPackages.Switch: update from 2.16 to 2.17 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8042d088ddf..f959fb0276d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7812,10 +7812,10 @@ let self = _self // overrides; _self = with self; { }; Switch = buildPerlPackage rec { - name = "Switch-2.16"; + name = "Switch-2.17"; src = fetchurl { - url = "mirror://cpan/authors/id/R/RG/RGARCIA/Switch-2.16.tar.gz"; - sha256 = "1n7rgp1q3zwglv1pka3bnhq5g41334lwc53g31w6g44my8kqz31h"; + url = "mirror://cpan/authors/id/C/CH/CHORNY/Switch-2.17.tar.gz"; + sha256 = "0xbdjdgzfj9zwa4j3ipr8bfk7bcici4hk89hq5d27rhg2isljd9i"; }; doCheck = false; # FIXME: 2/293 test failures }; From f8da8e1b54fb8736d9f14ca21bc055b389cfcc6f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:32 +0200 Subject: [PATCH 425/880] perlPackages.SyntaxKeywordJunction: update from 0.003006 to 0.003007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f959fb0276d..57c486df8b2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7847,10 +7847,10 @@ let self = _self // overrides; _self = with self; { }; SyntaxKeywordJunction = buildPerlPackage { - name = "Syntax-Keyword-Junction-0.003006"; + name = "Syntax-Keyword-Junction-0.003007"; src = fetchurl { - url = mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003006.tar.gz; - sha256 = "182ab56d86bf3acf292d4ed5893ae0134f43843cdadba3e18f9885e6f86035ec"; + url = mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003007.tar.gz; + sha256 = "0c8jvy5lkshw5gyl037gmkh7c51k3sdvpywq0zwlw4ikvrcgsglj"; }; propagatedBuildInputs = [ SubExporterProgressive TestRequires syntax ]; meta = { From 63b750c25763ea23d08ac5fad1c56f203eea4c27 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:36 +0200 Subject: [PATCH 426/880] perlPackages.TAPParserSourceHandlerpgTAP: update from 3.29 to 3.30 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 57c486df8b2..0f2d25d9739 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7869,10 +7869,10 @@ let self = _self // overrides; _self = with self; { }; TAPParserSourceHandlerpgTAP = buildPerlModule { - name = "TAP-Parser-SourceHandler-pgTAP-3.29"; + name = "TAP-Parser-SourceHandler-pgTAP-3.30"; src = fetchurl { - url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.29.tar.gz; - sha256 = "918aa9ada7a05334ace7304e7b9e002bbf0b569bfcf8fb06118777bdabd60e1b"; + url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.30.tar.gz; + sha256 = "08gadqf898r23sx07sn13555cp9zkwp8igjlh1fza2ycfivpfl9f"; }; meta = { homepage = http://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP/; From df775c9f0c49dc71a27bff226c6905fd651b753e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:39 +0200 Subject: [PATCH 427/880] perlPackages.TermProgressBar: update from 2.13 to 2.14 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0f2d25d9739..84b1b279775 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8019,10 +8019,10 @@ let self = _self // overrides; _self = with self; { }; TermProgressBar = buildPerlPackage { - name = "Term-ProgressBar-2.13"; + name = "Term-ProgressBar-2.14"; src = fetchurl { - url = mirror://cpan/authors/id/S/SZ/SZABGAB/Term-ProgressBar-2.13.tar.gz; - sha256 = "95a56e1529928b7a0d7adf5bc2f54b9b9ae9da58c43b519af74a1e6596209b3c"; + url = mirror://cpan/authors/id/S/SZ/SZABGAB/Term-ProgressBar-2.14.tar.gz; + sha256 = "18cj7mzbis9xk0v32g2700vq9b4p9v5msk02mglf244cj77bflf6"; }; buildInputs = [ CaptureTiny TestException ]; propagatedBuildInputs = [ ClassMethodMaker TermReadKey ]; From 1ac32ce082e58f81a0ffa0008cd5ecb62de3916e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:43 +0200 Subject: [PATCH 428/880] perlPackages.TermReadKey: update from 2.30 to 2.31 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 84b1b279775..cf0599b5179 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8055,10 +8055,10 @@ let self = _self // overrides; _self = with self; { }; TermReadKey = buildPerlPackage { - name = "TermReadKey-2.30"; + name = "TermReadKey-2.31"; src = fetchurl { - url = mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz; - md5 = "f0ef2cea8acfbcc58d865c05b0c7e1ff"; + url = mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.31.tar.gz; + sha256 = "1czarrdxgnxmmbaasjnq3sj14nf1cvzhm37padq6xvl7h7r2acb2"; }; }; From 702568c6b03cf1e8f2de87edeb0814a83e9aef2b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:47 +0200 Subject: [PATCH 429/880] perlPackages.TestBase: update from 0.60 to 0.62 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cf0599b5179..704fb05f013 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8132,10 +8132,10 @@ let self = _self // overrides; _self = with self; { }; TestBase = buildPerlPackage rec { - name = "Test-Base-0.60"; + name = "Test-Base-0.62"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz"; - sha256 = "0yf030nay85xzas1qxn1nw6lhfsrcbgh3nq7bxbb11nxhvdaj2bx"; + url = "mirror://cpan/authors/id/I/IN/INGY/${name}.tar.gz"; + sha256 = "1b11xllllp49kkq1wwr57pijqlx1c37nbyssdlszvvhrp6kww363"; }; propagatedBuildInputs = [ Spiffy ]; }; From 0c65639e50222cff778adee1071477e92226d58f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:51 +0200 Subject: [PATCH 430/880] perlPackages.TestDeep: update from 0.110 to 0.112 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 704fb05f013..dd6bf007344 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8167,10 +8167,10 @@ let self = _self // overrides; _self = with self; { }; TestDeep = buildPerlPackage { - name = "Test-Deep-0.110"; + name = "Test-Deep-0.112"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.110.tar.gz; - sha256 = "12rd9fknm778685ypyc599lcmzbqvbqnjhcrkybgpq2siai9q4h5"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-0.112.tar.gz; + sha256 = "1vg1bb1lpqpj0pxk738ykip4kw3agbi88g90wxb3pc11l84nlsan"; }; propagatedBuildInputs = [ TestNoWarnings TestTester ]; meta = { From f2d9a7231e1191cfcf357cc6f3adb065077eb44e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:55 +0200 Subject: [PATCH 431/880] perlPackages.TestDifferences: update from 0.61 to 0.4801 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index dd6bf007344..1f48312c8ae 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8179,10 +8179,10 @@ let self = _self // overrides; _self = with self; { }; TestDifferences = buildPerlPackage { - name = "Test-Differences-0.61"; + name = "Test-Differences-0.4801"; src = fetchurl { - url = mirror://cpan/authors/id/O/OV/OVID/Test-Differences-0.61.tar.gz; - sha256 = "044wg7nqmhvh5ms8z305f9bzldhigr020l1a7iqycxqv05h6b6vm"; + url = mirror://cpan/authors/id/O/OV/OVID/Test-Differences-0.4801.tar.gz; + sha256 = "1p5bqyq3gxfb1q4wajd28498fsbqk7f2y7pk9c3rnh0x36cqbvyw"; }; propagatedBuildInputs = [ TextDiff ]; meta = { From 6794e6c6c5b796896d025027876a07d59e4db471 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 13:59:59 +0200 Subject: [PATCH 432/880] perlPackages.TestException: update from 0.31 to 0.32 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1f48312c8ae..f43463fa938 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8222,10 +8222,10 @@ let self = _self // overrides; _self = with self; { }; TestException = buildPerlPackage rec { - name = "Test-Exception-0.31"; + name = "Test-Exception-0.32"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Test/${name}.tar.gz"; - sha256 = "1lyd6mcg00348xsn9fl59spx68a69ybli7h7gd2k0p4y21q8p0ks"; + url = "mirror://cpan/authors/id/A/AD/ADIE/${name}.tar.gz"; + sha256 = "0issbjh5yl62lpaff5zhn28zhbf8sv8n2g79vklfr5s703k2fi5s"; }; propagatedBuildInputs = [ SubUplevel ]; }; From 1b9a23e35570d8f76a31a1efa177cf6e2cd68775 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:03 +0200 Subject: [PATCH 433/880] perlPackages.TestMinimumVersion: update from 0.101080 to 0.101081 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f43463fa938..5b3fb79a9c5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8841,10 +8841,10 @@ let self = _self // overrides; _self = with self; { }; TestMinimumVersion = buildPerlPackage { - name = "Test-MinimumVersion-0.101080"; + name = "Test-MinimumVersion-0.101081"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101080.tar.gz; - sha256 = "51fc0bd73ece9d41887f8d0a57ee27fbc205c271c5b5246111efe7d3247ddfb0"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101081.tar.gz; + sha256 = "1javb92s0bl7gj2m3fsvzd0mn5r76clmayq8878mq12g4smdvpi2"; }; buildInputs = [ TestTester ]; propagatedBuildInputs = [ FileFindRule FileFindRulePerl PerlMinimumVersion YAMLTiny ]; From 8c51e9cadc5788c2c8f3de9452185f108860157e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:07 +0200 Subject: [PATCH 434/880] perlPackages.TestMockTime: update from 0.09 to 0.12 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5b3fb79a9c5..22482612b6a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8371,10 +8371,10 @@ let self = _self // overrides; _self = with self; { }; TestMockTime = buildPerlPackage rec { - name = "Test-MockTime-0.09"; + name = "Test-MockTime-0.12"; src = fetchurl { url = "mirror://cpan/authors/id/D/DD/DDICK/${name}.tar.gz"; - sha256 = "1j2riyikzyfkxsgkfdqirs7xa8q5d06b9klpk7l9sgydwqdvxdv3"; + sha256 = "104p9qsqcchfbxh6b6w7q9jhkwb4hc424js0cyivyanjm6bcqvj9"; }; }; From a36bb367f1e66d295b0d0340152a64a41936924f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:12 +0200 Subject: [PATCH 435/880] perlPackages.TestMojibake: update from 0.8 to 0.9 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 22482612b6a..b59d0e059e6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8379,10 +8379,10 @@ let self = _self // overrides; _self = with self; { }; TestMojibake = buildPerlPackage { - name = "Test-Mojibake-0.8"; + name = "Test-Mojibake-0.9"; src = fetchurl { - url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-0.8.tar.gz; - sha256 = "66d82ca4fe539bb69ee8179d96370e50777a9547176428baf4dbe190ef78b4cb"; + url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-0.9.tar.gz; + sha256 = "0b7jamkmws6k3cvzwrz3r5vcpjrdhr8wndf82i5nx2z19xsy33ym"; }; meta = { homepage = https://github.com/creaktive/Test-Mojibake; From 7f6a6111b761f6a3a086e93d407154fbdbe6f994 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:18 +0200 Subject: [PATCH 436/880] perlPackages.TestMost: update from 0.31 to 0.33 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b59d0e059e6..1cc94f959e3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8394,10 +8394,10 @@ let self = _self // overrides; _self = with self; { TestMore = TestSimple; TestMost = buildPerlPackage { - name = "Test-Most-0.31"; + name = "Test-Most-0.33"; src = fetchurl { - url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.31.tar.gz; - sha256 = "0ddc6034dc7cde3631dde41ecb558ed823fc07804bfd051b8ec9a70131862ab7"; + url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.33.tar.gz; + sha256 = "0jp4jcwk97bgf85wwyjpxfsx4165s6w1v4ymn9gnv03yn77inyij"; }; propagatedBuildInputs = [ ExceptionClass TestDeep TestDifferences TestException TestWarn ]; meta = { From 781d9a018599d4171c4b508d77282bb859be81d9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:21 +0200 Subject: [PATCH 437/880] perlPackages.TestRoutine: update from 0.015 to 0.018 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1cc94f959e3..40a95c46747 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8523,10 +8523,10 @@ let self = _self // overrides; _self = with self; { }; TestRoutine = buildPerlPackage { - name = "Test-Routine-0.015"; + name = "Test-Routine-0.018"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.015.tar.gz; - sha256 = "04hm18sx90k38vxk70g8zj9wp0i7h4436cxflbc6pspvphv2fjg3"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.018.tar.gz; + sha256 = "1slaljcija2pbsxdyrqsh09pgajxbln68gb47l9fwffb6gsp5f3m"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ Moose namespaceautoclean namespaceclean ParamsUtil SubExporter ]; From 64c178f2c4ef3b50ddc3a0ca4291ac5528a18004 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:25 +0200 Subject: [PATCH 438/880] perlPackages.TestSynopsis: update from 0.06 to 0.10 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 40a95c46747..85c458c43a0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8568,10 +8568,10 @@ let self = _self // overrides; _self = with self; { }; TestSynopsis = buildPerlPackage { - name = "Test-Synopsis-0.06"; + name = "Test-Synopsis-0.10"; src = fetchurl { - url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-Synopsis-0.06.tar.gz; - sha256 = "fb3eed184eaf8a3c2338ec14b7235fa75fc43cf5f3774d927a4c947a5141db1b"; + url = mirror://cpan/authors/id/Z/ZO/ZOFFIX/Test-Synopsis-0.10.tar.gz; + sha256 = "0gbk4d2vwlldsj5shmbdar3a29vgrw84ldsvm26mflkr5ji34adv"; }; meta = { description = "Test your SYNOPSIS code"; From 9dbec03ddebb739436ba264fbb213adc9cdda325 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:29 +0200 Subject: [PATCH 439/880] perlPackages.TestWWWMechanizeCatalyst: update from 0.58 to 0.59 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 85c458c43a0..dd45234c8fe 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8698,10 +8698,10 @@ let self = _self // overrides; _self = with self; { }; TestWWWMechanizeCatalyst = buildPerlPackage { - name = "Test-WWW-Mechanize-Catalyst-0.58"; + name = "Test-WWW-Mechanize-Catalyst-0.59"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-WWW-Mechanize-Catalyst-0.58.tar.gz; - sha256 = "1pa2m064skxfwsm93hffxcyky4kcn2q418vnw2fn79ich6wrcijd"; + url = mirror://cpan/authors/id/I/IL/ILMARI/Test-WWW-Mechanize-Catalyst-0.59.tar.gz; + sha256 = "1hr1p8m3sv16ws8qb90nshza28qlmllnb6qxriwdvwddp2y517jv"; }; doCheck = false; # listens on an external port propagatedBuildInputs = [ CatalystRuntime LWP Moose namespaceclean TestWWWMechanize WWWMechanize ]; From 167a636e5c1092465558e4da168b6f161b1bf7eb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:32 +0200 Subject: [PATCH 440/880] perlPackages.TextAligner: update from 0.07 to 0.10 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index dd45234c8fe..1eda7822edc 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8751,10 +8751,10 @@ let self = _self // overrides; _self = with self; { }; TextAligner = buildPerlPackage { - name = "Text-Aligner-0.07"; + name = "Text-Aligner-0.10"; src = fetchurl { - url = mirror://cpan/authors/id/A/AN/ANNO/Text-Aligner-0.07.tar.gz; - sha256 = "1vpb87binmmysr4sxfjinxg4bh3rb4rmrx48yyczgmyddmda9rik"; + url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Aligner-0.10.tar.gz; + sha256 = "0d80x5jrv5j9yi234rdnjvnsnmhm4jsssqv7bpkl1fhjd1kfc7v0"; }; meta = { description = "Align text in columns"; From 9b26002d06b991b8ac10379b802fcea7fb9e4e03 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:36 +0200 Subject: [PATCH 441/880] perlPackages.TextBibTeX: update from 0.66 to 0.69 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1eda7822edc..a001e81b0bf 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8762,11 +8762,11 @@ let self = _self // overrides; _self = with self; { }; TextBibTeX = buildPerlModule { - name = "Text-BibTeX-0.66"; + name = "Text-BibTeX-0.69"; buildInputs = [ ConfigAutoConf ExtUtilsLibBuilder ]; src = fetchurl { - url = mirror://cpan/authors/id/A/AM/AMBS/Text/Text-BibTeX-0.66.tar.gz; - sha256 = "0wymg190afqfhr5i9ws02jgnksk06h3w45770ynjjr1fs343b9j7"; + url = mirror://cpan/authors/id/A/AM/AMBS/Text/Text-BibTeX-0.69.tar.gz; + sha256 = "1gzh5zh2ggfp15q5im7gpr1krq4mzmhbjdivyb2x03vcg0qdkk3z"; }; meta = { description = "Interface to read and parse BibTeX files"; From b2fa401f5966d8e100764341c03ba7d7dc77bf1d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:40 +0200 Subject: [PATCH 442/880] perlPackages.TextCSV: update from 1.10 to 1.32 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a001e81b0bf..5232a0da309 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8775,10 +8775,10 @@ let self = _self // overrides; _self = with self; { }; TextCSV = buildPerlPackage rec { - name = "Text-CSV-1.10"; + name = "Text-CSV-1.32"; src = fetchurl { url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/${name}.tar.gz"; - sha256 = "0vb0093v3kk7iczb46zzdg7myfyjldwrk8wbk7ibk56gvj350f7c"; + sha256 = "1bzrizyp8n2013nhd34j52bzdqcp9la30aqbdfkij52ssxkfm7xl"; }; }; From 53778344ef498d318c0ac3b5716917938f5d9211 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:43 +0200 Subject: [PATCH 443/880] perlPackages.TextMicroTemplate: update from 0.19 to 0.20 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5232a0da309..cd88f85a28b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8855,10 +8855,10 @@ let self = _self // overrides; _self = with self; { }; TextMicroTemplate = buildPerlPackage { - name = "Text-MicroTemplate-0.19"; + name = "Text-MicroTemplate-0.20"; src = fetchurl { - url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.19.tar.gz; - sha256 = "0hli95kn67slr6ixffcx6qvv36hlr03hij28029k3f8d7b7f32za"; + url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.20.tar.gz; + sha256 = "0da44kd3z4n23wivy99583cscmiay2xv0wq9dzx6mg8vq874kx74"; }; meta = { description = "Micro template engine with Perl5 language"; From ad5b3a3b1affc24def30c57e74e5db66757c667c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:47 +0200 Subject: [PATCH 444/880] perlPackages.TextTable: update from 1.128 to 1.129 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cd88f85a28b..de69d2e4f23 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8905,10 +8905,10 @@ let self = _self // overrides; _self = with self; { }; TextTable = buildPerlPackage { - name = "Text-Table-1.128"; + name = "Text-Table-1.129"; src = fetchurl { - url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.128.tar.gz; - sha256 = "0j9y38y9x9ljjpnvp5clwkfvhnja6vjlnhb8yshv2mmz2h6by70c"; + url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.129.tar.gz; + sha256 = "1b8l86yvvsncnx0w45w095n1h7lff6nxjy87dzk7zgvkmr0ary7c"; }; buildInputs = [ TestPod TestPodCoverage ]; propagatedBuildInputs = [ TextAligner ]; From 684245d61ef5e50d321f46fa03e075f5c5bf961b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:51 +0200 Subject: [PATCH 445/880] perlPackages.TextWikiFormat: update from 0.80 to 0.81 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index de69d2e4f23..ad353872503 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9017,10 +9017,10 @@ let self = _self // overrides; _self = with self; { }; TextWikiFormat = buildPerlPackage { - name = "Text-WikiFormat-0.80"; + name = "Text-WikiFormat-0.81"; src = fetchurl { - url = mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.80.tar.gz; - sha256 = "0i1mg3ivxhx09x0w06k15izc92bknwqwh0ghpmhlq9s9iw12mmry"; + url = mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz; + sha256 = "0cxbgx879bsskmnhjzamgsa5862ddixyx4yr77lafmwimnaxjg74"; }; propagatedBuildInputs = [ URI ]; meta = { From c6b1a953e12a323589805d2d1a59a03e36f8483d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:56 +0200 Subject: [PATCH 446/880] perlPackages.TieIxHash: update from 1.22 to 1.23 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ad353872503..da74a6792ed 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9051,10 +9051,10 @@ let self = _self // overrides; _self = with self; { }; TieIxHash = buildPerlPackage { - name = "Tie-IxHash-1.22"; + name = "Tie-IxHash-1.23"; src = fetchurl { - url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.22.tar.gz; - sha256 = "0f0m0x8nkidxd0pxnls1i8kc8d7bd89dqgihz29wj3ggk43qffr7"; + url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz; + sha256 = "0mmg9iyh42syal3z1p2pn9airq65yrkfs66cnqs9nz76jy60pfzs"; }; meta = { description = "Ordered associative arrays for Perl"; From 7f1aa495cac761492385801cafa11c350f929e2c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:00:59 +0200 Subject: [PATCH 447/880] perlPackages.TimeDate: update from 1.16 to 2.30 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index da74a6792ed..002151b5eb2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9072,10 +9072,10 @@ let self = _self // overrides; _self = with self; { }; TimeDate = buildPerlPackage { - name = "TimeDate-1.16"; + name = "TimeDate-2.30"; src = fetchurl { - url = mirror://cpan/authors/id/G/GB/GBARR/TimeDate-1.16.tar.gz; - sha256 = "1cvcpaghn7dc14m9871sfw103g3m3a00m2mrl5iqb0mmh40yyhkr"; + url = mirror://cpan/authors/id/G/GB/GBARR/TimeDate-2.30.tar.gz; + sha256 = "11lf54akr9nbivqkjrhvkmfdgkbhw85sq0q4mak56n6bf542bgbm"; }; }; From 060058691370a7a75f8da3d804d8521f63d49fc1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:02 +0200 Subject: [PATCH 448/880] perlPackages.TimeDuration: update from 1.1 to 1.06 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 002151b5eb2..b496495fb6f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9080,10 +9080,10 @@ let self = _self // overrides; _self = with self; { }; TimeDuration = buildPerlPackage { - name = "Time-Duration-1.1"; + name = "Time-Duration-1.06"; src = fetchurl { - url = mirror://cpan/authors/id/A/AV/AVIF/Time-Duration-1.1.tar.gz; - sha256 = "a69c419c4892f21eba10002e2ab8c55b657b6691cf6873544ef99ef5fd188f4e"; + url = mirror://cpan/authors/id/A/AV/AVIF/Time-Duration-1.06.tar.gz; + sha256 = "0krzgxifghwir1ibxg147sfpqyyv8xpvipx0nwlwgyay46x4gdpp"; }; buildInputs = [ TestPod TestPodCoverage ]; meta = { From 8ae221d62127838a999531b91ac4ed5af70e14e5 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:06 +0200 Subject: [PATCH 449/880] perlPackages.TreeSimpleVisitorFactory: update from 0.10 to 0.12 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b496495fb6f..2a222cc0e71 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9142,10 +9142,10 @@ let self = _self // overrides; _self = with self; { }; TreeSimpleVisitorFactory = buildPerlPackage { - name = "Tree-Simple-VisitorFactory-0.10"; + name = "Tree-Simple-VisitorFactory-0.12"; src = fetchurl { - url = mirror://cpan/authors/id/S/ST/STEVAN/Tree-Simple-VisitorFactory-0.10.tar.gz; - sha256 = "1ghcgnb3xvqjyh4h4aa37x98613aldnpj738z9b80p33bbfxq158"; + url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.12.tgz; + sha256 = "1g27xl48q1vr7aikhxg4vvcsj1si8allxz59vmnks61wsw4by7vg"; }; propagatedBuildInputs = [TreeSimple]; buildInputs = [TestException]; From e4559ba4365b2b29c9725a695c9ff9b37f6ecda1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:09 +0200 Subject: [PATCH 450/880] perlPackages.URIFromHash: update from 0.03 to 0.04 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2a222cc0e71..08277f33214 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9277,10 +9277,10 @@ let self = _self // overrides; _self = with self; { }; URIFromHash = buildPerlPackage { - name = "URI-FromHash-0.03"; + name = "URI-FromHash-0.04"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.03.tar.gz; - sha256 = "0yzk69mdf8rmkx1wxm5mn1a1zzd0zq4x1w83vyj9ja40v73q0k4i"; + url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.04.tar.gz; + sha256 = "03yckli4fj8cgsyh1l1lmyxj56q9qc04a3r8kv0whbnb37zz1j23"; }; propagatedBuildInputs = [ ParamsValidate URI ]; meta = { From c0048552ff9faa2f2d0264500c1d37ca1650774f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:12 +0200 Subject: [PATCH 451/880] perlPackages.WWWCurl: update from 4.15 to 4.17 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 08277f33214..b3aa2bb9ec9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9353,10 +9353,10 @@ let self = _self // overrides; _self = with self; { }; WWWCurl = buildPerlPackage rec { - name = "WWW-Curl-4.15"; + name = "WWW-Curl-4.17"; src = fetchurl { - url = "mirror://cpan/modules/by-module/WWW/${name}.tar.gz"; - sha256 = "18az7k0jsr642lp6dfy0b2s7vx0cd7sj9dgk93wff73safa09x1y"; + url = "mirror://cpan/authors/id/S/SZ/SZBALINT/${name}.tar.gz"; + sha256 = "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj"; }; buildInputs = [ pkgs.curl ]; preConfigure = From 81f0e185f0670b9a74cbaa81efe719ce0102c214 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:16 +0200 Subject: [PATCH 452/880] perlPackages.WWWMechanize: update from 1.72 to 1.73 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b3aa2bb9ec9..a363e490f5d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9367,10 +9367,10 @@ let self = _self // overrides; _self = with self; { }; WWWMechanize = buildPerlPackage { - name = "WWW-Mechanize-1.72"; + name = "WWW-Mechanize-1.73"; src = fetchurl { - url = mirror://cpan/authors/id/J/JE/JESSE/WWW-Mechanize-1.72.tar.gz; - sha256 = "0vs3p2697675bswjayfmm37lg3xsxm94z1mif18s732kwvnpg6m6"; + url = mirror://cpan/authors/id/E/ET/ETHER/WWW-Mechanize-1.73.tar.gz; + sha256 = "1zrw8aadhwy48q51x2z2rqlkwf17bya4j4h3hy89mw783j96rmg9"; }; propagatedBuildInputs = [ HTMLForm HTMLParser HTMLTree HTTPDaemon HTTPMessage HTTPServerSimple LWP LWPUserAgent TestWarn URI ]; doCheck = false; From 0d2fb0040ce477b725d0c537fbf3ec8e4a0ec6d4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:20 +0200 Subject: [PATCH 453/880] perlPackages.Wx: update from 0.9922 to 0.9923 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a363e490f5d..1a98f5fb2d5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9412,10 +9412,10 @@ let self = _self // overrides; _self = with self; { }; Wx = buildPerlPackage rec { - name = "Wx-0.9922"; + name = "Wx-0.9923"; src = fetchurl { url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz"; - sha256 = "11x3cvffcyi4b2c6pz9awks3zrg83bg1cwapm4psdiqnd568safw"; + sha256 = "1ja2fkz0xabafyc6gnp3nnwsbkkjsf44kq9x5zz6cb5fsp3p9sck"; }; propagatedBuildInputs = [ ExtUtilsXSpp AlienWxWidgets ]; # Testing requires an X server: From 3aec099b907813a97b600d5c243213b671322ab8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:23 +0200 Subject: [PATCH 454/880] perlPackages.X11GUITest: update from 0.21 to 0.28 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1a98f5fb2d5..2deb69e6da7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9435,10 +9435,10 @@ let self = _self // overrides; _self = with self; { }; X11GUITest = buildPerlPackage rec { - name = "X11-GUITest-0.21"; + name = "X11-GUITest-0.28"; src = fetchurl { url = "mirror://cpan/authors/id/C/CT/CTRONDLP/${name}.tar.gz"; - sha256 = "0akjk2x2d3j1f95wn93mh6nvq8p6c9jcqmvkh1mli5jxr1rmhjx8"; + sha256 = "0jznws68skdzkhgkgcgjlj40qdyh9i75r7fw8bqzy406f19xxvnw"; }; buildInputs = [pkgs.x11 pkgs.xorg.libXtst pkgs.xorg.libXi]; NIX_CFLAGS_LINK = "-lX11 -lXext -lXtst"; From abdd1e4ce5b0e1c0f48b4316ac7ecb7a82e1c94e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:27 +0200 Subject: [PATCH 455/880] perlPackages.XMLLibXML: update from 2.0014 to 2.0115 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2deb69e6da7..595c43d023f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9455,10 +9455,10 @@ let self = _self // overrides; _self = with self; { }; XMLLibXML = buildPerlPackage rec { - name = "XML-LibXML-2.0014"; + name = "XML-LibXML-2.0115"; src = fetchurl { - url = "mirror://cpan/modules/by-module/XML/${name}.tar.gz"; - sha256 = "0r2mw6pnygj2bpng9f4q5jfn4iawhkj47ys3sbnvqymyp1afihf6"; + url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; + sha256 = "0d6l6idl2920x9xi097fvzfdn9i0s8qa9ksw4bz2w1wh3zsn07zm"; }; SKIP_SAX_INSTALL = 1; buildInputs = [ pkgs.libxml2 ]; From 5789357f363f5c6cea883fac1db24f580715243f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:31 +0200 Subject: [PATCH 456/880] perlPackages.XMLLibXSLT: update from 1.87 to 1.89 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 595c43d023f..7a03c965944 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9479,10 +9479,10 @@ let self = _self // overrides; _self = with self; { }; XMLLibXSLT = buildPerlPackage rec { - name = "XML-LibXSLT-1.87"; + name = "XML-LibXSLT-1.89"; src = fetchurl { url = "mirror://cpan/authors/id/S/SH/SHLOMIF/${name}.tar.gz"; - sha256 = "18kxa51a0prr8dx0w7q7wa8gdgalswzqa24sjkxmgs0f9yhcixz1"; + sha256 = "0py7ll5vj2k977l4r2g8bbz0hdy0hhkdq0mzblrwizify0825b12"; }; buildInputs = [ pkgs.zlib pkgs.libxml2 pkgs.libxslt ]; propagatedBuildInputs = [ XMLLibXML ]; From 8626dc7d49cbcfe5a2a794bdfbce424814fd17b3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:34 +0200 Subject: [PATCH 457/880] perlPackages.XMLNamespaceSupport: update from 1.09 to 1.11 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 7a03c965944..c13004daaa7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9489,10 +9489,10 @@ let self = _self // overrides; _self = with self; { }; XMLNamespaceSupport = buildPerlPackage { - name = "XML-NamespaceSupport-1.09"; + name = "XML-NamespaceSupport-1.11"; src = fetchurl { - url = mirror://cpan/authors/id/R/RB/RBERJON/XML-NamespaceSupport-1.09.tar.gz; - sha256 = "0ny2i4pf6j8ggfj1x02rm5zm9a37hfalgx9w9kxnk69xsixfwb51"; + url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.11.tar.gz; + sha256 = "1sklgcldl3w6gn706vx1cgz6pm4y5lfgsjxnfqyk20pilgq530bd"; }; }; From a6d0e043300a1c1640a27b1903bd70788d848f46 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:38 +0200 Subject: [PATCH 458/880] perlPackages.XMLParser: update from 2.36 to 2.41 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c13004daaa7..e42cd8afeeb 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9497,10 +9497,10 @@ let self = _self // overrides; _self = with self; { }; XMLParser = buildPerlPackage { - name = "XML-Parser-2.36"; + name = "XML-Parser-2.41"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Parser-2.36.tar.gz; - sha256 = "0gyp5qfbflhkin1zv8l6wlkjwfjvsf45a3py4vc6ni82fj32kmcz"; + url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.41.tar.gz; + sha256 = "1sadi505g5qmxr36lgcbrcrqh3a5gcdg32b405gnr8k54b6rg0dl"; }; makeMakerFlags = "EXPATLIBPATH=${pkgs.expat}/lib EXPATINCPATH=${pkgs.expat}/include"; }; From 0a019d402304e204283cc627a7b7e2f80b75c7df Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:41 +0200 Subject: [PATCH 459/880] perlPackages.XMLRegExp: update from 0.03 to 0.04 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e42cd8afeeb..b5c56e23435 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9528,10 +9528,10 @@ let self = _self // overrides; _self = with self; { }; XMLRegExp = buildPerlPackage { - name = "XML-RegExp-0.03"; + name = "XML-RegExp-0.04"; src = fetchurl { - url = mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.03.tar.gz; - sha256 = "1gkarylvdk3mddmchcwvzq09gpvx5z26nybp38dg7mjixm5bs226"; + url = mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz; + sha256 = "0m7wj00a2kik7wj0azhs1zagwazqh3hlz4255n75q21nc04r06fz"; }; }; From a296adc1a1a1b43c98045e46025822f3e8b7329d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:46 +0200 Subject: [PATCH 460/880] perlPackages.XMLSimple: update from 2.18 to 2.20 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b5c56e23435..0c5a63c18d9 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9558,10 +9558,10 @@ let self = _self // overrides; _self = with self; { }; XMLSimple = buildPerlPackage { - name = "XML-Simple-2.18"; + name = "XML-Simple-2.20"; src = fetchurl { - url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.18.tar.gz; - sha256 = "09k8fvc9m5nd5rqq00rwm3m0wx7iwd6vx0vc947y58ydi30nfjd5"; + url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.20.tar.gz; + sha256 = "0jj3jiray1l4pi9wkjcpxjc3v431whdwx5aqnhgdm4i7h3817zsw"; }; propagatedBuildInputs = [XMLParser]; }; From f2e9c3dad181306b3471f0613892c0b42636e5d1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:49 +0200 Subject: [PATCH 461/880] perlPackages.XMLWriter: update from 0.612 to 0.624 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0c5a63c18d9..51f59da14e3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9577,10 +9577,10 @@ let self = _self // overrides; _self = with self; { }; XMLWriter = buildPerlPackage rec { - name = "XML-Writer-0.612"; + name = "XML-Writer-0.624"; src = fetchurl { url = "mirror://cpan/authors/id/J/JO/JOSEPHW/${name}.tar.gz"; - sha256 = "1prvgbjxynxg6061qxzfbbimjvil04513hf3hsilv0hdg58nb9jk"; + sha256 = "0yyz0dh9b4clailbxyi90dfrqpyc6py77rmmz6qmkx7ynlpyxk46"; }; }; From 5bad11016b802649dc800315372098970a1a5822 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:52 +0200 Subject: [PATCH 462/880] perlPackages.YAMLSyck: update from 1.22 to 1.27 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 51f59da14e3..f9a26ec4ca3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -9598,10 +9598,10 @@ let self = _self // overrides; _self = with self; { }; YAMLSyck = buildPerlPackage { - name = "YAML-Syck-1.22"; + name = "YAML-Syck-1.27"; src = fetchurl { - url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.22.tar.gz; - sha256 = "0n3k71i0b8mhdrl5kp1cwyvjbkqahyqkhp81wl3qnkfhyi39f55y"; + url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.27.tar.gz; + sha256 = "1y9dw18fz3s8v4n80wf858cjq4jlaza25wvsgv60a6z2l0sfax6y"; }; meta = { homepage = http://search.cpan.org/dist/YAML-Syck; From 0273315c627bdbf9b0a134c86703b04bb53635cd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:01:56 +0200 Subject: [PATCH 463/880] perlPackages.aliased: update from 0.30 to 0.31 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f9a26ec4ca3..3a27db6cbbe 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -88,10 +88,10 @@ let self = _self // overrides; _self = with self; { }; aliased = buildPerlPackage rec { - name = "aliased-0.30"; + name = "aliased-0.31"; src = fetchurl { url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz"; - sha256 = "1iqcbfv600m31rfvl7r9ckr0hh0vny63q7a6yyhfrh4ppcgj4ig4"; + sha256 = "0gxfqdddlq5g1b2zs99b251hz52z9ys4yni7j2p8gyk5zij3wm1s"; }; }; From ca577f28b1683121b63e4998f07cbdbecdf2ecd4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:00 +0200 Subject: [PATCH 464/880] perlPackages.boolean: update from 0.30 to 0.32 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 3a27db6cbbe..64e64bb71fd 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -385,10 +385,10 @@ let self = _self // overrides; _self = with self; { }; boolean = buildPerlPackage { - name = "boolean-0.30"; + name = "boolean-0.32"; src = fetchurl { - url = mirror://cpan/authors/id/I/IN/INGY/boolean-0.30.tar.gz; - sha256 = "f46e7a6121d5728ef2ce285a82d1dde94f6dfa0b846a612db75b1dcd37b9fc7f"; + url = mirror://cpan/authors/id/I/IN/INGY/boolean-0.32.tar.gz; + sha256 = "1icihm1cib90klfjrk069s7031n1c7xk3fmkr2bfxrwqda4di7jg"; }; meta = { homepage = https://github.com/ingydotnet/boolean-pm/tree; From 0cb15d8ff8013ab7b8f010dae3611760a72835c8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:03 +0200 Subject: [PATCH 465/880] perlPackages.cam_pdf: update from 1.52 to 1.60 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 64e64bb71fd..a43b97bf232 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -516,10 +516,10 @@ let self = _self // overrides; _self = with self; { }; cam_pdf = buildPerlPackage rec { - name = "CAM-PDF-1.52"; + name = "CAM-PDF-1.60"; src = fetchurl { url = "mirror://cpan/authors/id/C/CD/CDOLAN/${name}.tar.gz"; - sha256 = "1lamnx0vcqzzcxdmj5038gvyn6z5xcy9756jhndgpggjfkzilwkh"; + sha256 = "12dv5ssf3y7yjz9mrrqnfzx8nf4ydk1qijf5fx59495671zzqsp7"; }; propagatedBuildInputs = [ CryptRC4 TextPDF ]; buildInputs = [ TestMore ]; From 7514552d3eb126d1d340df4170add0b38747bddb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:06 +0200 Subject: [PATCH 466/880] perlPackages.constant: update from 1.15 to 1.27 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a43b97bf232..ae9e48b3234 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1509,10 +1509,10 @@ let self = _self // overrides; _self = with self; { }; constant = buildPerlPackage { - name = "constant-1.15"; + name = "constant-1.27"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SAPER/constant-1.15.tar.gz; - sha256 = "1ygz0hd1fd3q88r6dlw14kpyh06zjprksdci7qva6skxz3261636"; + url = mirror://cpan/authors/id/S/SA/SAPER/constant-1.27.tar.gz; + sha256 = "0ari0jggiifz3q7vxb8nlcsc3g6bj8c0c0drsrphv0079c956i3l"; }; }; From 3984a70646de79a8ff7e36b94bce8231ab9dbb5d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:10 +0200 Subject: [PATCH 467/880] perlPackages.if: update from 0.0601 to 0.01000001 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ae9e48b3234..648ef3b15d7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4282,10 +4282,10 @@ let self = _self // overrides; _self = with self; { }; "if" = buildPerlPackage { - name = "if-0.0601"; + name = "if-0.01000001"; src = fetchurl { - url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.0601.tar.gz; - sha256 = "fb2b7329aa111a673cd22dc2889167e52058aead0de2fe0855b32dd658d5c1b7"; + url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/if-0.01000001.tar.gz; + sha256 = "0vb40cb20b22layp5v9xa30hmcnhxidwjkfwcrxwhrvwypy2cmgw"; }; meta = { }; From 2a43291e62583d359bbc09c303fed13e290a5c8b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:15 +0200 Subject: [PATCH 468/880] perlPackages.maatkit: update from 4790 to 7540 --- pkgs/development/perl-modules/maatkit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/perl-modules/maatkit/default.nix b/pkgs/development/perl-modules/maatkit/default.nix index d9a1f777f3a..b30e2f12fc6 100644 --- a/pkgs/development/perl-modules/maatkit/default.nix +++ b/pkgs/development/perl-modules/maatkit/default.nix @@ -1,11 +1,11 @@ {buildPerlPackage, stdenv, fetchurl, DBDmysql}: buildPerlPackage rec { - name = "maatkit-4790"; + name = "maatkit-7540"; src = fetchurl { url = "http://maatkit.googlecode.com/files/${name}.tar.gz" ; - sha256 = "0lf6dgh1w96m234hrkhagyyvv1m1ldchpzsg6iswvkj6sbvv7d7h"; + sha256 = "1a7rxrddkrsfxb2wj01ha91ld0vapfkqcy8j9p08l76zz2l8p2v1"; }; buildInputs = [ DBDmysql ] ; From 4955d0e8764564dbf41d07cca34754a7a73f27c8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:19 +0200 Subject: [PATCH 469/880] perlPackages.namespaceclean: update from 0.24 to 0.25 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 648ef3b15d7..2c93e6a8d16 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6106,10 +6106,10 @@ let self = _self // overrides; _self = with self; { }; namespaceclean = buildPerlPackage rec { - name = "namespace-clean-0.24"; + name = "namespace-clean-0.25"; src = fetchurl { - url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.24.tar.gz; - sha256 = "0c0jj44f3y26scybnxp2lnkcydjqh0lfr6l1jsy13r3x9r4d8qd6"; + url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.25.tar.gz; + sha256 = "016dds70ql1mp18b07chkxiy4drn976ibnbshqc2hmhrh9xjnsll"; }; propagatedBuildInputs = [ BHooksEndOfScope PackageStash ]; meta = { From 18a14b3455d61ddbb322a76bd5a135da3c9fe503 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:22 +0200 Subject: [PATCH 470/880] perlPackages.strictures: update from 1.004004 to 1.005004 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2c93e6a8d16..87b3d4d217a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -7473,10 +7473,10 @@ let self = _self // overrides; _self = with self; { }; strictures = buildPerlPackage { - name = "strictures-1.004004"; + name = "strictures-1.005004"; src = fetchurl { - url = mirror://cpan/authors/id/E/ET/ETHER/strictures-1.004004.tar.gz; - sha256 = "0d7fanr4ggmlqvdxf63ci7nxba2vrdz9558xy35hfpm8max7s48j"; + url = mirror://cpan/authors/id/H/HA/HAARG/strictures-1.005004.tar.gz; + sha256 = "0y9q0v68060x5r3wfprwnjry6si7x9x5rkqz7nrf8fkxng7ndw5v"; }; meta = { homepage = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git; From ecc8da9672d4a77b45d71c0b6da0f5fca3361765 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:26 +0200 Subject: [PATCH 471/880] perlPackages.AlienWxWidgets: update from 0.64 to 0.65 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 87b3d4d217a..23d1a2419dd 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -96,10 +96,10 @@ let self = _self // overrides; _self = with self; { }; AlienWxWidgets = buildPerlPackage rec { - name = "Alien-wxWidgets-0.64"; + name = "Alien-wxWidgets-0.65"; src = fetchurl { url = "mirror://cpan/authors/id/M/MD/MDOOTSON/${name}.tar.gz"; - sha256 = "1frmvdppzw1vrbk2jvwxh5a5qafl7bigflpgwpkzdg4v9nswgbmx"; + sha256 = "0h4g7jl0p8a35kyvsji3qlb75mbcfqpvvmwh7s9krkbqklqjlxxl"; }; propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ]; }; From f548b6c06a6e5f1fe0657d70b0c1fc80506327c2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:29 +0200 Subject: [PATCH 472/880] perlPackages.AnyEvent: update from 7.05 to 7.07 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 23d1a2419dd..dea2d6f7522 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -105,10 +105,10 @@ let self = _self // overrides; _self = with self; { }; AnyEvent = buildPerlPackage { - name = "AnyEvent-7.05"; + name = "AnyEvent-7.07"; src = fetchurl { - url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.05.tar.gz; - sha256 = "0022y5xbn3dn5x0q1kzvx15icf3g1cqqljrfhyriy794a42fply6"; + url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.07.tar.gz; + sha256 = "01iilh11xc2gw6fxxr6il3r6n1k4cf6swaddgbhi525wfzlchk2c"; }; meta = { maintainers = with maintainers; [ ocharles ]; From 79d6aa625d481f5eee46f92a68944e7c7c3d8de1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:33 +0200 Subject: [PATCH 473/880] perlPackages.AppCLI: update from 0.07 to 0.313 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index dea2d6f7522..7d6ab4a64ad 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -156,10 +156,10 @@ let self = _self // overrides; _self = with self; { }; AppCLI = buildPerlPackage { - name = "App-CLI-0.07"; + name = "App-CLI-0.313"; src = fetchurl { - url = mirror://cpan/authors/id/C/CL/CLKAO/App-CLI-0.07.tar.gz; - sha256 = "000866qsm7jck3ini69b02sgbjwp6s297lsds002r7xk2wb6fqcz"; + url = mirror://cpan/authors/id/C/CO/CORNELIUS/App-CLI-0.313.tar.gz; + sha256 = "0ni1z14xis1b634qjc3zra9c9pl2icfr6sp5qxs0xy8nvib65037"; }; propagatedBuildInputs = [LocaleMaketextSimple]; }; From 353bb1c2f7d3e837dba3a392703fd3d57b8579a7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:36 +0200 Subject: [PATCH 474/880] perlPackages.BHooksEndOfScope: update from 0.12 to 0.13 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 7d6ab4a64ad..9a91d33b206 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -331,10 +331,10 @@ let self = _self // overrides; _self = with self; { }; BHooksEndOfScope = buildPerlPackage { - name = "B-Hooks-EndOfScope-0.12"; + name = "B-Hooks-EndOfScope-0.13"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/B-Hooks-EndOfScope-0.12.tar.gz; - sha256 = "1gagn8b9zhbwk4f4cllrvir1mspvq0ladsy0pfkwl9w85q1843lj"; + url = mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.13.tar.gz; + sha256 = "1f5d0lbkwf23dfjn60g6fynmjhy5rxdyxcpdfb07srm73qpg2zpi"; }; propagatedBuildInputs = [ ModuleImplementation ModuleRuntime SubExporterProgressive ]; meta = { From 282fe2da2ab7bdf106208acd0c8572976a342cba Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:40 +0200 Subject: [PATCH 475/880] perlPackages.BoostGeometryUtils: update from 0.12 to 0.15 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9a91d33b206..98a1c6d45f3 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -398,10 +398,10 @@ let self = _self // overrides; _self = with self; { }; BoostGeometryUtils = buildPerlModule rec { - name = "Boost-Geometry-Utils-0.12"; + name = "Boost-Geometry-Utils-0.15"; src = fetchurl { url = "mirror://cpan/authors/id/A/AA/AAR/${name}.tar.gz"; - sha256 = "1pywbxjf05qpcixshblhd2cham601zwa9w7c3k5waz4cdild6g1m"; + sha256 = "1jnihz3029x51a455nxa0jx2z125x38q3vkkggsgdlrvawzxsm00"; }; propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsTypemapsDefault ]; }; From d8cd48542b7c18472c7f912f8c79d4a24fa0c04f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:44 +0200 Subject: [PATCH 476/880] perlPackages.CGICookieXS: update from 0.16 to 0.18 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 98a1c6d45f3..2a7e04ae5b1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1037,10 +1037,10 @@ let self = _self // overrides; _self = with self; { }; CGICookieXS = buildPerlPackage rec { - name = "CGI-Cookie-XS-0.16"; + name = "CGI-Cookie-XS-0.18"; src = fetchurl { url = "mirror://cpan/authors/id/A/AG/AGENT/${name}.tar.gz"; - sha256 = "1jrd3f11sz17117nvssrrf6r80fr412615n5ffspbsap4n816bnn"; + sha256 = "1iixvnm0l1q24vdlnayb4vd8fns2bdlhm6zb7fpi884ppm5cp6a6"; }; }; From 626061e79d7c26f7ed4efcbb3033c232ce295fd0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:48 +0200 Subject: [PATCH 477/880] perlPackages.CGIExpand: update from 2.03 to 2.04 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2a7e04ae5b1..c8bd1bac447 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1045,10 +1045,10 @@ let self = _self // overrides; _self = with self; { }; CGIExpand = buildPerlPackage { - name = "CGI-Expand-2.03"; + name = "CGI-Expand-2.04"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.03.tar.gz; - sha256 = "0p59is2mynybii8r1cpci2i17xzwhrrs4741hndhkcp4spggr0z1"; + url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.04.tar.gz; + sha256 = "0jk2vvk4mlz7phq3h3wpryix46adi7fkkzvkv0ssn5xkqy3pqlny"; }; propagatedBuildInputs = [ TestException ]; meta = { From beeb78701738bc7b070540486e2846ca42f4be63 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:51 +0200 Subject: [PATCH 478/880] perlPackages.CaptureTiny: update from 0.21 to 0.24 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c8bd1bac447..e036b7a9488 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -540,10 +540,10 @@ let self = _self // overrides; _self = with self; { }; CaptureTiny = buildPerlPackage { - name = "Capture-Tiny-0.21"; + name = "Capture-Tiny-0.24"; src = fetchurl { - url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.21.tar.gz; - sha256 = "1lvz2639zsjpr3001b2xyidnsd4kcgll5fvaa0pm928wzldb49wg"; + url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.24.tar.gz; + sha256 = "0rg0m9irhx8jwamxdi2ms4vhhxy7q050gjrn2m051spqfa26zkwv"; }; meta = { homepage = https://metacpan.org/release/Capture-Tiny; From 9d8ef258e361b20f1254a596062fc542706d0566 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:53 +0200 Subject: [PATCH 479/880] perlPackages.CatalystAuthenticationStoreDBIxClass: update from 0.1503 to 0.1506 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e036b7a9488..e527c0bf54f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -639,10 +639,10 @@ let self = _self // overrides; _self = with self; { }; CatalystAuthenticationStoreDBIxClass = buildPerlPackage { - name = "Catalyst-Authentication-Store-DBIx-Class-0.1503"; + name = "Catalyst-Authentication-Store-DBIx-Class-0.1506"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Authentication-Store-DBIx-Class-0.1503.tar.gz; - sha256 = "1l11if91gjfrga7i7bjxwa0zybhkkrpgg6ps3nxm30vmg7xqaf4d"; + url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz; + sha256 = "0i5ja7690fs9nhxcij6lw51j804sm8s06m5mvk1n8pi8jljrymvw"; }; propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication CatalystRuntime DBIxClass ListMoreUtils Moose namespaceautoclean TryTiny ]; meta = { From b5f3b441605f6bfd4a1ab554292169a409f4cb0b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:02:58 +0200 Subject: [PATCH 480/880] perlPackages.CatalystDevel: update from 1.37 to 1.39 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index e527c0bf54f..fc236501478 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -676,10 +676,10 @@ let self = _self // overrides; _self = with self; { }; CatalystDevel = buildPerlPackage { - name = "Catalyst-Devel-1.37"; + name = "Catalyst-Devel-1.39"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Devel-1.37.tar.gz; - sha256 = "0yk526py65iy40z10d6w0fspb8fam5rf1hzsxnfyy4lpy91lp7s9"; + url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Devel-1.39.tar.gz; + sha256 = "12m50bbkggjmpxihv3wnvr0g2qng0zwhlzi5ygppjz8wh2x73qxw"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ CatalystRuntime CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive FileShareDir ModuleInstall Moose MooseXDaemonize MooseXEmulateClassAccessorFast namespaceautoclean namespaceclean PathClass Starman TemplateToolkit ]; From b62a1edf53018f91aa88579ff9770377bd62f08d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:02 +0200 Subject: [PATCH 481/880] perlPackages.CatalystDispatchTypeRegex: update from 5.90032 to 5.90033 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index fc236501478..2d41641508d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -692,10 +692,10 @@ let self = _self // overrides; _self = with self; { }; CatalystDispatchTypeRegex = buildPerlModule { - name = "Catalyst-DispatchType-Regex-5.90032"; + name = "Catalyst-DispatchType-Regex-5.90033"; src = fetchurl { - url = mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90032.tar.gz; - sha256 = "003e31fe0c1d6dfc6be4d9cd47cb058a9b53a73bb6a9f74a132a43dbfbbb5e3c"; + url = mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90033.tar.gz; + sha256 = "0rdi8jxj9fz81l9pxl7q190v69vkgxgixcpals555xyiafnqk4vy"; }; propagatedBuildInputs = [ Moose TextSimpleTable ]; meta = { From 599ae0f43c911fc741e1ebced1e9c71f2a34dff8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:06 +0200 Subject: [PATCH 482/880] perlPackages.CatalystManual: update from 5.9006 to 5.9007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2d41641508d..61d9a2e8710 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -723,10 +723,10 @@ let self = _self // overrides; _self = with self; { }; CatalystManual = buildPerlPackage { - name = "Catalyst-Manual-5.9006"; + name = "Catalyst-Manual-5.9007"; src = fetchurl { - url = mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Manual-5.9006.tar.gz; - sha256 = "0cl9nqg5jrqcf2h3pgk6q8408czf5s0k0xh3ra884c9cnx84mr95"; + url = mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Manual-5.9007.tar.gz; + sha256 = "140526pzzqc1vyxkk9fxvp9ds3kk2rncf8nf7iz0adlr219pkg3j"; }; meta = { description = "The Catalyst developer's manual"; From 04cdf8a974f674cdf853f02f1388da9738eb2e65 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:09 +0200 Subject: [PATCH 483/880] perlPackages.CatalystPluginConfigLoader: update from 0.30 to 0.33 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 61d9a2e8710..4c906ad6330 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -860,10 +860,10 @@ let self = _self // overrides; _self = with self; { }; CatalystPluginConfigLoader = buildPerlPackage rec { - name = "Catalyst-Plugin-ConfigLoader-0.30"; + name = "Catalyst-Plugin-ConfigLoader-0.33"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "1rshgsvs9ngpd4nang4flq6mx9v71w1z5klp1rm8llc88pxlqahm"; + url = "mirror://cpan/authors/id/B/BO/BOBTFISH/${name}.tar.gz"; + sha256 = "0m18yqcwx5fzz4lrd5db8x8wyir1061pclv5jb9g963wbg4zk43g"; }; propagatedBuildInputs = [CatalystRuntime DataVisitor ConfigAny MROCompat]; }; From 2017c7a1eba156fbff5fb817b44288e380311b59 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:12 +0200 Subject: [PATCH 484/880] perlPackages.CatalystPluginSession: update from 0.36 to 0.39 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4c906ad6330..f646597cd8c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -894,10 +894,10 @@ let self = _self // overrides; _self = with self; { }; CatalystPluginSession = buildPerlPackage { - name = "Catalyst-Plugin-Session-0.36"; + name = "Catalyst-Plugin-Session-0.39"; src = fetchurl { - url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-0.36.tar.gz; - sha256 = "14wgkrg3w69gwg6zg991k5f611xqsnyx0i0xzhw9rx2j5nf9rj4b"; + url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Plugin-Session-0.39.tar.gz; + sha256 = "0m4a003qgz7848iyckwbigg2vw3kmfxggh1razrnzxrbz3n6x5gi"; }; buildInputs = [ TestDeep TestException TestWWWMechanizePSGI ]; propagatedBuildInputs = [ CatalystRuntime Moose MooseXEmulateClassAccessorFast MROCompat namespaceclean ObjectSignature ]; From 66d3ba9cae7001533d90a0e579205238f6648f56 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:16 +0200 Subject: [PATCH 485/880] perlPackages.CatalystPluginStackTrace: update from 0.11 to 0.12 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f646597cd8c..0bc1fb42da0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -928,10 +928,10 @@ let self = _self // overrides; _self = with self; { }; CatalystPluginStackTrace = buildPerlPackage { - name = "Catalyst-Plugin-StackTrace-0.11"; + name = "Catalyst-Plugin-StackTrace-0.12"; src = fetchurl { - url = mirror://cpan/authors/id/M/MS/MSTROUT/Catalyst-Plugin-StackTrace-0.11.tar.gz; - sha256 = "1ingivnga1yb4dqsj6icc4a58i9wdalzpn2qflsn8n2skgm223qb"; + url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz; + sha256 = "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j"; }; propagatedBuildInputs = [ CatalystRuntime DevelStackTrace MROCompat ]; meta = { From 03e9004bc82a17656c422bb3bc1cc6a44774b561 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:19 +0200 Subject: [PATCH 486/880] perlPackages.CatalystPluginStaticSimple: update from 0.30 to 0.31 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0bc1fb42da0..eba26793850 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -941,10 +941,10 @@ let self = _self // overrides; _self = with self; { }; CatalystPluginStaticSimple = buildPerlPackage { - name = "Catalyst-Plugin-Static-Simple-0.30"; + name = "Catalyst-Plugin-Static-Simple-0.31"; src = fetchurl { - url = mirror://cpan/authors/id/A/AB/ABRAXXA/Catalyst-Plugin-Static-Simple-0.30.tar.gz; - sha256 = "18zar1n4imgnv7b4dr5sxyikry4668ngqgc6f0dr210bqafvwv7w"; + url = mirror://cpan/authors/id/A/AB/ABRAXXA/Catalyst-Plugin-Static-Simple-0.31.tar.gz; + sha256 = "1mcns9qdpnja153prbyypwjicgpm1sn7rw75k7hm28g3vf59z733"; }; patches = [ ../development/perl-modules/catalyst-plugin-static-simple-etag.patch ]; propagatedBuildInputs = [ CatalystRuntime MIMETypes Moose MooseXTypes namespaceautoclean ]; From da172c171ba459c5bbf4a04dcbff6a3786fefafc Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:23 +0200 Subject: [PATCH 487/880] perlPackages.CatalystViewDownload: update from 0.07 to 0.09 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index eba26793850..04a37fbdd3c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -955,10 +955,10 @@ let self = _self // overrides; _self = with self; { }; CatalystViewDownload = buildPerlPackage rec { - name = "Catalyst-View-Download-0.07"; + name = "Catalyst-View-Download-0.09"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz"; - sha256 = "1c6k4x6az0fkany16zlyaqhlp7bcx922vl4qzd3z707vs6pc06rz"; + url = "mirror://cpan/authors/id/G/GA/GAUDEON/${name}.tar.gz"; + sha256 = "1qgq6y9iwfbhbkbgpw9czang2ami6z8jk1zlagrzdisy4igqzkvs"; }; buildInputs = [ TestWWWMechanizeCatalyst Testuseok ]; propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ]; From d67240b5b90d0912bd44de4b11fc5cd48a30e32f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:28 +0200 Subject: [PATCH 488/880] perlPackages.CatalystViewTT: update from 0.40 to 0.41 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 04a37fbdd3c..2ef0e3bd8cc 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -979,10 +979,10 @@ let self = _self // overrides; _self = with self; { }; CatalystViewTT = buildPerlPackage { - name = "Catalyst-View-TT-0.40"; + name = "Catalyst-View-TT-0.41"; src = fetchurl { - url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-View-TT-0.40.tar.gz; - sha256 = "0j73mk631p9x0b0l24ikavh9nxl6lpya4g46fpanjk396d2zj8bs"; + url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-View-TT-0.41.tar.gz; + sha256 = "1yrigxqapxj4k1qkykiiqy6a30ljb7hlkaw80d7n0n5mpm67j1nb"; }; propagatedBuildInputs = [ CatalystRuntime ClassAccessor MROCompat PathClass TemplateToolkit TemplateTimer ]; meta = { From 442f027c69ef41d89c46f1cddc5c530e7566d0fa Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:31 +0200 Subject: [PATCH 489/880] perlPackages.CatalystXComponentTraits: update from 0.16 to 0.19 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 2ef0e3bd8cc..321be019f4c 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -992,10 +992,10 @@ let self = _self // overrides; _self = with self; { }; CatalystXComponentTraits = buildPerlPackage rec { - name = "CatalystX-Component-Traits-0.16"; + name = "CatalystX-Component-Traits-0.19"; src = fetchurl { - url = "mirror://cpan/modules/by-module/CatalystX/${name}.tar.gz"; - sha256 = "0a2mhfgv0kqmaxf2crs8mqk44lyhd9qcwlpzhrc0b0dh4z503mr4"; + url = "mirror://cpan/authors/id/R/RK/RKITOVER/${name}.tar.gz"; + sha256 = "0iq4ci8m6g2c4g01fvdl568y7pjz28f3widk986v3pyhr7ll8j88"; }; propagatedBuildInputs = [ CatalystRuntime MooseXTraitsPluggable namespaceautoclean ListMoreUtils ]; From 3049b02731bc80d0f4dc12fc5573f85bad9209e4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:34 +0200 Subject: [PATCH 490/880] perlPackages.ClassBase: update from 0.03 to 0.05 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 321be019f4c..9f5452b7044 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1144,10 +1144,10 @@ let self = _self // overrides; _self = with self; { }; ClassBase = buildPerlPackage rec { - name = "Class-Base-0.03"; + name = "Class-Base-0.05"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AB/ABW/${name}.tar.gz"; - sha256 = "149875qzfyayvkb6dm8frg0kmkzyjswwrjz7gyvwi7l8b19kiyk4"; + url = "mirror://cpan/authors/id/S/SZ/SZABGAB/${name}.tar.gz"; + sha256 = "0vryy6b64f2wbfc2zzzvh6ravkp5i4kjdxhjbj3s08g9pwyc67y6"; }; }; From adaa09ea51eb51c77ee0c66b243d01ae49172010 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:37 +0200 Subject: [PATCH 491/880] perlPackages.ClassC3: update from 0.24 to 0.26 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 9f5452b7044..f56d86027e2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1152,10 +1152,10 @@ let self = _self // overrides; _self = with self; { }; ClassC3 = buildPerlPackage { - name = "Class-C3-0.24"; + name = "Class-C3-0.26"; src = fetchurl { - url = mirror://cpan/authors/id/F/FL/FLORA/Class-C3-0.24.tar.gz; - sha256 = "1nhwf7bj7z5szk7sxmq0ynqh2k9p42a7zkfyikkairfb78xckpkz"; + url = mirror://cpan/authors/id/H/HA/HAARG/Class-C3-0.26.tar.gz; + sha256 = "008xg6gf5qp2fdjqzfpg0fzhw7f308ddkxwvzdcaa9zq59sg5x6s"; }; propagatedBuildInputs = [ AlgorithmC3 ]; meta = { From 9fbd2668a5824b0313daca41f4dc422dca4ed143 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:41 +0200 Subject: [PATCH 492/880] perlPackages.ClassLoad: update from 0.20 to 0.21 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index f56d86027e2..5a6255da510 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1309,10 +1309,10 @@ let self = _self // overrides; _self = with self; { }; ClassLoad = buildPerlPackage { - name = "Class-Load-0.20"; + name = "Class-Load-0.21"; src = fetchurl { - url = mirror://cpan/authors/id/D/DR/DROLSKY/Class-Load-0.20.tar.gz; - sha256 = "084cxrm0hcpyz3ly1iqkcjpl4bs03n42na37d3pzwa8xbs44ag42"; + url = mirror://cpan/authors/id/E/ET/ETHER/Class-Load-0.21.tar.gz; + sha256 = "0z04r0jdk8l3qd96f75q3042p76hr4i747dg87s7xrpp0bjbmn8h"; }; buildInputs = [ TestFatal TestRequires ]; propagatedBuildInputs = [ DataOptList ModuleImplementation ModuleRuntime PackageStash TryTiny ]; From a826bd48361d47c31bd0c4af9ad39cf876623637 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:45 +0200 Subject: [PATCH 493/880] perlPackages.ClassMethodMaker: update from 2.18 to 2.21 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5a6255da510..37a2e216d83 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1255,10 +1255,10 @@ let self = _self // overrides; _self = with self; { }; ClassMethodMaker = buildPerlPackage { - name = "Class-MethodMaker-2.18"; + name = "Class-MethodMaker-2.21"; src = fetchurl { - url = mirror://cpan/authors/id/S/SC/SCHWIGON/Class-MethodMaker-2.18.tar.gz; - sha256 = "223b7a79025e9bff984d755f9744182505e110680b13eedbac2831d45ddbeeba"; + url = mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.21.tar.gz; + sha256 = "0gca1cjy2k0mrpfnbyzm5islzfayqfvg3zzlrlm7n60p0cb48y7w"; }; preConfigure = "patchShebangs ."; meta = { From 9a091a98b87ebd048a4b715b4a8000fe680ca6a9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:49 +0200 Subject: [PATCH 494/880] perlPackages.ClassMethodModifiers: update from 2.00 to 2.10 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 37a2e216d83..35941ada790 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1268,10 +1268,10 @@ let self = _self // overrides; _self = with self; { }; ClassMethodModifiers = buildPerlPackage { - name = "Class-Method-Modifiers-2.00"; + name = "Class-Method-Modifiers-2.10"; src = fetchurl { - url = mirror://cpan/authors/id/S/SA/SARTAK/Class-Method-Modifiers-2.00.tar.gz; - sha256 = "0lvj38ahqqyhv9dpi7ks1cq35f19nfw8ygxw22x2mcmagl8mnkhs"; + url = mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.10.tar.gz; + sha256 = "1dp757rzv6a9k7q0bpmjxv69g4r893vb143qq7fyqlwzg0zva3s2"; }; buildInputs = [ TestFatal ]; meta = { From 4c05aacb52c51c4a96508e1e0431735fbde9350c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:52 +0200 Subject: [PATCH 495/880] perlPackages.ClassThrowable: update from 0.10 to 0.11 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 35941ada790..346ad4190ff 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1301,10 +1301,10 @@ let self = _self // overrides; _self = with self; { }; ClassThrowable = buildPerlPackage { - name = "Class-Throwable-0.10"; + name = "Class-Throwable-0.11"; src = fetchurl { - url = mirror://cpan/authors/id/S/ST/STEVAN/Class-Throwable-0.10.tar.gz; - sha256 = "01hjrfb951c9j83ncg5drnam8vsfdgkjjv0kjshxhkl93sgnlvdl"; + url = mirror://cpan/authors/id/K/KM/KMX/Class-Throwable-0.11.tar.gz; + sha256 = "1vjadr0kqmfi9s3wfxjbqqgc7fqrk87n6b1a5979sbxxk5yh8hyk"; }; }; From 5198214d7074abe6208c90ccea504ac4ad431fcc Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:55 +0200 Subject: [PATCH 496/880] perlPackages.ClassUnload: update from 0.07 to 0.08 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 346ad4190ff..d3de94f5848 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1339,10 +1339,10 @@ let self = _self // overrides; _self = with self; { }; ClassUnload = buildPerlPackage rec { - name = "Class-Unload-0.07"; + name = "Class-Unload-0.08"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Class//${name}.tar.gz"; - sha256 = "1alvn94j0wgfyyym092g9cq0mbhzin0zf7lfja6578jk5cc788rr"; + url = "mirror://cpan/authors/id/I/IL/ILMARI/${name}.tar.gz"; + sha256 = "097gr3r2jgnm1175m4lpg4a97hv2mxrn9r0b2c6bn1x9xdhkywgh"; }; propagatedBuildInputs = [ ClassInspector ]; }; From 02cd3d3f2dbf6edc053e5c6a30326ba212bd889c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:03:58 +0200 Subject: [PATCH 497/880] perlPackages.ClassXSAccessor: update from 1.16 to 1.19 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index d3de94f5848..8a7a910db8a 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1348,10 +1348,10 @@ let self = _self // overrides; _self = with self; { }; ClassXSAccessor = buildPerlPackage { - name = "Class-XSAccessor-1.16"; + name = "Class-XSAccessor-1.19"; src = fetchurl { - url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.16.tar.gz; - sha256 = "1yjpw9kssy4m52407k45hxjnqz02494z7x8j44pjzkyi8msafvg5"; + url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.19.tar.gz; + sha256 = "1wm6013il899jnm0vn50a7iv9v6r4nqywbqzj0csyf8jbwwnpicr"; }; meta = { description = "Generate fast XS accessors without runtime compilation"; From 35a8be6a0c524c7d27f9700939a999ab5aa24fe3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:02 +0200 Subject: [PATCH 498/880] perlPackages.CompressRawBzip2: update from 2.063 to 2.064 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 8a7a910db8a..07b3667ebd5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1383,10 +1383,10 @@ let self = _self // overrides; _self = with self; { }; CompressRawBzip2 = buildPerlPackage { - name = "Compress-Raw-Bzip2-2.063"; + name = "Compress-Raw-Bzip2-2.064"; src = fetchurl { - url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.063.tar.gz; - sha256 = "0qi2jg76pgx1qkh4897g746cxqjr2njzzbyv2k9pq4m1m2v3jr6s"; + url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.064.tar.gz; + sha256 = "0aqbggr9yf4hn21a9fra111rlmva3w8f3mqvbchl5l86knkbkwy3"; }; # Don't build a private copy of bzip2. From 00eaaf091a46dad3d84025f11fd3ee49ac34051a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:05 +0200 Subject: [PATCH 499/880] perlPackages.CompressRawZlib: update from 2.063 to 2.065 --- pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix index 9310e3ca081..5d22970155b 100644 --- a/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix +++ b/pkgs/development/perl-modules/Compress-Raw-Zlib/default.nix @@ -1,11 +1,11 @@ { fetchurl, buildPerlPackage, zlib, stdenv }: buildPerlPackage rec { - name = "Compress-Raw-Zlib-2.063"; + name = "Compress-Raw-Zlib-2.065"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Compress/${name}.tar.gz"; - sha256 = "16cn9pq4pngncs3qhlam0yw2l0q7hq4qfdyxp03jaad6ndc4dzp9"; + url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz"; + sha256 = "1i09h3dvn8ipaj1l2nq2qd19wzhn7wcpbsipdkcniwi0sgy1kf1p"; }; preConfigure = '' From 8843b31863ffd230c60e9b337483091ea2dc9164 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:08 +0200 Subject: [PATCH 500/880] perlPackages.ConfigMVP: update from 2.200004 to 2.200007 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 07b3667ebd5..1a728886a0f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1464,10 +1464,10 @@ let self = _self // overrides; _self = with self; { }; ConfigMVP = buildPerlPackage { - name = "Config-MVP-2.200004"; + name = "Config-MVP-2.200007"; src = fetchurl { - url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200004.tar.gz; - sha256 = "dbe473f4b0fc649b82574aa71b0c5da3359058e181928d5e9197fc0ef247c3ec"; + url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200007.tar.gz; + sha256 = "10hc8v22mv56wqi6drpl4pw3r8y3xrgh80ayrb2gir80ah9s5bvi"; }; buildInputs = [ TestFatal ]; propagatedBuildInputs = [ ClassLoad Moose MooseXOneArgNew ParamsUtil RoleHasMessage RoleIdentifiable Throwable TieIxHash TryTiny ]; From 42d2cf897eb67947ccca17c16646654c9fb8a3e2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:12 +0200 Subject: [PATCH 501/880] perlPackages.ConfigTiny: update from 2.12 to 2.20 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 1a728886a0f..477d831ecf1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1493,10 +1493,10 @@ let self = _self // overrides; _self = with self; { }; ConfigTiny = buildPerlPackage rec { - name = "Config-Tiny-2.12"; + name = "Config-Tiny-2.20"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "1a5b7f5e8245a3e7be859df571209353be30abc7292815ee0f459b8dc87cdb5b"; + url = "mirror://cpan/authors/id/R/RS/RSAVAGE/${name}.tgz"; + sha256 = "0grgb7av1hwpl20xh91jipla1xi0h7vx6c538arxmvgm1f71cql2"; }; }; From 665f7e653a7bd6c8d359262bce008d942f738709 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:15 +0200 Subject: [PATCH 502/880] perlPackages.Coro: update from 6.33 to 6.37 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 477d831ecf1..4d7a2d1288f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1559,10 +1559,10 @@ let self = _self // overrides; _self = with self; { }; Coro = buildPerlPackage { - name = "Coro-6.33"; + name = "Coro-6.37"; src = fetchurl { - url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.33.tar.gz; - sha256 = "1497wd9df10y65rb0w5h4h6wiy3smw9maw7z0gbz6dir774znfb5"; + url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.37.tar.gz; + sha256 = "08qkwv7rpyb7zcp128crjakflc027sjkx9d2s1gzc21grsq9a456"; }; propagatedBuildInputs = [ AnyEvent Guard CommonSense ]; meta = { From 4b906253d80a4209575896c70791cbf09e46f2aa Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:22 +0200 Subject: [PATCH 503/880] perlPackages.CryptDHGMP: update from 0.00011 to 0.00012 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4d7a2d1288f..797bb2a1a23 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1671,10 +1671,10 @@ let self = _self // overrides; _self = with self; { }; CryptDHGMP = buildPerlPackage rec { - name = "Crypt-DH-GMP-0.00011"; + name = "Crypt-DH-GMP-0.00012"; src = fetchurl { - url = "mirror://cpan/authors/id//D/DM/DMAKI/${name}.tar.gz"; - sha256 = "0c9sz67lh2d2pn9z82hngzns4sqqnawdc8a1yl7p7pc0l4r0q3hz"; + url = "mirror://cpan/authors/id/D/DM/DMAKI/${name}.tar.gz"; + sha256 = "0f5gdprcql4kwzgxl2s6ngcfg1jl45lzcqh7dkv5bkwlwmxa9rsi"; }; buildInputs = [ DevelChecklib TestRequires pkgs.gmp ]; NIX_CFLAGS_COMPILE = "-I${pkgs.gmp}/include"; From 33d9f8bd5c9a6d51970b93a57b98983ec71eb588 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:25 +0200 Subject: [PATCH 504/880] perlPackages.CryptOpenSSLRandom: update from 0.04 to 0.06 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 797bb2a1a23..4b4bbf3183d 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1765,10 +1765,10 @@ let self = _self // overrides; _self = with self; { }; CryptOpenSSLRandom = buildPerlPackage rec { - name = "Crypt-OpenSSL-Random-0.04"; + name = "Crypt-OpenSSL-Random-0.06"; src = fetchurl { - url = "mirror://cpan/authors/id/I/IR/IROBERTS/${name}.tar.gz"; - sha256 = "acf7eb81023cd1f40d8c60b893096d041513df2be2aefe145cc7ae1a3dcc78c7"; + url = "mirror://cpan/authors/id/R/RU/RURBAN/${name}.tar.gz"; + sha256 = "10yhjh04jxdf4ghqqvrcfds7vvylxv671l57lkkbg3k8qzpdzd7g"; }; NIX_CFLAGS_COMPILE = "-I${pkgs.openssl}/include"; NIX_CFLAGS_LINK = "-L${pkgs.openssl}/lib -lcrypto"; From 3f323615b286d9c4372b83e42b599f55d2854b50 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:28 +0200 Subject: [PATCH 505/880] perlPackages.CryptPasswdMD5: update from 1.3 to 1.40 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 4b4bbf3183d..6144f62d563 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1691,10 +1691,10 @@ let self = _self // overrides; _self = with self; { }; CryptPasswdMD5 = buildPerlPackage { - name = "Crypt-PasswdMD5-1.3"; + name = "Crypt-PasswdMD5-1.40"; src = fetchurl { - url = mirror://cpan/authors/id/L/LU/LUISMUNOZ/Crypt-PasswdMD5-1.3.tar.gz; - sha256 = "13j0v6ihgx80q8jhyas4k48b64gnzf202qajyn097vj8v48khk54"; + url = mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.40.tgz; + sha256 = "0j0r74f18nk63phddzqbf7wqma2ci4p4bxvrwrxsy0aklbp6lzdp"; }; }; From d3a072b81c48ff40c5894f5d3e9f7b332204541f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:37 +0200 Subject: [PATCH 506/880] perlPackages.CryptRandPasswd: update from 0.03 to 0.05 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 6144f62d563..c086312e5e4 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1724,10 +1724,10 @@ let self = _self // overrides; _self = with self; { }; CryptRandPasswd = buildPerlPackage { - name = "Crypt-RandPasswd-0.03"; + name = "Crypt-RandPasswd-0.05"; src = fetchurl { - url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.03.tar.gz; - sha256 = "0sz2b4gj2mcwj0nqvxw3gs5m49jzfbi0vla51hj957dvfk00plhf"; + url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.05.tar.gz; + sha256 = "0djcjzk0wmlf02gx9935m7c1dhpmdwx3hjal8x80aa92baavwf2s"; }; }; From 4f8820cce6e797cfc497d175381b0d9b69c87c2f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:40 +0200 Subject: [PATCH 507/880] perlPackages.CryptRijndael: update from 1.11 to 1.12 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index c086312e5e4..bdd2ee151ff 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1741,10 +1741,10 @@ let self = _self // overrides; _self = with self; { }; CryptRijndael = buildPerlPackage rec { - name = "Crypt-Rijndael-1.11"; + name = "Crypt-Rijndael-1.12"; src = fetchurl { url = "mirror://cpan/authors/id/B/BD/BDFOY/${name}.tar.gz"; - sha256 = "8f8833bc8839e0d4aa3c26d86d2f39ceb9b13e52a9f5e4fd928da2e71989d3b4"; + sha256 = "1rgzlxp882cc52287awwha4ipglm6nxw5jryd6cshrr99qcx55m0"; }; }; From ce938b40bf49e3ec3adcf36090757f917ab436d0 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:44 +0200 Subject: [PATCH 508/880] perlPackages.CryptUnixCryptXS: update from 0.09 to 0.10 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bdd2ee151ff..a1b4f5d1fe1 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1749,10 +1749,10 @@ let self = _self // overrides; _self = with self; { }; CryptUnixCryptXS = buildPerlPackage rec { - name = "Crypt-UnixCrypt_XS-0.09"; + name = "Crypt-UnixCrypt_XS-0.10"; src = fetchurl { url = "mirror://cpan/authors/id/B/BO/BORISZ/${name}.tar.gz"; - sha256 = "527c32b8b6eb50d52b081ceae4be2d748e718e40ea85940da59a3adeb3a33156"; + sha256 = "1d3xamq2mm3v2bfb1ay66crljm0bigfbhay1fqglcsrb75b7ls7r"; }; }; From c67a5180bf402edc5f9a9d2e0d587cffee909e71 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:49 +0200 Subject: [PATCH 509/880] perlPackages.DBDPg: update from 2.19.3 to 3.0.0 --- pkgs/development/perl-modules/DBD-Pg/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/perl-modules/DBD-Pg/default.nix b/pkgs/development/perl-modules/DBD-Pg/default.nix index be5faa330ae..619f2f14b96 100644 --- a/pkgs/development/perl-modules/DBD-Pg/default.nix +++ b/pkgs/development/perl-modules/DBD-Pg/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildPerlPackage, DBI, postgresql }: buildPerlPackage rec { - name = "DBD-Pg-2.19.3"; + name = "DBD-Pg-3.0.0"; src = fetchurl { - url = "mirror://cpan/modules/by-module/DBD/${name}.tar.gz"; - sha256 = "0ai6p2094hrh6kjlwfjvpw2z8wqa3scr4ba3p6rqza3z9c9hsd9p"; + url = "mirror://cpan/authors/id/T/TU/TURNSTEP/${name}.tar.gz"; + sha256 = "10s1dhpxxqfl421388l6gzfdm1gzxf5iah42i1w6yji9mgkz8hf8"; }; buildInputs = [ postgresql ]; From 2624dc357571ab5ff96f2d3ceb4662bb6e74a748 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:53 +0200 Subject: [PATCH 510/880] perlPackages.DBDSQLite: update from 1.37 to 1.42 --- pkgs/development/perl-modules/DBD-SQLite/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/perl-modules/DBD-SQLite/default.nix b/pkgs/development/perl-modules/DBD-SQLite/default.nix index 06688ded22a..7b1741c3d1e 100644 --- a/pkgs/development/perl-modules/DBD-SQLite/default.nix +++ b/pkgs/development/perl-modules/DBD-SQLite/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, buildPerlPackage, DBI, sqlite }: buildPerlPackage rec { - name = "DBD-SQLite-1.37"; + name = "DBD-SQLite-1.42"; src = fetchurl { - url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; - sha256 = "0197kvlziaj2wfdbzlhdlqmzvb29fmfyy6y2isbbwlg0b0f7ccd1"; + url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/${name}.tar.gz"; + sha256 = "14x9cjsc8dz8ad1nad0bqiq9cbk1rjfb8h5y0rpk3pdl38y6afxb"; }; propagatedBuildInputs = [ DBI ]; From 639c075ca54c782f84bb42593383080d90ed1254 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:04:57 +0200 Subject: [PATCH 511/880] perlPackages.DBI: update from 1.630 to 1.631 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a1b4f5d1fe1..ad489448dd4 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2287,10 +2287,10 @@ let self = _self // overrides; _self = with self; { }; DBI = buildPerlPackage { - name = "DBI-1.630"; + name = "DBI-1.631"; src = fetchurl { - url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.630.tar.gz; - sha256 = "18szayj2bl28fm9frf9v1dwncj67bx3rvw8ny1zwbvc6alshs5ji"; + url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.631.tar.gz; + sha256 = "04fmrnchhwi7jx4niaiv93vmi343hdm3xj04w9zr2m9hhqh782np"; }; meta = { homepage = http://dbi.perl.org/; From bfe8e8148ac8212c61978be63090a9e1a16392eb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:05:01 +0200 Subject: [PATCH 512/880] perlPackages.DBIxClassCandy: update from 0.002103 to 0.002104 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index ad489448dd4..82d89f55ee7 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2315,10 +2315,10 @@ let self = _self // overrides; _self = with self; { }; DBIxClassCandy = buildPerlPackage { - name = "DBIx-Class-Candy-0.002103"; + name = "DBIx-Class-Candy-0.002104"; src = fetchurl { - url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.002103.tar.gz; - sha256 = "1vcaigvzxq9jjkhw2bkayrnsa76sakr3wrv7009f1dxyfa0iyrsk"; + url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.002104.tar.gz; + sha256 = "0b0fsm3waqm43qmhcynb2s6p8hi9yr41p9c4c5aq6l58x3xwvp34"; }; propagatedBuildInputs = [ TestDeep TestFatal DBIxClass LinguaENInflect StringCamelCase ]; meta = { From 83a4c1ed79038e618d30a9e67f6247862d76b34b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:05:04 +0200 Subject: [PATCH 513/880] perlPackages.DataCompare: update from 1.22 to 1.2102 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 82d89f55ee7..cc76cac2146 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1810,10 +1810,10 @@ let self = _self // overrides; _self = with self; { }; DataCompare = buildPerlPackage rec { - name = "Data-Compare-1.22"; + name = "Data-Compare-1.2102"; src = fetchurl { - url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz"; - sha256 = "1bz8qasp3ndiprxq2l0llbc0xbnjq11lz0l1lfzxiap7v1y2r3yf"; + url = "mirror://cpan/authors/id/D/DC/DCANTRELL/${name}.tar.gz"; + sha256 = "0v1997gnq3gpcr7f64jmyay2l60s5z6gsiy5hbpn1p2l2hrfnwlj"; }; propagatedBuildInputs = [ FileFindRule ]; }; From 28410f40b4f15c3f14698bcdec62c07bf9c43d12 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 7 Apr 2014 14:05:09 +0200 Subject: [PATCH 514/880] perlPackages.DataPage: update from 2.01 to 2.02 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index cc76cac2146..df06b82ab29 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1887,10 +1887,10 @@ let self = _self // overrides; _self = with self; { }; DataPage = buildPerlPackage { - name = "Data-Page-2.01"; + name = "Data-Page-2.02"; src = fetchurl { - url = mirror://cpan/authors/id/L/LB/LBROCARD/Data-Page-2.01.tar.gz; - sha256 = "0mvhlid9qx9yd94rgr4lfz9kvflimc1dzcah0x7q5disw39aqrzr"; + url = mirror://cpan/authors/id/L/LB/LBROCARD/Data-Page-2.02.tar.gz; + sha256 = "1hvi92c4h2angryc6pngw7gbm3ysc2jfmyxk2wh9ia4vdwpbs554"; }; propagatedBuildInputs = [TestException ClassAccessorChained]; }; From 2ba552fb2e7745ddbc52001208f89f7f82310251 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 8 Apr 2014 13:27:51 +0200 Subject: [PATCH 515/880] Revert "Fix services.udisks.enable." This reverts commit 02a30bea44edf1116dcab16c5e64501312b2927b, necessary after reverting to udisks 1.0.4. http://hydra.nixos.org/build/10194840 --- nixos/modules/services/hardware/udisks.nix | 2 -- pkgs/os-specific/linux/udisks/1-default.nix | 5 ----- 2 files changed, 7 deletions(-) diff --git a/nixos/modules/services/hardware/udisks.nix b/nixos/modules/services/hardware/udisks.nix index a3527468cce..531ee192573 100644 --- a/nixos/modules/services/hardware/udisks.nix +++ b/nixos/modules/services/hardware/udisks.nix @@ -40,8 +40,6 @@ with pkgs.lib; ''; services.udev.packages = [ pkgs.udisks ]; - - systemd.packages = [ pkgs.udisks ]; }; } diff --git a/pkgs/os-specific/linux/udisks/1-default.nix b/pkgs/os-specific/linux/udisks/1-default.nix index 8c112417f0a..09731d54ab7 100644 --- a/pkgs/os-specific/linux/udisks/1-default.nix +++ b/pkgs/os-specific/linux/udisks/1-default.nix @@ -19,11 +19,6 @@ stdenv.mkDerivation rec { substituteInPlace src/main.c --replace \ "/sbin:/bin:/usr/sbin:/usr/bin" \ "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/sbin" - - # For some reason @libexec@ is set to 'lib/' when building. - # Passing --libexecdir in configureFlags didn't help. - substituteInPlace data/systemd/udisks.service.in \ - --replace "@libexecdir@" "$out/libexec" ''; buildInputs = From 06614031d634f2b4af90d87c140465cba0731275 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 6 Apr 2014 21:20:45 +0200 Subject: [PATCH 516/880] accountservice: add dbus and systemd services Enable by default with gnome3. --- nixos/modules/module-list.nix | 1 + .../services/desktops/accountservice.nix | 40 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../libraries/accountservice/default.nix | 7 +++- 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 nixos/modules/services/desktops/accountservice.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 86bb87e91de..0b482dcda1b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -96,6 +96,7 @@ ./services/databases/postgresql.nix ./services/databases/virtuoso.nix ./services/databases/monetdb.nix + ./services/desktops/accountservice.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix ./services/hardware/acpid.nix diff --git a/nixos/modules/services/desktops/accountservice.nix b/nixos/modules/services/desktops/accountservice.nix new file mode 100644 index 00000000000..b21207f05a1 --- /dev/null +++ b/nixos/modules/services/desktops/accountservice.nix @@ -0,0 +1,40 @@ +# AccountsService daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.accounts-daemon = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable AccountsService, a DBus service for accessing + the list of user accounts and information attached to those accounts. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.accounts-daemon.enable { + + environment.systemPackages = [ pkgs.accountservice ]; + + services.dbus.packages = [ pkgs.accountservice ]; + + systemd.packages = [ pkgs.accountservice ]; + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 4f876b9b111..381ebc7ad29 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -22,6 +22,7 @@ in { # Enable helpful DBus services. security.polkit.enable = true; services.udisks2.enable = true; + services.accounts-daemon.enable = true; networking.networkmanager.enable = true; services.upower.enable = config.powerManagement.enable; diff --git a/pkgs/development/libraries/accountservice/default.nix b/pkgs/development/libraries/accountservice/default.nix index 8cab9e39e19..9734a6bc980 100644 --- a/pkgs/development/libraries/accountservice/default.nix +++ b/pkgs/development/libraries/accountservice/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, glib, intltool, libtool, gobjectIntrospection, polkit }: +{ stdenv, fetchurl, pkgconfig, glib, intltool +, libtool, gobjectIntrospection, polkit, systemd }: stdenv.mkDerivation rec { name = "accountsservice-0.6.35"; @@ -8,6 +9,8 @@ stdenv.mkDerivation rec { sha256 = "0f1hzl6hw56xvwgmd4yvmdyj15xj1fafw45pzv3qarww7h0wg8b5"; }; - buildInputs = [ pkgconfig glib intltool libtool gobjectIntrospection polkit ]; + buildInputs = [ pkgconfig glib intltool libtool + gobjectIntrospection polkit systemd ]; + configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; } From b0d0ffc0b2231064ec0d00003a2f757bc27de414 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 18:35:02 +0200 Subject: [PATCH 517/880] libxklavier: add gobject introspection support --- pkgs/development/libraries/libxklavier/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libxklavier/default.nix b/pkgs/development/libraries/libxklavier/default.nix index cb3c3b23e7f..18f57473fb9 100644 --- a/pkgs/development/libraries/libxklavier/default.nix +++ b/pkgs/development/libraries/libxklavier/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, libX11, libXi, xkeyboard_config, libxml2 -, libICE, glib, libxkbfile, isocodes }: +, libICE, glib, libxkbfile, isocodes, gobjectIntrospection }: let version = "5.3"; @@ -17,6 +17,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ gobjectIntrospection ]; + configureFlags = '' --with-xkb-base=${xkeyboard_config}/etc/X11/xkb --disable-xmodmap-support From 285d8f013c2b49401d30300b33a0bce7a3a3c501 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 18:35:47 +0200 Subject: [PATCH 518/880] libgnomekbd: new package Keyboard management library. Used by gnome-control-center. --- .../gnome-3/core/libgnomekbd/default.nix | 24 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/libgnomekbd/default.nix diff --git a/pkgs/desktops/gnome-3/core/libgnomekbd/default.nix b/pkgs/desktops/gnome-3/core/libgnomekbd/default.nix new file mode 100644 index 00000000000..1156474e5a7 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/libgnomekbd/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib, gtk3, libxklavier, makeWrapper }: + +stdenv.mkDerivation rec { + name = "libgnomekbd-3.6.0"; + + src = fetchurl { + url = "mirror://gnome/sources/libgnomekbd/3.6/${name}.tar.xz"; + sha256 = "c41ea5b0f64da470925ba09f9f1b46b26b82d4e433e594b2c71eab3da8856a09"; + }; + + buildInputs = [ pkgconfig file intltool glib gtk3 libxklavier makeWrapper ]; + + preFixup = '' + wrapProgram $out/bin/gkbd-keyboard-display \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + description = "Keyboard management library"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index ee40ff19e71..0a9a0b39aaf 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -62,6 +62,8 @@ rec { libgnome_keyring = callPackage ./core/libgnome-keyring { }; + libgnomekbd = callPackage ./core/libgnomekbd { }; + folks = callPackage ./core/folks { }; gnome_online_accounts = callPackage ./core/gnome-online-accounts { }; From 04c2fe4cbe017277db058291e7e4c46d6427fa39 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 18:36:23 +0200 Subject: [PATCH 519/880] gnome-control-center: propagate libgnomekbd in user env --- pkgs/desktops/gnome-3/core/gnome-control-center/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index a3f2e2b7584..92a6b6c2c40 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { sha256 = "1ac34kqkf174w0qc12p927dfhcm69xnv7fqzmbhjab56rn49wypn"; }; - propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard gnome3.libgnomekbd ]; propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; From 79cef74f4ddbbcb4affd5cafe9f693b689109a0a Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 21:29:46 +0200 Subject: [PATCH 520/880] gnome-system-monitor: new package System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used https://help.gnome.org/users/gnome-system-monitor/3.10/ --- .../core/gnome-system-monitor/default.nix | 38 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix diff --git a/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix new file mode 100644 index 00000000000..91fbe67957f --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-system-monitor/default.nix @@ -0,0 +1,38 @@ +{ stdenv, intltool, fetchurl, pkgconfig, gtkmm3, libxml2 +, bash, gtk3, glib, hicolor_icon_theme, makeWrapper +, itstool, gnome3, librsvg, gdk_pixbuf, libgtop }: + +stdenv.mkDerivation rec { + name = "gnome-system-monitor-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-system-monitor/3.10/${name}.tar.xz"; + sha256 = "bd009e15672afe4ad3ebd7ed286cce79b9f76420fd39bc77a5826b29134b9db0"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + buildInputs = [ bash pkgconfig gtk3 glib intltool itstool libxml2 + gtkmm3 libgtop makeWrapper + gnome3.gsettings_desktop_schemas ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-system-monitor" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-system-monitor/3.10/; + description = "System Monitor shows you what programs are running and how much processor time, memory, and disk space are being used"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 0a9a0b39aaf..dac1a730eb0 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -78,6 +78,8 @@ rec { gnome-system-log = callPackage ./core/gnome-system-log { }; + gnome-system-monitor = callPackage ./core/gnome-system-monitor { }; + gnome_terminal = callPackage ./core/gnome-terminal { }; gnome_themes_standard = callPackage ./core/gnome-themes-standard { }; From 9b737eb28222f701f16d7e278f0db6c5b809e8c9 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 23:52:40 +0200 Subject: [PATCH 521/880] libmusicbrainz5: new major version --- .../libraries/libmusicbrainz/5.x.nix | 25 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/development/libraries/libmusicbrainz/5.x.nix diff --git a/pkgs/development/libraries/libmusicbrainz/5.x.nix b/pkgs/development/libraries/libmusicbrainz/5.x.nix new file mode 100644 index 00000000000..7cdb8fb4691 --- /dev/null +++ b/pkgs/development/libraries/libmusicbrainz/5.x.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, cmake, neon, libdiscid }: + +stdenv.mkDerivation rec { + name = "libmusicbrainz-5.0.1"; + + buildInputs = [ cmake neon libdiscid ]; + + src = fetchurl { + url = "https://github.com/downloads/metabrainz/libmusicbrainz/${name}.tar.gz"; + md5 = "a0406b94c341c2b52ec0fe98f57cadf3"; + }; + + dontUseCmakeBuildDir=true; + + meta = { + homepage = http://musicbrainz.org/doc/libmusicbrainz; + description = "MusicBrainz Client Library (5.x version)"; + longDescription = '' + The libmusicbrainz (also known as mb_client or MusicBrainz Client + Library) is a development library geared towards developers who wish to + add MusicBrainz lookup capabilities to their applications.''; + maintainers = [ stdenv.lib.maintainers.urkud ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d0fea1417de..9bee27b52eb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5065,6 +5065,8 @@ let libmusicbrainz3 = callPackage ../development/libraries/libmusicbrainz { }; + libmusicbrainz5 = callPackage ../development/libraries/libmusicbrainz/5.x.nix { }; + libmusicbrainz = libmusicbrainz3; libnet = callPackage ../development/libraries/libnet { }; From 3feb20356e8b82c9a3638fbda655a14ea11d6e38 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 23:53:07 +0200 Subject: [PATCH 522/880] evince: enable gobject introspection --- pkgs/desktops/gnome-3/core/evince/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix index 3a2688a64b9..4b50840534c 100644 --- a/pkgs/desktops/gnome-3/core/evince/default.nix +++ b/pkgs/desktops/gnome-3/core/evince/default.nix @@ -2,6 +2,7 @@ , glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3 , poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper , librsvg, recentListSize ? null # 5 is not enough, allow passing a different number +, gobjectIntrospection }: stdenv.mkDerivation rec { @@ -14,7 +15,7 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig intltool perl perlXMLParser libxml2 - glib gtk3 pango atk gdk_pixbuf + glib gtk3 pango atk gdk_pixbuf gobjectIntrospection itstool gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas poppler ghostscriptX djvulibre libspectre @@ -23,6 +24,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--disable-nautilus" # Do not use nautilus + "--enable-introspection" ]; NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; From ea3644cb098306fb767ae50426270491d190547a Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 23:54:07 +0200 Subject: [PATCH 523/880] sushi: new package A quick previewer for Nautilus http://en.wikipedia.org/wiki/Sushi_(software) --- nixos/modules/module-list.nix | 1 + .../services/desktops/gnome3/sushi.nix | 38 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + pkgs/desktops/gnome-3/core/sushi/default.nix | 38 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 5 files changed, 80 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/sushi.nix create mode 100644 pkgs/desktops/gnome-3/core/sushi/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 0b482dcda1b..ecf1901d500 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -97,6 +97,7 @@ ./services/databases/virtuoso.nix ./services/databases/monetdb.nix ./services/desktops/accountservice.nix + ./services/desktops/gnome3/sushi.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix ./services/hardware/acpid.nix diff --git a/nixos/modules/services/desktops/gnome3/sushi.nix b/nixos/modules/services/desktops/gnome3/sushi.nix new file mode 100644 index 00000000000..7fe37e26f43 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/sushi.nix @@ -0,0 +1,38 @@ +# GNOME Sushi daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.sushi = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Sushi, a quick previewer for nautilus. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.sushi.enable { + + environment.systemPackages = [ pkgs.gnome3.sushi ]; + + services.dbus.packages = [ pkgs.gnome3.sushi ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 381ebc7ad29..985884595ab 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -23,6 +23,7 @@ in { security.polkit.enable = true; services.udisks2.enable = true; services.accounts-daemon.enable = true; + services.gnome3.sushi.enable = true; networking.networkmanager.enable = true; services.upower.enable = config.powerManagement.enable; diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/core/sushi/default.nix new file mode 100644 index 00000000000..55729a54669 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/sushi/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, gobjectIntrospection, glib +, clutter_gtk, clutter-gst, gnome3, gtksourceview, libmusicbrainz +, webkitgtk, libmusicbrainz5, icu, makeWrapper, gst_all_1 +, gdk_pixbuf, librsvg, hicolor_icon_theme }: + +stdenv.mkDerivation rec { + name = "sushi-3.8.1"; + + src = fetchurl { + url = "mirror://gnome/sources/sushi/3.8/${name}.tar.xz"; + sha256 = "c4f24d0961ce8fc5ef3a4fe9af178e368c7117459df2c0be12c8f953646c82dd"; + }; + + propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ]; + + buildInputs = [ pkgconfig file intltool gobjectIntrospection glib + clutter_gtk clutter-gst gnome3.gjs gtksourceview gdk_pixbuf librsvg + gnome3.gnome_icon_theme hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + libmusicbrainz5 webkitgtk gnome3.evince icu makeWrapper ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram $out/libexec/sushi-start \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = "http://en.wikipedia.org/wiki/Sushi_(software)"; + description = "A quick previewer for Nautilus"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index dac1a730eb0..fb92cd80998 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -114,6 +114,8 @@ rec { rest = callPackage ./core/rest { }; + sushi = callPackage ./core/sushi { }; + totem = callPackage ./core/totem { }; totem-pl-parser = callPackage ./core/totem-pl-parser { }; From 968740e0c1e36d5cab3e6bfe566e3ee709a620b5 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 07:04:11 -0500 Subject: [PATCH 524/880] capstone: version 2.1.2 Signed-off-by: Austin Seipp --- .../libraries/capstone/default.nix | 22 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/development/libraries/capstone/default.nix diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix new file mode 100644 index 00000000000..37d1c118e4a --- /dev/null +++ b/pkgs/development/libraries/capstone/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "capstone-${version}"; + version = "2.1.2"; + + src = fetchurl { + url = "http://www.capstone-engine.org/download/${version}/${name}.tgz"; + sha256 = "1k6px3vdcsfby3lakss5sazs875kbzkzqk7cj79xrm2y5ik1vr29"; + }; + + buildPhase = false; + installPhase = "PREFIX=$out ./make.sh install"; + + meta = { + description = "advanced disassembly library"; + homepage = "http://www.capstone-engine.org"; + license = stdenv.lib.licenses.bsd3; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ed5a3d3ab73..7b9cc109f59 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -576,6 +576,8 @@ let ccnet = callPackage ../tools/networking/ccnet { }; + capstone = callPackage ../development/libraries/capstone { }; + ditaa = callPackage ../tools/graphics/ditaa { }; direnv = callPackage ../tools/misc/direnv { }; From caf98828bb2f8d40448ca3a6782b881a0f2cec58 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 8 Apr 2014 15:13:27 +0200 Subject: [PATCH 525/880] nixos-generate-config: Fix PCI/USB checks As reported by Kirill Elagin, read_file doesn't chomp its output. So the equality tests on PCI/USB vendor and device IDs were failing. --- .../installer/tools/nixos-generate-config.pl | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index d42c4c1f1dc..da1d2688277 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -96,9 +96,9 @@ my $videoDriver; sub pciCheck { my $path = shift; - my $vendor = read_file "$path/vendor"; - my $device = read_file "$path/device"; - my $class = read_file "$path/class"; + my $vendor = read_file "$path/vendor"; chomp $vendor; + my $device = read_file "$path/device"; chomp $device; + my $class = read_file "$path/class"; chomp $class; my $module; if (-e "$path/driver/module") { @@ -130,6 +130,7 @@ sub pciCheck { # broadcom STA driver (wl.ko) # list taken from http://www.broadcom.com/docs/linux_sta/README.txt + # FIXME: still needed? if ($vendor eq "0x14e4" && ($device eq "0x4311" || $device eq "0x4312" || $device eq "0x4313" || $device eq "0x4315" || $device eq "0x4327" || $device eq "0x4328" || @@ -156,6 +157,7 @@ sub pciCheck { # Assume that all NVIDIA cards are supported by the NVIDIA driver. # There may be exceptions (e.g. old cards). + # FIXME: do we want to enable an unfree driver here? $videoDriver = "nvidia" if $vendor eq "0x10de" && $class =~ /^0x03/; } @@ -170,9 +172,9 @@ push @attrs, "hardware.opengl.videoDrivers = [ \"$videoDriver\" ];" if $videoDri sub usbCheck { my $path = shift; - my $class = read_file "$path/bInterfaceClass"; - my $subclass = read_file "$path/bInterfaceSubClass"; - my $protocol = read_file "$path/bInterfaceProtocol"; + my $class = read_file "$path/bInterfaceClass"; chomp $class; + my $subclass = read_file "$path/bInterfaceSubClass"; chomp $subclass; + my $protocol = read_file "$path/bInterfaceProtocol"; chomp $protocol; my $module; if (-e "$path/driver/module") { From 57cfb4315e875f9755bc3a7e8f73d8401797ad3a Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 10:12:52 -0500 Subject: [PATCH 526/880] haskell: sbv 3.0 Signed-off-by: Austin Seipp --- .../libraries/haskell/sbv/default.nix | 19 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/libraries/haskell/sbv/default.nix diff --git a/pkgs/development/libraries/haskell/sbv/default.nix b/pkgs/development/libraries/haskell/sbv/default.nix new file mode 100644 index 00000000000..a4450bdc892 --- /dev/null +++ b/pkgs/development/libraries/haskell/sbv/default.nix @@ -0,0 +1,19 @@ +{ cabal, deepseq, filepath, HUnit, mtl, QuickCheck, random, syb }: + +cabal.mkDerivation (self: { + pname = "sbv"; + version = "3.0"; + sha256 = "16k9f0x4amg7mm8ib22nyk1rngrbf9311gl2m15hbdq49jp8ik9i"; + isLibrary = true; + isExecutable = true; + buildDepends = [ + deepseq filepath HUnit mtl QuickCheck random syb + ]; + testDepends = [ filepath HUnit syb ]; + meta = { + homepage = "http://leventerkok.github.com/sbv/"; + description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index acffb2b08b5..7172f4d0f42 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2207,6 +2207,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x SafeSemaphore = callPackage ../development/libraries/haskell/SafeSemaphore {}; + sbv = callPackage ../development/libraries/haskell/sbv {}; + scientific = callPackage ../development/libraries/haskell/scientific {}; scotty = callPackage ../development/libraries/haskell/scotty {}; From 54a8e0ed0f8bdbd6dafe8a9af38ca15df2645c1b Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Tue, 8 Apr 2014 17:42:04 +0200 Subject: [PATCH 527/880] flashplayer: Update from 11.2.202.346 -> 11.2.202.350 --- .../browsers/mozilla-plugins/flashplayer-11/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix index a33c879ad92..a78ab7d27f7 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-11/default.nix @@ -36,7 +36,7 @@ let # -> http://get.adobe.com/flashplayer/ - version = "11.2.202.346"; + version = "11.2.202.350"; src = if stdenv.system == "x86_64-linux" then @@ -47,7 +47,7 @@ let else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; - sha256 = "19jgiw5f0ksxqgi6jkla4qq7gx9gnn9jmpjgqanb7mhl5fdl0v55"; + sha256 = "0f5y05c0acvdzd7a7qi93kd17byazf9swm6gml5rph5bc25aw77l"; } else if stdenv.system == "i686-linux" then if debug then { @@ -58,7 +58,7 @@ let } else rec { inherit version; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; - sha256 = "01f4zady0r0n5rfqq2285svc13wiypmfrm8fnirmr5lpwl5d89ra"; + sha256 = "0nsrj56xbpn8r4365zby8qbc38cl2anb5ky0h7jwyh7xyrs9xmml"; } else throw "Flash Player is not supported on this platform"; From 35abc43092d4a1d8452b6f40e3be0df508ddfdc0 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 10:49:04 -0500 Subject: [PATCH 528/880] cb1cat: 20140328100000 -> 20140403153000 Signed-off-by: Austin Seipp --- pkgs/tools/security/cb1cat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/cb1cat/default.nix b/pkgs/tools/security/cb1cat/default.nix index 7c3d9a1661e..546ace2d8ed 100644 --- a/pkgs/tools/security/cb1cat/default.nix +++ b/pkgs/tools/security/cb1cat/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "cb1cat-${version}"; - version = "20140328100000"; + version = "20140403153000"; src = fetchurl { url = "https://www.cblnk.com/cb1cat/dist/${name}.tgz"; - sha256 = "0fbly4fg2qsb4kx9wgv357bsa3mmmy8xmy0yszw80k50ixphjswv"; + sha256 = "1zi0rxbgmp6vkcarg493gfgn7pnfdpz0iplcgslbc45n2bxkv70q"; }; installPhase = '' From f14540a6191ea5652a01245fc51197baf0ead2f5 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 10:53:50 -0500 Subject: [PATCH 529/880] fsharp: 3.1 -> 3.1.0 This matches the traditional upstream versioning for FSharp in the wild Signed-off-by: Austin Seipp --- pkgs/development/compilers/fsharp/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix index 963c7e2cb5c..1d795504589 100644 --- a/pkgs/development/compilers/fsharp/default.nix +++ b/pkgs/development/compilers/fsharp/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "fsharp-${version}"; - version = "3.1"; + version = "3.1.0"; src = fetchgit { url = "https://github.com/fsharp/fsharp"; From 95272dc61a4824554f3190d29fc10f240bad7667 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 8 Apr 2014 18:14:46 +0200 Subject: [PATCH 530/880] nixUnstable: Update to 1.7pre3576_2b6c8ef --- pkgs/tools/package-management/nix/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 28497647f86..c9cf7dc7916 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "nix-1.7pre3538_4900957"; + name = "nix-1.7pre3576_2b6c8ef"; src = fetchurl { - url = "http://hydra.nixos.org/build/9862372/download/5/${name}.tar.xz"; - sha256 = "05l9j892cscf0ig6s0kxkfigzqwrsza4g38a40s87yvd2cr14pxq"; + url = "http://hydra.nixos.org/build/10201398/download/5/${name}.tar.xz"; + sha256 = "7a735ac859a88a7042b1a7f33f3ab94e9374a0695c68cceb63d4536a79986236"; }; nativeBuildInputs = [ perl pkgconfig ]; From f251d0d3867a0350e9dd6f21d1812c1f38ea8233 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Tue, 8 Apr 2014 17:21:47 +0100 Subject: [PATCH 531/880] Remove haskellPackages.lensAeson This is now part of haskellPackages.lens --- .../libraries/haskell/lens-aeson/default.nix | 23 ------------------- pkgs/top-level/haskell-packages.nix | 2 -- 2 files changed, 25 deletions(-) delete mode 100644 pkgs/development/libraries/haskell/lens-aeson/default.nix diff --git a/pkgs/development/libraries/haskell/lens-aeson/default.nix b/pkgs/development/libraries/haskell/lens-aeson/default.nix deleted file mode 100644 index 7ea890a5eb3..00000000000 --- a/pkgs/development/libraries/haskell/lens-aeson/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ cabal, aeson, attoparsec, doctest, filepath, genericDeriving -, lens, semigroups, simpleReflect, text, unorderedContainers -, utf8String, vector -}: - -cabal.mkDerivation (self: { - pname = "lens-aeson"; - version = "0.1.2"; - sha256 = "1h0w8p227r8gzvgqjl210i0z7xxv3435vwyi3j7vkm7a05cdk03l"; - buildDepends = [ - aeson attoparsec lens text unorderedContainers utf8String vector - ]; - testDepends = [ - doctest filepath genericDeriving semigroups simpleReflect - ]; - meta = { - homepage = "http://github.com/lens/lens-aeson/"; - description = "Law-abiding lenses for aeson"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.ocharles ]; - }; -}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index ca689949b39..7e03102f624 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1620,8 +1620,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x lens = callPackage ../development/libraries/haskell/lens {}; - lensAeson = callPackage ../development/libraries/haskell/lens-aeson {}; - lensDatetime = callPackage ../development/libraries/haskell/lens-datetime {}; lensFamilyCore = callPackage ../development/libraries/haskell/lens-family-core {}; From 6a3d9a84c43869589c804f8b7590220d815cb064 Mon Sep 17 00:00:00 2001 From: Matej Cotman Date: Tue, 8 Apr 2014 20:13:19 +0200 Subject: [PATCH 532/880] searx: upgrade to latest --- pkgs/top-level/python-packages.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bed95bf29fb..4fe14a3bbe2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8795,19 +8795,21 @@ rec { }; searx = buildPythonPackage rec { - name = "searx-${version}"; - version = "0.2.0"; + name = "searx-${rev}"; + rev = "44d3af9fb2482cd0df1a8ababbe2fdf27ab33172"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/s/searx/${name}.tar.gz"; - sha256 = "19hxjg3vhq7fygcvfhsr3i40c8kbi7i76ym9cv2s03b3zijd38w0"; + src = fetchgit { + url = "git://github.com/asciimoo/searx"; + inherit rev; + sha256 = "1w505pzdkkcglq782wg7f5fxrw9i5jzp7px20c2xz18pps2m3rsm"; }; - propagatedBuildInputs = [ pyyaml lxml grequests flaskbabel flask requests gevent speaklater Babel pytz ]; + propagatedBuildInputs = [ pyyaml lxml grequests flaskbabel flask requests + gevent speaklater Babel pytz dateutil ]; meta = { homepage = https://github.com/asciimoo/searx; - description = "A privacy-respecting, hackable metasearch engine."; + description = "A privacy-respecting, hackable metasearch engine"; license = stdenv.lib.licenses.agpl3Plus; maintainers = [ stdenv.lib.maintainers.matejc ]; }; From f5865a515529557820198fab173d48fda85fbdf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 6 Apr 2014 19:54:59 +0200 Subject: [PATCH 533/880] linux: switch to 3.12 by default (latest longterm) Close #2151. --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b9cc109f59..4862a0cdcf6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7105,7 +7105,7 @@ let # The current default kernel / kernel modules. linux = linuxPackages.kernel; - linuxPackages = linuxPackages_3_10; + linuxPackages = linuxPackages_3_12; # A function to build a manually-configured kernel linuxManualConfig = pkgs.buildLinux; From 23c7a249d33b22c1e19437679339110e9dfb8b50 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 21:35:30 +0200 Subject: [PATCH 534/880] ghc: add release version 7.8.1 --- pkgs/development/compilers/ghc/7.8.1.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/ghc/7.8.1.nix b/pkgs/development/compilers/ghc/7.8.1.nix index f58ca9cc1fc..c007eb23da8 100644 --- a/pkgs/development/compilers/ghc/7.8.1.nix +++ b/pkgs/development/compilers/ghc/7.8.1.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ghc, perl, gmp, ncurses }: stdenv.mkDerivation rec { - version = "7.8.0.20140228"; + version = "7.8.1"; name = "ghc-${version}"; src = fetchurl { - url = "http://www.haskell.org/ghc/dist/7.8.1-rc2/${name}-src.tar.bz2"; - sha256 = "09xlgz1xg0182wjy62h3j0xvnhllhjlyvj30vc3him98parnr76w"; + url = "http://www.haskell.org/ghc/dist/7.8.1/${name}-src.tar.xz"; + sha256 = "1j4b7ap87vbwqvf8ck1ksrldw2w626f50w20gs4klm6jpvz66xp0"; }; buildInputs = [ ghc perl gmp ncurses ]; From 9553141e21e9c2b31ed6480039e6524d26081711 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:45 +0200 Subject: [PATCH 535/880] haskell-Chart-cairo: update to version 1.2.2 --- pkgs/development/libraries/haskell/Chart-cairo/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix index 55c893bcc81..90f93edd4dc 100644 --- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix +++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "Chart-cairo"; - version = "1.2"; - sha256 = "08aaf7yb2vry75g15md2012rnmyfrn7awwvba7c38d4h6vm95llg"; + version = "1.2.2"; + sha256 = "1bbi5bvrh8wmgzv5am5ndgdr68gd68ipparkkk9ld4majwf4vm6w"; buildDepends = [ cairo Chart colour dataDefaultClass lens mtl operational time ]; From b7f8dbf57d2cab0b0b0d3664cc863f9ec1bc276a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:47 +0200 Subject: [PATCH 536/880] haskell-Chart-diagrams: update to version 1.2.2 --- pkgs/development/libraries/haskell/Chart-diagrams/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix index 2593b67edbc..22e432f2f32 100644 --- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix +++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "Chart-diagrams"; - version = "1.2"; - sha256 = "11pvyasra4mxid6826z6rkjhr71lg37fihzr8mgvjw3arascgqxz"; + version = "1.2.2"; + sha256 = "144dy9vp3x04s03jrkyfqczpwayb8k7dq702w9wm3d8q4ysva62q"; buildDepends = [ blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib diagramsPostscript diagramsSvg lens mtl operational SVGFonts text From 849b2144ab72ae78e2a8b3a549ae3ef197d8358e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:48 +0200 Subject: [PATCH 537/880] haskell-Chart-gtk: update to version 1.2.2 --- pkgs/development/libraries/haskell/Chart-gtk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix index 4745dda31cc..8b1ce6b89e7 100644 --- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix +++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Chart-gtk"; - version = "1.2"; - sha256 = "0qq72cf1m2gvcksa1jj5g9qi6b47pmpzh3grhs7kh3m7qyq0a56g"; + version = "1.2.2"; + sha256 = "1mg6nln0jwp6hals9vhhsfqiwix424fv1v1p4h99s0xwy5cna1z9"; buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ]; jailbreak = true; meta = { From 485dc4d93b05303de33334ffce00bd451a475b44 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:50 +0200 Subject: [PATCH 538/880] haskell-Chart: update to version 1.2.2 --- pkgs/development/libraries/haskell/Chart/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix index 5f7e8c2cb4b..7604cd28b8e 100644 --- a/pkgs/development/libraries/haskell/Chart/default.nix +++ b/pkgs/development/libraries/haskell/Chart/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "Chart"; - version = "1.2"; - sha256 = "0cvp2j2hgsdk93f4rbd8y7s11hlr3zg15qkpxhd7p7sl2k6j2r5x"; + version = "1.2.2"; + sha256 = "0yd3xca500lbzvlvhdsbrkiy53laikq6hc290rc061agvd535a7p"; buildDepends = [ colour dataDefaultClass lens mtl operational time ]; From 26972702e0779b10be04034895447a0d16ba6579 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:52 +0200 Subject: [PATCH 539/880] haskell-dyre: update to version 0.8.12 --- pkgs/development/libraries/haskell/dyre/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/dyre/default.nix b/pkgs/development/libraries/haskell/dyre/default.nix index 8b3d2cab677..178f01952ea 100644 --- a/pkgs/development/libraries/haskell/dyre/default.nix +++ b/pkgs/development/libraries/haskell/dyre/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "dyre"; - version = "0.8.11"; - sha256 = "0sg5csshznbbyvq72s4sps7bkjlkfxiwcy4i3ip83lrxjw1msvr8"; + version = "0.8.12"; + sha256 = "10hnlysy4bjvvznk8v902mlk4jx95qf972clyi1l32xkqrf30972"; buildDepends = [ binary executablePath filepath ghcPaths ioStorage time xdgBasedir ]; From 363d62dbfd0229bb0997e96d95f8570cf05fb632 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:54 +0200 Subject: [PATCH 540/880] haskell-ghc-mod: update to version 4.0.2 --- pkgs/development/libraries/haskell/ghc-mod/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/ghc-mod/default.nix b/pkgs/development/libraries/haskell/ghc-mod/default.nix index 0e60526e8fc..185f70785e5 100644 --- a/pkgs/development/libraries/haskell/ghc-mod/default.nix +++ b/pkgs/development/libraries/haskell/ghc-mod/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "ghc-mod"; - version = "4.0.1"; - sha256 = "13dgphwspp91bycnmcxgxzv4470wpjv5zfswwgmad644i77nixmm"; + version = "4.0.2"; + sha256 = "10ndlydx0ymz8fbcgjjnzyak7lly34012bsghwj0i0dc5ja1pic8"; isLibrary = true; isExecutable = true; buildDepends = [ From 556736cc2be80f767f448ee66d7b2f6ff58c95c7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:56 +0200 Subject: [PATCH 541/880] haskell-hakyll: update to version 4.5.1.0 --- pkgs/development/libraries/haskell/hakyll/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix index 56977517b9e..5e40bb851f0 100644 --- a/pkgs/development/libraries/haskell/hakyll/default.nix +++ b/pkgs/development/libraries/haskell/hakyll/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "hakyll"; - version = "4.5.0.2"; - sha256 = "1aphn76iq0cxxnb2ixddr017wbp6caxwjh5azfa4cy2lw2jmznyz"; + version = "4.5.1.0"; + sha256 = "0p78wscz9gwg1as49wjl49ydzbv972w6wmbmvhw1rfb9d5xana1i"; isLibrary = true; isExecutable = true; buildDepends = [ From b885ecf16c0e0bbc1a10451250c471e0180c32f3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:57 +0200 Subject: [PATCH 542/880] haskell-http-client-multipart: update to version 0.3.0.0 --- .../libraries/haskell/http-client-multipart/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/http-client-multipart/default.nix b/pkgs/development/libraries/haskell/http-client-multipart/default.nix index 4413bf54d70..9cad23a7999 100644 --- a/pkgs/development/libraries/haskell/http-client-multipart/default.nix +++ b/pkgs/development/libraries/haskell/http-client-multipart/default.nix @@ -5,12 +5,11 @@ cabal.mkDerivation (self: { version = "0.3.0.0"; sha256 = "18za6s3658hgm95rrygghrz0b643c7nkzaimb14v2hv82w3k9crg"; buildDepends = [ httpClient ]; + noHaddock = true; meta = { homepage = "https://github.com/snoyberg/http-client"; description = "Generate multipart uploads for http-client. (deprecated)"; license = self.stdenv.lib.licenses.mit; platforms = self.ghc.meta.platforms; }; - # This library now contains now modules as it is deprecated. - noHaddock = true; }) From ef5661c01f57f49381b69269f440567aaa64f296 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:29:59 +0200 Subject: [PATCH 543/880] haskell-tasty: update to version 0.8.0.4 --- pkgs/development/libraries/haskell/tasty/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix index 706053a3e03..13e4e37e4b0 100644 --- a/pkgs/development/libraries/haskell/tasty/default.nix +++ b/pkgs/development/libraries/haskell/tasty/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "tasty"; - version = "0.8.0.2"; - sha256 = "0xn0qc1d7bq8s7988x58snq5ipvmi7g87rg89r1l21yxl6a85zw5"; + version = "0.8.0.4"; + sha256 = "016niwympxbxpg3yq7samgh92l20wxm2h6cwhqal4zdj8n9262j0"; buildDepends = [ ansiTerminal async deepseq mtl optparseApplicative regexTdfa stm tagged unboundedDelays From bed88f0ff7a1ddbbf45a4b36dbe87871474c0eb1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:30:01 +0200 Subject: [PATCH 544/880] haskell-twitter-conduit: update to version 0.0.2.1 --- .../libraries/haskell/twitter-conduit/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/haskell/twitter-conduit/default.nix b/pkgs/development/libraries/haskell/twitter-conduit/default.nix index d3985877077..4d14ed4582a 100644 --- a/pkgs/development/libraries/haskell/twitter-conduit/default.nix +++ b/pkgs/development/libraries/haskell/twitter-conduit/default.nix @@ -1,21 +1,21 @@ { cabal, aeson, attoparsec, attoparsecConduit, authenticateOauth , conduit, dataDefault, doctest, failure, filepath, hlint -, httpClientMultipart, httpConduit, httpTypes, lens, liftedBase -, monadControl, monadLogger, resourcet, shakespeareText, text, time +, httpClient, httpConduit, httpTypes, lens, liftedBase +, monadControl, monadLogger, resourcet, shakespeare, text, time , transformers, transformersBase, twitterTypes }: cabal.mkDerivation (self: { pname = "twitter-conduit"; - version = "0.0.2"; - sha256 = "1bkn0lfwwr5lnw4xfzdjiad48r1qz6m4z0nq1inz45gflmjwmghj"; + version = "0.0.2.1"; + sha256 = "1z0d8hwjrdw8gkww9zkn9cqv3g40my952li8pm3c164d7ywswszq"; isLibrary = true; isExecutable = true; buildDepends = [ aeson attoparsec attoparsecConduit authenticateOauth conduit - dataDefault failure httpClientMultipart httpConduit httpTypes lens - liftedBase monadControl monadLogger resourcet shakespeareText text - time transformers transformersBase twitterTypes + dataDefault failure httpClient httpConduit httpTypes lens + liftedBase monadControl monadLogger resourcet shakespeare text time + transformers transformersBase twitterTypes ]; testDepends = [ doctest filepath hlint ]; meta = { From e49e74ebf48ba1edd6ee2bcfa5d14158beb7aaf8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 8 Apr 2014 13:30:02 +0200 Subject: [PATCH 545/880] haskell-twitter-types: update to version 0.2.20140407 --- pkgs/development/libraries/haskell/twitter-types/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/twitter-types/default.nix b/pkgs/development/libraries/haskell/twitter-types/default.nix index aea8f3dbc3a..05c37c02f41 100644 --- a/pkgs/development/libraries/haskell/twitter-types/default.nix +++ b/pkgs/development/libraries/haskell/twitter-types/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "twitter-types"; - version = "0.2.20140406"; - sha256 = "0zzdnmcx57w2j2bypwnxkrmaa2zw945g8717lm0c2wzk31kjbvi8"; + version = "0.2.20140407"; + sha256 = "171m7fqq82g630r1x5advq04qfkdljvc8d8ygyafr2x44ss2a996"; buildDepends = [ aeson httpTypes text unorderedContainers ]; testDepends = [ aeson attoparsec httpTypes HUnit shakespeare testFramework From 3010e63fb780cffad90e224e80ffcaf8651a7dac Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 7 Apr 2014 15:37:02 +0200 Subject: [PATCH 546/880] gst-plugins-bad: disable faac by default because it's unfree A lot of packages are not built in hydra due to gst-plugins-bad being unfree. Make faac dependency optional. --- pkgs/development/libraries/gstreamer/bad/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix index 7647c0f64db..eed4c12f254 100644 --- a/pkgs/development/libraries/gstreamer/bad/default.nix +++ b/pkgs/development/libraries/gstreamer/bad/default.nix @@ -1,11 +1,14 @@ { stdenv, fetchurl, pkgconfig, python, gst-plugins-base, orc -, faac, faad2, libass, libkate, libmms +, faacSupport ? false, faac ? null +, faad2, libass, libkate, libmms , libmodplug, mpeg2dec, mpg123 , openjpeg, libopus, librsvg , timidity, libvdpau, wayland , libwebp, xvidcore, gnutls }: +assert faacSupport -> faac != null; + stdenv.mkDerivation rec { name = "gst-plugins-bad-1.2.3"; @@ -32,10 +35,10 @@ stdenv.mkDerivation rec { buildInputs = [ gst-plugins-base orc - faac faad2 libass libkate libmms + faad2 libass libkate libmms libmodplug mpeg2dec mpg123 openjpeg libopus librsvg timidity libvdpau wayland libwebp xvidcore gnutls - ]; + ] ++ stdenv.lib.optional faacSupport faac; } From dcd0e68b177954278a767e55e63e80260daa3ea0 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 16:13:08 -0500 Subject: [PATCH 547/880] stunnel: adopt, bump to version 5.01 Signed-off-by: Austin Seipp --- pkgs/tools/networking/stunnel/default.nix | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix index 672f05577dd..0ea7a948c8d 100644 --- a/pkgs/tools/networking/stunnel/default.nix +++ b/pkgs/tools/networking/stunnel/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, openssl }: -stdenv.mkDerivation { - name = "stunnel-5.00"; - +stdenv.mkDerivation rec { + name = "stunnel-${version}"; + version = "5.01"; + src = fetchurl { - url = http://www.stunnel.org/downloads/stunnel-5.00.tar.gz; - sha256 = "04xwfppvmj0wrzar3rbypax93jb10f1skh3gq86gy6pglx96v648"; + url = "http://www.stunnel.org/downloads/${name}.tar.gz"; + sha256 = "0sw87x7yrgjx43a5x0cy71p2vr5j0l8n5pv49hq159p8zxcbyr95"; }; - buildInputs = [openssl]; + buildInputs = [ openssl ]; + configureFlags = [ "--with-ssl=${openssl}" ]; - configureFlags = [ - "--with-ssl=${openssl}" - ]; - meta = { - description = "Stunnel - Universal SSL wrapper"; - homepage = http://www.stunnel.org/; - license = "GPLv2"; + description = "universal tls/ssl wrapper"; + homepage = "http://www.stunnel.org/"; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } From e09250d41ccaf65c570ba94c0335493365807770 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 9 Apr 2014 00:09:31 +0200 Subject: [PATCH 548/880] Disable allowUnfree by default Fixes #2134. --- nixos/doc/manual/release-notes.xml | 21 +++++++++++++++++++-- nixos/lib/eval-config.nix | 7 ++++++- nixos/modules/services/security/fprot.nix | 6 ++++-- pkgs/stdenv/generic/default.nix | 2 +- 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/nixos/doc/manual/release-notes.xml b/nixos/doc/manual/release-notes.xml index 68feb80e090..10815ba613a 100644 --- a/nixos/doc/manual/release-notes.xml +++ b/nixos/doc/manual/release-notes.xml @@ -7,7 +7,7 @@
-Release 14.02 (“Baboon”, 2014/02/??) +Release 14.04 (“Baboon”, 2014/04/??) This is the second stable release branch of NixOS. The main enhancements are the following: @@ -18,7 +18,7 @@ enhancements are the following: for details. - NixOS is now based on Glibc 2.18 and GCC + NixOS is now based on Glibc 2.19 and GCC 4.8. @@ -30,6 +30,23 @@ following incompatible changes: + Nixpkgs no longer exposes unfree packages by + default. If your NixOS configuration requires unfree packages from + Nixpkgs, you need to enable support for them explicitly by setting: + + +nixpkgs.config.allowUnfree = true; + + + Otherwise, you get an error message such as: + + +error: package ‘nvidia-x11-331.49-3.12.17’ in ‘…/nvidia-x11/default.nix:56’ + has an unfree license, refusing to evaluate + + + + The firewall is now enabled by default. If you don’t want this, you need to disable it explicitly: diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix index 4b8c7354a7e..e082b174454 100644 --- a/nixos/lib/eval-config.nix +++ b/nixos/lib/eval-config.nix @@ -26,10 +26,15 @@ rec { # These are the extra arguments passed to every module. In # particular, Nixpkgs is passed through the "pkgs" argument. + # FIXME: we enable config.allowUnfree to make packages like + # nvidia-x11 available. This isn't a problem because if the user has + # ‘nixpkgs.config.allowUnfree = false’, then evaluation will fail on + # the 64-bit package anyway. However, it would be cleaner to respect + # nixpkgs.config here. extraArgs = extraArgs_ // { inherit pkgs modules baseModules; modulesPath = ../modules; - pkgs_i686 = import ./nixpkgs.nix { system = "i686-linux"; }; + pkgs_i686 = import ./nixpkgs.nix { system = "i686-linux"; config.allowUnfree = true; }; utils = import ./utils.nix pkgs; }; diff --git a/nixos/modules/services/security/fprot.nix b/nixos/modules/services/security/fprot.nix index 9f1fc4ed6d8..a109191be55 100644 --- a/nixos/modules/services/security/fprot.nix +++ b/nixos/modules/services/security/fprot.nix @@ -18,7 +18,6 @@ in { }; productData = mkOption { - default = "${pkgs.fprot}/opt/f-prot/product.data"; description = '' product.data file. Defaults to the one supplied with installation package. ''; @@ -32,7 +31,6 @@ in { }; licenseKeyfile = mkOption { - default = "${pkgs.fprot}/opt/f-prot/license.key"; description = '' License keyfile. Defaults to the one supplied with installation package. ''; @@ -45,6 +43,10 @@ in { ###### implementation config = mkIf cfg.updater.enable { + + services.fprot.updater.productData = "${pkgs.fprot}/opt/f-prot/product.data"; + services.fprot.updater.licenseKeyfile = "${pkgs.fprot}/opt/f-prot/license.key"; + environment.systemPackages = [ pkgs.fprot ]; environment.etc = singleton { source = "${pkgs.fprot}/opt/f-prot/f-prot.conf"; diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index f1cf34b160c..03000d0cdd8 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -14,7 +14,7 @@ let lib = import ../../../lib; in lib.makeOverridable ( let - allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1"; + allowUnfree = config.allowUnfree or false && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1"; allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; From 627923d5b7dd4d2a7633a9b7771f76f522961810 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 9 Apr 2014 00:12:48 +0200 Subject: [PATCH 549/880] Replace $HYDRA_DISALLOW_UNFREE with $NIXPKGS_ALLOW_UNFREE We've never used this environment variable in Hydra (except for a few days). This is also more consistent with $NIXPKGS_ALLOW_BROKEN. --- pkgs/stdenv/generic/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 03000d0cdd8..ea61e7d68a2 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -14,7 +14,7 @@ let lib = import ../../../lib; in lib.makeOverridable ( let - allowUnfree = config.allowUnfree or false && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1"; + allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"; allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; From 331fa06c79ff562fbf39ff842404fd316a6e81bb Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 9 Apr 2014 00:13:52 +0200 Subject: [PATCH 550/880] =?UTF-8?q?Add=20a=20flag=20=E2=80=98config.allowB?= =?UTF-8?q?roken=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/stdenv/generic/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index ea61e7d68a2..3a475933d24 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -16,7 +16,7 @@ let allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1"; - allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; + allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1"; unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null); From 2bb8d963b1b5b3925f22efdd3dbecbbad2961425 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 9 Apr 2014 00:17:16 +0200 Subject: [PATCH 551/880] Die tabs die --- nixos/modules/services/security/fprot.nix | 66 +++++++++++------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/nixos/modules/services/security/fprot.nix b/nixos/modules/services/security/fprot.nix index a109191be55..5f8d398996f 100644 --- a/nixos/modules/services/security/fprot.nix +++ b/nixos/modules/services/security/fprot.nix @@ -10,31 +10,31 @@ in { services.fprot = { updater = { - enable = mkOption { - default = false; - description = '' - Whether to enable automatic F-Prot virus definitions database updates. - ''; - }; + enable = mkOption { + default = false; + description = '' + Whether to enable automatic F-Prot virus definitions database updates. + ''; + }; - productData = mkOption { - description = '' - product.data file. Defaults to the one supplied with installation package. - ''; - }; + productData = mkOption { + description = '' + product.data file. Defaults to the one supplied with installation package. + ''; + }; - frequency = mkOption { - default = 30; - description = '' - Update virus definitions every X minutes. - ''; - }; + frequency = mkOption { + default = 30; + description = '' + Update virus definitions every X minutes. + ''; + }; - licenseKeyfile = mkOption { - description = '' - License keyfile. Defaults to the one supplied with installation package. - ''; - }; + licenseKeyfile = mkOption { + description = '' + License keyfile. Defaults to the one supplied with installation package. + ''; + }; }; }; @@ -44,8 +44,8 @@ in { config = mkIf cfg.updater.enable { - services.fprot.updater.productData = "${pkgs.fprot}/opt/f-prot/product.data"; - services.fprot.updater.licenseKeyfile = "${pkgs.fprot}/opt/f-prot/license.key"; + services.fprot.updater.productData = mkDefault "${pkgs.fprot}/opt/f-prot/product.data"; + services.fprot.updater.licenseKeyfile = mkDefault "${pkgs.fprot}/opt/f-prot/license.key"; environment.systemPackages = [ pkgs.fprot ]; environment.etc = singleton { @@ -69,22 +69,22 @@ in { jobs = { fprot_updater = { - name = "fprot-updater"; - task = true; + name = "fprot-updater"; + task = true; - # have to copy fpupdate executable because it insists on storing the virus database in the same dir + # have to copy fpupdate executable because it insists on storing the virus database in the same dir preStart = '' mkdir -m 0755 -p ${stateDir} chown ${fprotUser}:${fprotGroup} ${stateDir} - cp ${pkgs.fprot}/opt/f-prot/fpupdate ${stateDir} - ln -sf ${cfg.updater.productData} ${stateDir}/product.data + cp ${pkgs.fprot}/opt/f-prot/fpupdate ${stateDir} + ln -sf ${cfg.updater.productData} ${stateDir}/product.data ''; - #setuid = fprotUser; - #setgid = fprotGroup; + #setuid = fprotUser; + #setgid = fprotGroup; exec = "/var/lib/fprot/fpupdate --keyfile ${cfg.updater.licenseKeyfile}"; - }; + }; }; }; -} \ No newline at end of file +} From 452a1f9318ef3baeb967b648b439e0de10e41b88 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Tue, 8 Apr 2014 18:26:52 -0400 Subject: [PATCH 552/880] Revert "Turn on user-controlled wpa-cli on the livecd" user-controlled wpa-cli requires explicit interface setting for some reason This reverts commit c6797b373f379f7a7f8a7da01bdf3f6751f11f2e. --- nixos/modules/profiles/installation-device.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix index 85ae51ec68e..3b058c6e971 100644 --- a/nixos/modules/profiles/installation-device.nix +++ b/nixos/modules/profiles/installation-device.nix @@ -45,7 +45,6 @@ with pkgs.lib; # Enable wpa_supplicant, but don't start it by default. networking.wireless.enable = true; - networking.wireless.userControlled.enable = true; jobs.wpa_supplicant.startOn = pkgs.lib.mkOverride 50 ""; # Tell the Nix evaluator to garbage collect more aggressively. From 2bc0f7b701a41aaf2e2f4615ab3dbe66e38573c8 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 8 Apr 2014 13:23:12 +0200 Subject: [PATCH 553/880] evolution-data-server: fix gsettings schemas and add dbus service --- nixos/modules/module-list.nix | 1 + .../desktops/gnome3/evolution-data-server.nix | 39 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../core/evolution-data-server/default.nix | 10 ++++- 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 nixos/modules/services/desktops/gnome3/evolution-data-server.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index ecf1901d500..7e69eabdeac 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -97,6 +97,7 @@ ./services/databases/virtuoso.nix ./services/databases/monetdb.nix ./services/desktops/accountservice.nix + ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/sushi.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix diff --git a/nixos/modules/services/desktops/gnome3/evolution-data-server.nix b/nixos/modules/services/desktops/gnome3/evolution-data-server.nix new file mode 100644 index 00000000000..64592133666 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/evolution-data-server.nix @@ -0,0 +1,39 @@ +# Evolution Data Server daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.evolution-data-server = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Evolution Data Server, a collection of services for + storing addressbooks and calendars. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.evolution-data-server.enable { + + environment.systemPackages = [ pkgs.evolution_data_server ]; + + services.dbus.packages = [ pkgs.evolution_data_server ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 985884595ab..626c683f9dc 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -23,6 +23,7 @@ in { security.polkit.enable = true; services.udisks2.enable = true; services.accounts-daemon.enable = true; + services.gnome3.evolution-data-server.enable = true; services.gnome3.sushi.enable = true; networking.networkmanager.enable = true; services.upower.enable = config.powerManagement.enable; diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix index 0ded30b11ab..9e7d0cb3da0 100644 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, pkgconfig, gnome3, python, intltool, libsoup, libxml2, libsecret -, p11_kit, db, nspr, nss, libical, gperf, valaSupport ? true, vala }: +, p11_kit, db, nspr, nss, libical, gperf, makeWrapper, valaSupport ? true, vala }: stdenv.mkDerivation rec { @@ -12,13 +12,19 @@ stdenv.mkDerivation rec { buildInputs = with gnome3; [ pkgconfig glib python intltool libsoup libxml2 gtk gnome_online_accounts libsecret - gcr p11_kit db nspr nss libgweather libical libgdata gperf ] + gcr p11_kit db nspr nss libgweather libical libgdata gperf makeWrapper ] ++ stdenv.lib.optional valaSupport vala; # uoa irrelevant for now configureFlags = ["--disable-uoa" "--with-nspr-includes=${nspr}/include/nspr" "--with-nss-includes=${nss}/include/nss"] ++ stdenv.lib.optional valaSupport "--enable-vala-bindings"; + preFixup = '' + for f in "$out/libexec/evolution-addressbook-factory" "$out/libexec/evolution-calendar-factory"; do + wrapProgram $f --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + done + ''; + meta = with stdenv.lib; { platforms = platforms.linux; }; From f88597d6e4feb5bb11e8e84f7c396d02a245cb44 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 8 Apr 2014 13:24:56 +0200 Subject: [PATCH 554/880] gnome-contacts: new package Contacts is GNOME's integrated address book https://wiki.gnome.org/Apps/Contacts --- .../gnome-contacts/configure_dbus_glib.patch | 10 ++++ .../gnome-3/core/gnome-contacts/default.nix | 51 +++++++++++++++++++ .../gnome-contacts/fix_row_selected.patch | 11 ++++ pkgs/desktops/gnome-3/default.nix | 2 + 4 files changed, 74 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch create mode 100644 pkgs/desktops/gnome-3/core/gnome-contacts/default.nix create mode 100644 pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch b/pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch new file mode 100644 index 00000000000..926762defbd --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/configure_dbus_glib.patch @@ -0,0 +1,10 @@ +--- configure.ac.orig 2014-04-08 10:25:49.497620879 +0200 ++++ configure.ac 2014-04-08 10:26:36.639440950 +0200 +@@ -43,6 +43,7 @@ + folks-telepathy + folks-eds + libnotify ++ dbus-glib-1 + telepathy-glib >= 0.17.5 + libebook-1.2 >= 3.5.3 + libedataserver-1.2 >= 3.5.3 diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix new file mode 100644 index 00000000000..f8059f952e6 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/default.nix @@ -0,0 +1,51 @@ +{ stdenv, intltool, fetchurl, evolution_data_server, db +, pkgconfig, gtk3, glib, hicolor_icon_theme, libsecret +, bash, makeWrapper, itstool, folks, libnotify, libxml2 +, gnome3, librsvg, gdk_pixbuf, file, telepathy_glib, nspr, nss +, libsoup, vala, dbus_glib, automake114x, autoconf }: + +stdenv.mkDerivation rec { + name = "gnome-contacts-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-contacts/3.10/${name}.tar.xz"; + sha256 = "e119c32bb10136e7190f11f79334fa82ed56468cff5bb7836da0ebf7b572779b"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard evolution_data_server ]; + propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + # force build from vala + preBuild = '' + touch src/*.vala + ''; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool evolution_data_server + gnome3.gsettings_desktop_schemas makeWrapper file libnotify + folks gnome3.gnome_desktop telepathy_glib libsecret dbus_glib + libxml2 libsoup gnome3.gnome_online_accounts nspr nss + vala automake114x autoconf db ]; + + preFixup = '' + for f in "$out/bin/gnome-contacts" "$out/libexec/gnome-contacts-search-provider"; do + wrapProgram $f \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + patches = [ ./configure_dbus_glib.patch ./fix_row_selected.patch ]; + + patchFlags = "-p0"; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Contacts; + description = "Contacts is GNOME's integrated address book"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch b/pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch new file mode 100644 index 00000000000..b379b4b8ee9 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-contacts/fix_row_selected.patch @@ -0,0 +1,11 @@ +--- src/contacts-view.vala.orig 2014-04-08 11:35:36.302252460 +0200 ++++ src/contacts-view.vala 2014-04-08 11:37:37.045343221 +0200 +@@ -265,7 +265,7 @@ + data.destroy (); + } + +- public override void row_selected (ListBoxRow row) { ++ public override void row_selected (ListBoxRow? row) { + var data = row as ContactDataRow; + var contact = data != null ? data.contact : null; + selection_changed (contact); diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index fb92cd80998..73a3843bad2 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -40,6 +40,8 @@ rec { gnome-backgrounds = callPackage ./core/gnome-backgrounds { }; + gnome-contacts = callPackage ./core/gnome-contacts { }; + gnome_control_center = callPackage ./core/gnome-control-center { }; gnome-calculator = callPackage ./core/gnome-calculator { }; From 8553993887fcb821c06f91e43b0a5ca3b6c3111e Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 8 Apr 2014 15:02:15 +0200 Subject: [PATCH 555/880] telepathy-mission-control: add dbus service, enabled by default on gnome3 --- nixos/modules/module-list.nix | 1 + nixos/modules/services/desktops/telepathy.nix | 39 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../telepathy/mission-control/default.nix | 9 ++++- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 nixos/modules/services/desktops/telepathy.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 7e69eabdeac..867cedacaec 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -99,6 +99,7 @@ ./services/desktops/accountservice.nix ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/sushi.nix + ./services/desktops/telepathy.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix ./services/hardware/acpid.nix diff --git a/nixos/modules/services/desktops/telepathy.nix b/nixos/modules/services/desktops/telepathy.nix new file mode 100644 index 00000000000..bd417db88af --- /dev/null +++ b/nixos/modules/services/desktops/telepathy.nix @@ -0,0 +1,39 @@ +# Telepathy daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.telepathy = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Telepathy service, a communications framework + that enables real-time communication via pluggable protocol backends. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.telepathy.enable { + + environment.systemPackages = [ pkgs.telepathy_mission_control ]; + + services.dbus.packages = [ pkgs.telepathy_mission_control ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 626c683f9dc..dffa82437c8 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -25,6 +25,7 @@ in { services.accounts-daemon.enable = true; services.gnome3.evolution-data-server.enable = true; services.gnome3.sushi.enable = true; + services.telepathy.enable = true; networking.networkmanager.enable = true; services.upower.enable = config.powerManagement.enable; diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix index 5d44f97a1be..a8142fc1e5c 100644 --- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix +++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, telepathy_glib, libxslt }: +{ stdenv, fetchurl, pkgconfig, telepathy_glib, libxslt, makeWrapper }: stdenv.mkDerivation rec { name = "${pname}-5.16.0"; @@ -9,7 +9,12 @@ stdenv.mkDerivation rec { sha256 = "1l61w6j04mbrjsbcfrlc0safh9nlsjnj0z6lszal64r9bhkcghzd"; }; - buildInputs = [ telepathy_glib ]; + buildInputs = [ telepathy_glib makeWrapper ]; nativeBuildInputs = [ pkgconfig libxslt ]; + + preFixup = '' + wrapProgram "$out/libexec/mission-control-5" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; } From 9219c503c940e87806139fed4d9c94ca20fe726c Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 8 Apr 2014 20:27:37 +0200 Subject: [PATCH 556/880] file-roller: fix gsettings schemas --- pkgs/desktops/gnome-3/desktop/file-roller/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix b/pkgs/desktops/gnome-3/desktop/file-roller/default.nix index 0f48103c93d..41f1fb0097f 100644 --- a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix +++ b/pkgs/desktops/gnome-3/desktop/file-roller/default.nix @@ -18,9 +18,9 @@ stdenv.mkDerivation rec { buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive attr bzip2 acl makeWrapper ]; - postInstall = '' + preFixup = '' wrapProgram "$out/bin/file-roller" \ - --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share" + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" ''; meta = with stdenv.lib; { From c56af6102a53dd6463483b968cf82d14646f03b7 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 8 Apr 2014 22:44:22 +0200 Subject: [PATCH 557/880] at-spi2-core: add dbus module, enabled on gnome3 by default --- nixos/modules/module-list.nix | 1 + .../services/desktops/gnome3/at-spi2-core.nix | 39 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + 3 files changed, 41 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/at-spi2-core.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 867cedacaec..b9da7786d2c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -97,6 +97,7 @@ ./services/databases/virtuoso.nix ./services/databases/monetdb.nix ./services/desktops/accountservice.nix + ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/sushi.nix ./services/desktops/telepathy.nix diff --git a/nixos/modules/services/desktops/gnome3/at-spi2-core.nix b/nixos/modules/services/desktops/gnome3/at-spi2-core.nix new file mode 100644 index 00000000000..7a25a794c2e --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/at-spi2-core.nix @@ -0,0 +1,39 @@ +# at-spi2-core daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.at-spi2-core = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable at-spi2-core, a service for the Assistive Technologies + available on the GNOME platform. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.at-spi2-core.enable { + + environment.systemPackages = [ pkgs.gnome3.at_spi2_core ]; + + services.dbus.packages = [ pkgs.gnome3.at_spi2_core ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index dffa82437c8..0a4afcd81a3 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -23,6 +23,7 @@ in { security.polkit.enable = true; services.udisks2.enable = true; services.accounts-daemon.enable = true; + services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; services.gnome3.sushi.enable = true; services.telepathy.enable = true; From ba200a2c3cfe1e122eec30e588f37430a50feff7 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Tue, 8 Apr 2014 23:09:57 +0200 Subject: [PATCH 558/880] gnome-dictionary: remove the duplicated entry under desktop/ --- pkgs/desktops/gnome-3/default.nix | 2 -- .../desktop/gnome-dictionary/default.nix | 20 ------------------- 2 files changed, 22 deletions(-) delete mode 100644 pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 73a3843bad2..d9a673fb4c7 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -139,8 +139,6 @@ rec { file-roller = callPackage ./desktop/file-roller { }; - gnome_dictionary = callPackage ./desktop/gnome-dictionary { }; - gnome_desktop = callPackage ./desktop/gnome-desktop { }; gtksourceview = callPackage ./desktop/gtksourceview { }; diff --git a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix deleted file mode 100644 index 3e952f99eb0..00000000000 --- a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gnome3, gnome_doc_utils, intltool, which -, libxml2, libxslt, itstool }: - -stdenv.mkDerivation rec { - version = "3.10.0"; - name = "gnome-dictionary-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz"; - sha256 = "1mqf6ln0cgrw12n9fg81sjbhavrgzvvq7fy3gl55il7pa3z612r5"; - }; - - buildInputs = [ gnome3.gtk ]; - nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt itstool ]; - - meta = with stdenv.lib; { - platforms = platforms.linux; - }; - -} From a3115707dd1563cfdab75ae716a33aeba4c651ce Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 9 Apr 2014 00:02:20 +0200 Subject: [PATCH 559/880] Add environment.gnome3.excludePackages Give the user a full desktop, and the possibility to exclude non-base packages from the default list of packages. --- lib/lists.nix | 3 ++ .../services/x11/desktop-managers/gnome3.nix | 47 +++++++++++++------ 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/lib/lists.nix b/lib/lists.nix index 71a89702796..6c7773304de 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -226,4 +226,7 @@ in rec { deepSeqList = xs: y: if any (x: deepSeq x false) xs then y else y; crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f]; + + # List difference, xs - ys. Removes elements of ys from xs. + difference = xs: ys: filter (y: !(builtins.elem y ys)) xs; } diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 0a4afcd81a3..bebda772352 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -15,6 +15,13 @@ in { description = "Enable Gnome 3 desktop manager."; }; + environment.gnome3.excludePackages = mkOption { + default = []; + example = "[ pkgs.gnome3.totem ]"; + type = types.listOf types.package; + description = "Which packages gnome should exclude from the default environment"; + }; + }; config = mkIf cfg.enable { @@ -51,25 +58,35 @@ in { environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules" "${pkgs.glib_networking}/lib/gio/modules" ]; environment.systemPackages = - [ gnome3.evince - gnome3.eog - gnome3.dconf - gnome3.vino - gnome3.epiphany - gnome3.baobab - gnome3.gucharmap - gnome3.nautilus - gnome3.yelp + [ gnome3.dconf pkgs.glib_networking pkgs.ibus gnome3.gnome-backgrounds - gnome3.gnome_shell - gnome3.gnome_settings_daemon - gnome3.gnome_terminal - gnome3.gnome_icon_theme - gnome3.gnome_themes_standard gnome3.gnome_control_center - ]; + gnome3.gnome_icon_theme + gnome3.gnome_settings_daemon + gnome3.gnome_shell + gnome3.gnome_themes_standard + ] ++ (lists.difference [ + gnome3.baobab + gnome3.eog + gnome3.epiphany + gnome3.evince + gnome3.gucharmap + gnome3.nautilus + gnome3.totem + gnome3.vino + gnome3.yelp + gnome3.gnome-calculator + gnome3.gnome-contacts + gnome3.gnome-font-viewer + gnome3.gnome-screenshot + gnome3.gnome-system-log + gnome3.gnome-system-monitor + gnome3.gnome_terminal + + gnome3.file-roller + ] config.environment.gnome3.excludePackages); }; From 3ff158289a22a259db35abd80e317be7e34b32b8 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 19:21:06 -0500 Subject: [PATCH 560/880] lockdep: refactor into non-kernel package Lockdep doesn't *really* require the kernel package - just the kernel sources. It's really a user-space tool just compiled from some portable code within the kernel, nothing more. Signed-off-by: Austin Seipp --- .../{kernel/lockdep.nix => lockdep/default.nix} | 16 ++++++++++------ pkgs/top-level/all-packages.nix | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) rename pkgs/os-specific/linux/{kernel/lockdep.nix => lockdep/default.nix} (58%) diff --git a/pkgs/os-specific/linux/kernel/lockdep.nix b/pkgs/os-specific/linux/lockdep/default.nix similarity index 58% rename from pkgs/os-specific/linux/kernel/lockdep.nix rename to pkgs/os-specific/linux/lockdep/default.nix index 4b1805fc39e..77cb43a7b53 100644 --- a/pkgs/os-specific/linux/kernel/lockdep.nix +++ b/pkgs/os-specific/linux/lockdep/default.nix @@ -1,9 +1,13 @@ -{ stdenv, kernel }: +{ stdenv, fetchurl }: -assert stdenv.lib.versionAtLeast kernel.version "3.14"; -stdenv.mkDerivation { - name = "lockdep-linux-${kernel.version}"; - inherit (kernel) src patches; +stdenv.mkDerivation rec { + name = "lockdep-${version}"; + version = "3.14"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "61558aa490855f42b6340d1a1596be47454909629327c49a5e4e10268065dffa"; + }; preConfigure = "cd tools/lib/lockdep"; installPhase = '' @@ -16,7 +20,7 @@ stdenv.mkDerivation { ''; meta = { - description = "User-space locking validation via the kernel"; + description = "userspace locking validation tool built on the Linux kernel"; homepage = "https://kernel.org/"; license = stdenv.lib.licenses.gpl2; platforms = stdenv.lib.platforms.linux; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4862a0cdcf6..016f9582066 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7065,8 +7065,6 @@ let perf = callPackage ../os-specific/linux/kernel/perf.nix { }; - lockdep = callPackage ../os-specific/linux/kernel/lockdep.nix { }; - psmouse_alps = callPackage ../os-specific/linux/psmouse-alps { }; spl = callPackage ../os-specific/linux/spl/default.nix { }; @@ -7131,6 +7129,8 @@ let lm_sensors = callPackage ../os-specific/linux/lm-sensors { }; + lockdep = callPackage ../os-specific/linux/lockdep { }; + lsiutil = callPackage ../os-specific/linux/lsiutil { }; kmod = callPackage ../os-specific/linux/kmod { }; From 692ee73af1ca3bad404f89fcf73ce3f679ffafe4 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 19:37:47 -0500 Subject: [PATCH 561/880] libseccomp: version 2.1.1 Signed-off-by: Austin Seipp --- .../libraries/libseccomp/default.nix | 30 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/libraries/libseccomp/default.nix diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix new file mode 100644 index 00000000000..32ac480c1f8 --- /dev/null +++ b/pkgs/development/libraries/libseccomp/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, getopt }: + +stdenv.mkDerivation rec { + name = "libseccomp-${version}"; + version = "2.1.1"; + + src = fetchurl { + url = "mirror://sourceforge/libseccomp/libseccomp-${version}.tar.gz"; + sha256 = "0744mjx5m3jl1hzz13zypivl88m0wn44mf5gsrd3yf3w80gc24l8"; + }; + + # This fixes the check for 'getopt' to function appropriately. + # Additionally, this package can optionally include the kernel + # headers if they exist, or use its own inline copy of the source + # for talking to the seccomp filter - we opt to always use the + # inline copy + patchPhase = '' + substituteInPlace ./configure --replace "verify_deps getopt" "" + substituteInPlace ./configure --replace getopt ${getopt}/bin/getopt + substituteInPlace ./configure --replace 'opt_sysinc_seccomp="yes"' 'opt_sysinc_seccomp="no"' + ''; + + meta = { + description = "high level library for the Linux Kernel seccomp filter"; + homepage = "http://sourceforge.net/projects/libseccomp"; + license = stdenv.lib.licenses.lgpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 016f9582066..397f6574bc2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4868,6 +4868,8 @@ let libgnome_keyring = callPackage ../development/libraries/libgnome-keyring { }; libgnome_keyring3 = gnome3.libgnome_keyring; + libseccomp = callPackage ../development/libraries/libseccomp { }; + libsecret = callPackage ../development/libraries/libsecret { }; libgtop = callPackage ../development/libraries/libgtop {}; From 29c0d0047faffed8055da6a7c84c0a36743f8ce0 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Tue, 8 Apr 2014 21:15:55 -0500 Subject: [PATCH 562/880] luajit: adopt, upgrade, optimize - Build the 'amalgamation' by default - more RAM needed to build, but better overall performance - Upgrade to version 2.0.3 - Adopt as maintainer Signed-off-by: Austin Seipp --- .../interpreters/luajit/default.nix | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix index f74ad18d5e4..46c0b49c3b8 100644 --- a/pkgs/development/interpreters/luajit/default.nix +++ b/pkgs/development/interpreters/luajit/default.nix @@ -1,28 +1,31 @@ { stdenv, fetchurl }: -stdenv.mkDerivation rec{ - version = "2.0.2"; - name = "LuaJIT-${version}"; +stdenv.mkDerivation rec { + name = "luajit-${version}"; + version = "2.0.3"; - src = fetchurl { - url="http://luajit.org/download/${name}.tar.gz"; - sha256="0f3cykihfdn3gi6na9p0xjd4jnv26z18m441n5vyg42q9abh4ln0"; - }; + src = fetchurl { + url = "http://luajit.org/download/LuaJIT-${version}.tar.gz"; + sha256 = "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"; + }; - patchPhase = stdenv.lib.optionalString (stdenv.gcc.libc != null) - '' - substituteInPlace Makefile \ - --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig - ''; + enableParallelBuilding = true; - installPhase = '' - make install PREFIX=$out - ''; + patchPhase = stdenv.lib.optionalString (stdenv.gcc.libc != null) + '' + substituteInPlace Makefile \ + --replace ldconfig ${stdenv.gcc.libc}/sbin/ldconfig + ''; - meta = { - description= "Just-in-time compiler and interpreter for lua 5.1."; - homepage = http://luajit.org; - license = stdenv.lib.licenses.mit; - platorms = stdenv.lib.platforms.linux; - }; + configurePhase = false; + buildFlags = [ "amalg" ]; # Build highly optimized version + installPhase = "make install PREFIX=$out"; + + meta = { + description = "high-performance JIT compiler for Lua 5.1"; + homepage = http://luajit.org; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; + }; } From d2efe82eaab157b935723de85727d03a6033fa20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 9 Apr 2014 11:21:16 +0200 Subject: [PATCH 563/880] munin: 2.0.19 -> 2.0.20 --- pkgs/servers/monitoring/munin/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix index a0c0423042e..8d1b03ddf34 100644 --- a/pkgs/servers/monitoring/munin/default.nix +++ b/pkgs/servers/monitoring/munin/default.nix @@ -1,15 +1,14 @@ -{ stdenv, fetchgit, makeWrapper, which, coreutils, rrdtool, perl, perlPackages +{ stdenv, fetchurl, makeWrapper, which, coreutils, rrdtool, perl, perlPackages , python, ruby, openjdk, nettools }: stdenv.mkDerivation rec { - version = "2.0.19"; + version = "2.0.20"; name = "munin-${version}"; - src = fetchgit { - url = "git://github.com/munin-monitoring/munin.git"; - rev = "refs/tags/${version}"; - sha256 = "0027rrdrmcql68b475jlxnfgkijbfngynkjpdii6fgaszswqz3ay"; + src = fetchurl { + url = "https://github.com/munin-monitoring/munin/archive/${version}.tar.gz"; + sha256 = "17b24fsr8abipq09hipnh6cd4h2aiwyzyjhg0wpplngwals54qmc"; }; buildInputs = [ From 09e245b3ab146ea721c00e82bc22ba45b4e47296 Mon Sep 17 00:00:00 2001 From: vi Date: Wed, 9 Apr 2014 16:32:14 +0800 Subject: [PATCH 564/880] Derivations for HandsomeSoup and hxt-xpath (Haskell.) --- .../libraries/haskell/HandsomeSoup/default.nix | 18 ++++++++++++++++++ .../libraries/haskell/hxt-http/default.nix | 14 ++++++++++++++ .../libraries/haskell/hxt-xpath/default.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 6 ++++++ 4 files changed, 52 insertions(+) create mode 100644 pkgs/development/libraries/haskell/HandsomeSoup/default.nix create mode 100644 pkgs/development/libraries/haskell/hxt-http/default.nix create mode 100644 pkgs/development/libraries/haskell/hxt-xpath/default.nix diff --git a/pkgs/development/libraries/haskell/HandsomeSoup/default.nix b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix new file mode 100644 index 00000000000..f20efdae4cf --- /dev/null +++ b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix @@ -0,0 +1,18 @@ +{ cabal, HTTP, hxt, hxtHttp, MaybeT, mtl, network, parsec +, transformers +}: + +cabal.mkDerivation (self: { + pname = "HandsomeSoup"; + version = "0.3.2"; + sha256 = "0ixqk32sfv6kj41vc6fzflv6f6jwvnkvcdf9pmgkc675218ggh53"; + buildDepends = [ + HTTP hxt hxtHttp MaybeT mtl network parsec transformers + ]; + meta = { + homepage = "https://github.com/egonSchiele/HandsomeSoup"; + description = "Work with HTML more easily in HXT"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hxt-http/default.nix b/pkgs/development/libraries/haskell/hxt-http/default.nix new file mode 100644 index 00000000000..14867df7fc1 --- /dev/null +++ b/pkgs/development/libraries/haskell/hxt-http/default.nix @@ -0,0 +1,14 @@ +{ cabal, HTTP, hxt, network, parsec }: + +cabal.mkDerivation (self: { + pname = "hxt-http"; + version = "9.1.4"; + sha256 = "176k71dc30cnjjr9y9vphs0aixs3ww16197qyc491qjrzhymm2g2"; + buildDepends = [ HTTP hxt network parsec ]; + meta = { + homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html"; + description = "Interface to native Haskell HTTP package HTTP"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/hxt-xpath/default.nix b/pkgs/development/libraries/haskell/hxt-xpath/default.nix new file mode 100644 index 00000000000..91524320ece --- /dev/null +++ b/pkgs/development/libraries/haskell/hxt-xpath/default.nix @@ -0,0 +1,14 @@ +{ cabal, filepath, hxt, parsec }: + +cabal.mkDerivation (self: { + pname = "hxt-xpath"; + version = "9.1.2.1"; + sha256 = "0r9xzxwdqaj0arz9pv6f272dz73m83agbln9q9bclmgqys6l0kr9"; + buildDepends = [ filepath hxt parsec ]; + meta = { + homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html"; + description = "The XPath modules for HXT"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 7172f4d0f42..6a72057b190 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1519,10 +1519,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x hxtCharproperties = callPackage ../development/libraries/haskell/hxt-charproperties {}; + hxtHttp = callPackage ../development/libraries/haskell/hxt-http {}; + hxtRegexXmlschema = callPackage ../development/libraries/haskell/hxt-regex-xmlschema {}; hxtUnicode = callPackage ../development/libraries/haskell/hxt-unicode {}; + hxtXpath = callPackage ../development/libraries/haskell/hxt-xpath {}; + hybridVectors = callPackage ../development/libraries/haskell/hybrid-vectors {}; iCalendar = callPackage ../development/libraries/haskell/iCalendar {}; @@ -2875,6 +2879,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haddock_2_14_1 = callPackage ../development/tools/documentation/haddock/2.14.1.nix {}; haddock = self.haddock_2_14_1; + HandsomeSoup = callPackage ../development/libraries/haskell/HandsomeSoup {}; + happy_1_18_4 = callPackage ../development/tools/parsing/happy/1.18.4.nix {}; happy_1_18_5 = callPackage ../development/tools/parsing/happy/1.18.5.nix {}; happy_1_18_6 = callPackage ../development/tools/parsing/happy/1.18.6.nix {}; From cf5ac3bded304a00685907b90475dcc797f4f1b7 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:16:43 +0200 Subject: [PATCH 565/880] zsh: update from 5.0.2 to 5.0.5 --- pkgs/shells/zsh/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix index 50a33700b3b..37ffb09288e 100644 --- a/pkgs/shells/zsh/default.nix +++ b/pkgs/shells/zsh/default.nix @@ -2,13 +2,13 @@ let - version = "5.0.2"; + version = "5.0.5"; documentation = fetchurl { url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.bz2"; - sha256 = "99ee08cfc91935af8714bd98db652f016d6c7a8a71ba7c6d6223910cd0b7fbf1"; + sha256 = "1wljqii2lkz5kc4y3xs65isnahvnlj678b9zv31bn444mapjpwp4"; }; - + in stdenv.mkDerivation { @@ -16,9 +16,9 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/zsh/zsh-${version}.tar.bz2"; - sha256 = "eb220ae5a8076191ec6b4c6a5a2f18122d074a19f25b45f0320b44b8166c5a03"; + sha256 = "1bwfz9n850pclzmzrb437icfhzv1s5pgh2dhs92f194gdkxx4936"; }; - + buildInputs = [ ncurses coreutils ]; preConfigure = '' From 30aa995a42975faca880cf2348dc2fab2a818fa2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:16:49 +0200 Subject: [PATCH 566/880] busybox: update from 1.21.1 to 1.22.1 --- pkgs/os-specific/linux/busybox/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index fd1e83100ed..7226acf0e57 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -37,11 +37,11 @@ let in stdenv.mkDerivation rec { - name = "busybox-1.21.1"; + name = "busybox-1.22.1"; src = fetchurl { url = "http://busybox.net/downloads/${name}.tar.bz2"; - sha256 = "00qk938q90jv14mxmadm8pgs3jymkknc6xicw4512mn85s8y0nyd"; + sha256 = "12v7nri79v8gns3inmz4k24q7pcnwi00hybs0wddfkcy1afh42xf"; }; configurePhase = '' From 715a61ad7ad3d1d0c334438df3489c9da4a43a33 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:16:55 +0200 Subject: [PATCH 567/880] docbook5_xsl: update from 1.75.2 to 1.78.1 --- .../data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix index c143ce16698..bfe454a49fe 100644 --- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix +++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl-ns/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "docbook-xsl-ns-1.75.2"; + name = "docbook-xsl-ns-1.78.1"; src = fetchurl { url = "mirror://sourceforge/docbook/${name}.tar.bz2"; - sha256 = "1pr7m0hmqilk25hjx33kq2vqn2xf6cx6zhxqm35fdvnjccazlxg2"; + sha256 = "1x3sc0axk9z3i6n0jhlsmzlmb723a4sjgslm9g12by6phirdx3ng"; }; buildPhase = "true"; From 37f327acfd753fff64e3a78681f61a26ab5ecedd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:17:04 +0200 Subject: [PATCH 568/880] fail2ban: update from 0.8.12 to 0.8.13 --- pkgs/tools/security/fail2ban/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix index b28c761ec2c..8d6a6241ad3 100644 --- a/pkgs/tools/security/fail2ban/default.nix +++ b/pkgs/tools/security/fail2ban/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pythonPackages, unzip, gamin }: -let version = "0.8.12"; in +let version = "0.8.13"; in pythonPackages.buildPythonPackage { name = "fail2ban-${version}"; @@ -9,7 +9,7 @@ pythonPackages.buildPythonPackage { src = fetchurl { url = "https://github.com/fail2ban/fail2ban/zipball/${version}"; name = "fail2ban-${version}.zip"; - sha256 = "17cassfn3gdgw530g7gh9fvffsixfb30zamzlfmx7s5x80rnqd3k"; + sha256 = "0c63i5jsn2n6hv6fb6q922ksxfpppah9415vpydiv0vpf23pq0cb"; }; buildInputs = [ unzip ]; From 44e8fe67d032bab39c2a78607d544ff9e43118eb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:17:11 +0200 Subject: [PATCH 569/880] flex: update from 2.5.35 to 2.5.39 --- pkgs/development/tools/parsing/flex/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix index 8047080a125..c5337d647de 100644 --- a/pkgs/development/tools/parsing/flex/default.nix +++ b/pkgs/development/tools/parsing/flex/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, bison, m4 }: stdenv.mkDerivation { - name = "flex-2.5.35"; + name = "flex-2.5.39"; src = fetchurl { - url = mirror://sourceforge/flex/flex-2.5.35.tar.bz2; - sha256 = "0ysff249mwhq0053bw3hxh58djc0gy7vjan2z1krrf9n5d5vvv0b"; + url = mirror://sourceforge/flex/flex-2.5.39.tar.bz2; + sha256 = "0zv15giw3gma03y2bzw78hjfy49vyir7vbcgnh9bb3637dgvblmd"; }; buildInputs = [ bison ]; From c244d6e1b853c7513ddaaabedca0508230074f32 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:17:23 +0200 Subject: [PATCH 570/880] gitAndTools.stgit: update from 0.16 to 0.17.1 --- .../version-management/git-and-tools/stgit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix index 6518f32ef7c..d4b74390c4c 100644 --- a/pkgs/applications/version-management/git-and-tools/stgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, python, git }: let - name = "stgit-0.16"; + name = "stgit-0.17.1"; in stdenv.mkDerivation { inherit name; src = fetchurl { url = "http://download.gna.org/stgit/${name}.tar.gz"; - sha256 = "0hla6401g2kicaakz4awk67yf8fhqbw1shn1p9ma5x6ca29s3w82"; + sha256 = "1pka0ns9x0kabn036zsf0mwmwiynckhnva51kgxsch9fqah6acyl"; }; buildInputs = [ python git ]; From 1682bde4e0a9101fa0aeb69af63b94ee1c3bc6d8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:17:25 +0200 Subject: [PATCH 571/880] gitAndTools.svn2git: update from 2.2.2 to 2.2.5 --- .../version-management/git-and-tools/svn2git/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix index 0053a1dfafb..b0cfcaeb110 100644 --- a/pkgs/applications/version-management/git-and-tools/svn2git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/svn2git/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, ruby, makeWrapper, git }: let - version = "2.2.2"; + version = "2.2.5"; in stdenv.mkDerivation { name = "svn2git-${version}"; src = fetchurl { url = "https://github.com/nirvdrum/svn2git/archive/v${version}.tar.gz"; - sha256 = "14zinkpgybz15jvbfw0sb432w6f5w4sa5pdqycjwva8v8lxqn9mh"; + sha256 = "1afmrr80357pg3kawyghhc55z1pszaq8fyrrjmxa6nr9dcrqjwwh"; }; buildInputs = [ ruby makeWrapper ]; From 9def1935980346ef7b166014bfba6990ccd24b55 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:17:36 +0200 Subject: [PATCH 572/880] libsigcxx: update from 2.2.11 to 2.3.1 --- pkgs/development/libraries/libsigcxx/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix index a127e7322eb..610d14568ae 100644 --- a/pkgs/development/libraries/libsigcxx/default.nix +++ b/pkgs/development/libraries/libsigcxx/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, gnum4 }: stdenv.mkDerivation rec { - name = "libsigc++-2.2.11"; + name = "libsigc++-2.3.1"; src = fetchurl { - url = "mirror://gnome/sources/libsigc++/2.2/${name}.tar.xz"; - sha256 = "0ms93q7r8zznsqkfdj1ds9533f0aqfaw3kdkqv154rzmfigh8d4q"; + url = "mirror://gnome/sources/libsigc++/2.3/${name}.tar.xz"; + sha256 = "14q3sq6d43f6wfcmwhw4v1aal4ba0h5x9v6wkxy2dnqznd95il37"; }; buildInputs = [ pkgconfig gnum4 ]; From b7d0a9a61460c92b9575823602037d31ec220a31 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:17:40 +0200 Subject: [PATCH 573/880] ltrace: update from 0.5.3 to 0.7.3 --- pkgs/development/tools/misc/ltrace/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/ltrace/default.nix b/pkgs/development/tools/misc/ltrace/default.nix index a436f29df14..af736821668 100644 --- a/pkgs/development/tools/misc/ltrace/default.nix +++ b/pkgs/development/tools/misc/ltrace/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, elfutils }: stdenv.mkDerivation rec { - name = "ltrace-0.5.3"; + name = "ltrace-0.7.3"; src = fetchurl { - url = ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.5.3.orig.tar.gz; - sha256 = "0cmyw8zyw8b1gszrwizcm53cr0mig1iw3kv18v5952m9spb2frjw"; + url = ftp://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.7.3.orig.tar.bz2; + sha256 = "00wmbdghqbz6x95m1mcdd3wd46l6hgcr4wggdp049dbifh3qqvqf"; }; buildInputs = [ elfutils ]; From 2cc462eb114c224f3d2dca09f8bf7060b3f10523 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:17:45 +0200 Subject: [PATCH 574/880] lxc: update from 1.0.1 to 1.0.3 --- pkgs/os-specific/linux/lxc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index d59bb142f9f..1fcdcbc2837 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation rec { - name = "lxc-1.0.1"; + name = "lxc-1.0.3"; src = fetchurl { url = "http://github.com/lxc/lxc/archive/${name}.tar.gz"; - sha256 = "14fjzicv1s3niwag301i7m9vb9jlh3hnd9ks9jjkzp8xyxgb0rrv"; + sha256 = "04k45jgj2i501yhm467s1a1yk7h7q0fjhspys158w1a2m1hari4z"; }; buildInputs = [ libcap apparmor perl docbook2x gnutls autoreconfHook pkgconfig ]; From 740c502a775bf1783ddcef757124eb712e9479f9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:17:57 +0200 Subject: [PATCH 575/880] swiProlog: update from 6.6.2 to 6.6.3 --- pkgs/development/compilers/swi-prolog/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix index aa027401b4d..2070da0bee4 100644 --- a/pkgs/development/compilers/swi-prolog/default.nix +++ b/pkgs/development/compilers/swi-prolog/default.nix @@ -4,14 +4,14 @@ }: let - version = "6.6.2"; + version = "6.6.3"; in stdenv.mkDerivation { name = "swi-prolog-${version}"; src = fetchurl { url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz"; - sha256 = "1kdnc1r5c4320v5s6axk6w0jnqbkza295hdi9s5kyd8r78v6x6g4"; + sha256 = "01dr66d7rm2xvxwm6wy71bbjvfrmzxgvmaz3sl1fb63cn8d78nz3"; }; buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama From 2d4919dbb46669ec88394436919cf5662de6491b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:18:03 +0200 Subject: [PATCH 576/880] apacheHttpd_2_4: update from 2.4.7 to 2.4.9 --- pkgs/servers/http/apache-httpd/2.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix index 2bbe9798de4..7deab6584f8 100644 --- a/pkgs/servers/http/apache-httpd/2.4.nix +++ b/pkgs/servers/http/apache-httpd/2.4.nix @@ -14,12 +14,12 @@ assert sslSupport -> aprutil.sslSupport && openssl != null; assert ldapSupport -> aprutil.ldapSupport && openldap != null; stdenv.mkDerivation rec { - version = "2.4.7"; + version = "2.4.9"; name = "apache-httpd-${version}"; src = fetchurl { url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; - sha256 = "06z7ij0avr8f3rvp6ifk3dn8j73i17cn4avz4fp1as43061qsdk4"; + sha256 = "00vnhki0rdwlhl4cjgvkq5vpf8szx2sdd3yi7bcg7jj7z86wk37p"; }; buildInputs = [perl] ++ From fd9ea0f6398017f7b71e93a5018321f61d94e800 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:40:11 +0200 Subject: [PATCH 577/880] ltrace: fix build with latest gcc (by disabling -Werror) --- pkgs/development/tools/misc/ltrace/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/ltrace/default.nix b/pkgs/development/tools/misc/ltrace/default.nix index af736821668..1d20d8eef45 100644 --- a/pkgs/development/tools/misc/ltrace/default.nix +++ b/pkgs/development/tools/misc/ltrace/default.nix @@ -10,8 +10,9 @@ stdenv.mkDerivation rec { buildInputs = [ elfutils ]; - preBuild = + preConfigure = '' + configureFlags="--disable-werror" makeFlagsArray=(INSTALL="install -c") ''; From 8cd9a5145be6d2a9d3be646baf44bccda07a517a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:12:41 +0200 Subject: [PATCH 578/880] haskell-scotty: update to version 0.7.2 --- .../libraries/haskell/scotty/default.nix | 15 +++++++-------- .../libraries/haskell/scotty/new-conduit.patch | 13 ------------- 2 files changed, 7 insertions(+), 21 deletions(-) delete mode 100644 pkgs/development/libraries/haskell/scotty/new-conduit.patch diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix index 42f4068f9a9..cc5ae260477 100644 --- a/pkgs/development/libraries/haskell/scotty/default.nix +++ b/pkgs/development/libraries/haskell/scotty/default.nix @@ -1,16 +1,15 @@ -{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault -, httpTypes, mtl, regexCompat, text, transformers, wai, waiExtra -, warp, conduitExtra +{ cabal, aeson, blazeBuilder, caseInsensitive, conduit +, conduitExtra, dataDefault, httpTypes, mtl, regexCompat, text +, transformers, wai, waiExtra, warp }: cabal.mkDerivation (self: { pname = "scotty"; - version = "0.7.1"; - sha256 = "07aj74jq0hh86ik4x5p5q65b47q44rrnd6mkp039wj9l6dmyrv3c"; - patches = [ ./new-conduit.patch ]; + version = "0.7.2"; + sha256 = "1y14af3qciwycgaxzx6rjan2jgfchjzs4zbxzh8p8s1d0l4gsqlb"; buildDepends = [ - aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes - mtl regexCompat text transformers wai waiExtra warp conduitExtra + aeson blazeBuilder caseInsensitive conduit conduitExtra dataDefault + httpTypes mtl regexCompat text transformers wai waiExtra warp ]; jailbreak = true; meta = { diff --git a/pkgs/development/libraries/haskell/scotty/new-conduit.patch b/pkgs/development/libraries/haskell/scotty/new-conduit.patch deleted file mode 100644 index 74c6ebdc161..00000000000 --- a/pkgs/development/libraries/haskell/scotty/new-conduit.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur scotty-0.7.1-orig/scotty.cabal scotty-0.7.1/scotty.cabal ---- scotty-0.7.1-orig/scotty.cabal 2014-03-19 17:27:33.000000000 -0400 -+++ scotty-0.7.1/scotty.cabal 2014-04-07 10:59:39.933144140 -0400 -@@ -82,7 +82,8 @@ - transformers >= 0.3.0.0 && < 0.4, - wai >= 2.0.0 && < 2.2, - wai-extra >= 2.0.1 && < 2.2, -- warp >= 2.1.1 && < 2.2 -+ warp >= 2.1.1 && < 2.2, -+ conduit-extra - - GHC-options: -Wall -fno-warn-orphans - From 7ff62b5ddc996bf712e9206e358bb14639beb27c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:35 +0200 Subject: [PATCH 579/880] haskell-direct-sqlite: update to version 2.3.12 --- pkgs/development/libraries/haskell/direct-sqlite/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/direct-sqlite/default.nix b/pkgs/development/libraries/haskell/direct-sqlite/default.nix index 12e61ebb9ef..14be91cd1bf 100644 --- a/pkgs/development/libraries/haskell/direct-sqlite/default.nix +++ b/pkgs/development/libraries/haskell/direct-sqlite/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "direct-sqlite"; - version = "2.3.11"; - sha256 = "0pd5qv8aq47d5n2sd99yblxiq70zvmy2rc71ys73a3d846k0ncs0"; + version = "2.3.12"; + sha256 = "14dcgmn3mfx69qx412dc8cxa4ia3adsf8gm5q4yscpp8rf78m178"; buildDepends = [ text ]; testDepends = [ base16Bytestring HUnit text ]; meta = { From 51c6724fa3cebc6248bbc6408581c5f5906e615a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:37 +0200 Subject: [PATCH 580/880] haskell-esqueleto: update to version 1.3.10 --- pkgs/development/libraries/haskell/esqueleto/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix index 14d5cfda068..9103480d48f 100644 --- a/pkgs/development/libraries/haskell/esqueleto/default.nix +++ b/pkgs/development/libraries/haskell/esqueleto/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "esqueleto"; - version = "1.3.9"; - sha256 = "0dh11q77w0npilnbxyij6z7k7cx9cciwqs479xdjgjygnxa1xwdc"; + version = "1.3.10"; + sha256 = "0q333m7xaanxb1vzgf2yn6d7y3pgkbj9mjw5gnywms36v5zsfik7"; buildDepends = [ conduit monadLogger persistent resourcet tagged text transformers unorderedContainers From 346f6037c005658c441fda931db74f93b9de4708 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:39 +0200 Subject: [PATCH 581/880] haskell-hashed-storage: update to version 0.5.11 --- pkgs/development/libraries/haskell/hashed-storage/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hashed-storage/default.nix b/pkgs/development/libraries/haskell/hashed-storage/default.nix index 77a4251259d..e2a82e13b3e 100644 --- a/pkgs/development/libraries/haskell/hashed-storage/default.nix +++ b/pkgs/development/libraries/haskell/hashed-storage/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hashed-storage"; - version = "0.5.10"; - sha256 = "1k7drnk0y5apjvwsiw85032yvxllbi7ndg6h9x207gnjxm64m0h5"; + version = "0.5.11"; + sha256 = "0s8mnayxlvwrrii2l63b372yi5g08br6gpbgz2256d8y128mwjvk"; isLibrary = true; isExecutable = true; buildDepends = [ From b34cc2cd2e7628b9485dd435fca0e28c973fbb44 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:41 +0200 Subject: [PATCH 582/880] haskell-mime-types: update to version 0.1.0.4 --- pkgs/development/libraries/haskell/mime-types/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/mime-types/default.nix b/pkgs/development/libraries/haskell/mime-types/default.nix index 5dd5f65c9e7..50c25ada340 100644 --- a/pkgs/development/libraries/haskell/mime-types/default.nix +++ b/pkgs/development/libraries/haskell/mime-types/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "mime-types"; - version = "0.1.0.3"; - sha256 = "0mzhkqcjlnrs9mwn2crsr1m2mf6pgygs1s3ks8akz1618v6jm6y1"; + version = "0.1.0.4"; + sha256 = "0bxhkwz8p7mhg5kspbpc5zm4k50pc0r5pzjr6807y88x8vjpvj2x"; buildDepends = [ text ]; meta = { homepage = "https://github.com/yesodweb/wai"; From 7fdd6b188015b784c09b076a87e08ba08e6918b4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:43 +0200 Subject: [PATCH 583/880] haskell-monad-logger: update to version 0.3.5.1 --- .../libraries/haskell/monad-logger/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix index 4aa394aff40..ba6efdac835 100644 --- a/pkgs/development/libraries/haskell/monad-logger/default.nix +++ b/pkgs/development/libraries/haskell/monad-logger/default.nix @@ -1,15 +1,16 @@ -{ cabal, blazeBuilder, conduit, fastLogger, liftedBase +{ cabal, blazeBuilder, conduit, exceptions, fastLogger, liftedBase , monadControl, monadLoops, mtl, resourcet, stm, stmChans, text , transformers, transformersBase }: cabal.mkDerivation (self: { pname = "monad-logger"; - version = "0.3.4.1"; - sha256 = "1i5192060svqhc1iv215b98hah6p29bzdqin6ng5qpq8d44hdnpm"; + version = "0.3.5.1"; + sha256 = "0kc23y1l3ja2ym0pr19kcm8aiv8g8skh24p9i3vm74chadsn81pv"; buildDepends = [ - blazeBuilder conduit fastLogger liftedBase monadControl monadLoops - mtl resourcet stm stmChans text transformers transformersBase + blazeBuilder conduit exceptions fastLogger liftedBase monadControl + monadLoops mtl resourcet stm stmChans text transformers + transformersBase ]; meta = { homepage = "https://github.com/kazu-yamamoto/logger"; From f063e5e5927f6513b3bebac49167f5fe74ec4cab Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:45 +0200 Subject: [PATCH 584/880] haskell-network-simple: update to version 0.3.1 --- pkgs/development/libraries/haskell/network-simple/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/network-simple/default.nix b/pkgs/development/libraries/haskell/network-simple/default.nix index 72d8c8af8c8..cde31643c71 100644 --- a/pkgs/development/libraries/haskell/network-simple/default.nix +++ b/pkgs/development/libraries/haskell/network-simple/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "network-simple"; - version = "0.3.0"; - sha256 = "046nbgdwazbqffcim1gxry1mf35yg41g52zdk86h9whhiwjzlywz"; + version = "0.3.1"; + sha256 = "0bk015d0np07887flah76vgrgrqaqj4x1sdxmghvazj8c78nkan8"; buildDepends = [ exceptions network transformers ]; meta = { homepage = "https://github.com/k0001/network-simple"; From 2986e7cb24ecf5839d7c063dc5470de34b61167e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:48 +0200 Subject: [PATCH 585/880] haskell-streaming-commons: update to version 0.1.1 --- .../libraries/haskell/streaming-commons/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix index fec0ddf79cd..4bcb46887bc 100644 --- a/pkgs/development/libraries/haskell/streaming-commons/default.nix +++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix @@ -1,13 +1,13 @@ -{ cabal, deepseq, hspec, network, QuickCheck, text, transformers -, zlib +{ cabal, async, deepseq, hspec, network, QuickCheck, text +, transformers, zlib }: cabal.mkDerivation (self: { pname = "streaming-commons"; - version = "0.1.0.2"; - sha256 = "1idlhvlv5pg20xq8h4rmphyflvpc9q88krwm498mh3s4983ik28c"; + version = "0.1.1"; + sha256 = "1mzpdhdc5kq9pfpsjs6v1j1qa1pdj1ca4s32z4bjq751jayj6ds6"; buildDepends = [ network text transformers zlib ]; - testDepends = [ deepseq hspec QuickCheck text zlib ]; + testDepends = [ async deepseq hspec network QuickCheck text zlib ]; meta = { homepage = "https://github.com/fpco/streaming-commons"; description = "Common lower-level functions needed by various streaming data libraries"; From 0a74f6d3e7f313a4fa0158b5c3cb65a943967c9a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:50 +0200 Subject: [PATCH 586/880] haskell-wai: update to version 2.1.0.2 --- pkgs/development/libraries/haskell/wai/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix index a0164a3950c..18c6e08c0b3 100644 --- a/pkgs/development/libraries/haskell/wai/default.nix +++ b/pkgs/development/libraries/haskell/wai/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "wai"; - version = "2.1.0.1"; - sha256 = "03gp3ijdpyyh7zic89laj0y4wsi8f49lbqlqq8w9msfgizjhvdv6"; + version = "2.1.0.2"; + sha256 = "02hj07s3vlhbd2hds5pyksghildadjqhr8mmiyabwb7ap8iybidg"; buildDepends = [ blazeBuilder conduit conduitExtra httpTypes network text transformers vault From b67feb09902605d527f2e9b25fff883ee66c6216 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:52 +0200 Subject: [PATCH 587/880] haskell-warp-tls: update to version 2.0.3.3 --- pkgs/development/libraries/haskell/warp-tls/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix index b04d9439d2d..cca9da9eb3d 100644 --- a/pkgs/development/libraries/haskell/warp-tls/default.nix +++ b/pkgs/development/libraries/haskell/warp-tls/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "warp-tls"; - version = "2.0.3.2"; - sha256 = "1dqaq1z4gb3sya41hiwsxgl4f0v7sqza7aazf2vc7dd5x5izp02w"; + version = "2.0.3.3"; + sha256 = "03fjghsa9zvrvg7ickph577zzr62n91gsb99v9k47s4nd2xri2rj"; buildDepends = [ conduit conduitExtra cprngAes dataDefaultClass network networkConduit resourcet streamingCommons tls transformers wai warp From cde2e2839ac17c29dab2cb6890124516f06e3c45 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:54 +0200 Subject: [PATCH 588/880] haskell-warp: update to version 2.1.4 --- pkgs/development/libraries/haskell/warp/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix index c67ea5c25e0..75ccd0e6f5d 100644 --- a/pkgs/development/libraries/haskell/warp/default.nix +++ b/pkgs/development/libraries/haskell/warp/default.nix @@ -1,4 +1,4 @@ -{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive +{ cabal, async, blazeBuilder, blazeBuilderConduit, caseInsensitive , conduit, conduitExtra, doctest, hashable, hspec, HTTP, httpDate , httpTypes, HUnit, liftedBase, network, networkConduit, QuickCheck , simpleSendfile, streamingCommons, text, time, transformers @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "warp"; - version = "2.1.3.3"; - sha256 = "1dbarrjb6y4cbc1dc265b008b6d5qziqnikdbnbdlrwfzr97cz23"; + version = "2.1.4"; + sha256 = "090xbjqwj8wzxiaal2jdsk7dbqv07c1cw32w7v8xxi2dkvv6nwbb"; buildDepends = [ blazeBuilder blazeBuilderConduit caseInsensitive conduit conduitExtra hashable httpDate httpTypes liftedBase network @@ -16,7 +16,7 @@ cabal.mkDerivation (self: { unixCompat void wai ]; testDepends = [ - blazeBuilder blazeBuilderConduit caseInsensitive conduit + async blazeBuilder blazeBuilderConduit caseInsensitive conduit conduitExtra doctest hashable hspec HTTP httpDate httpTypes HUnit liftedBase network networkConduit QuickCheck simpleSendfile streamingCommons text time transformers unixCompat void wai From a138d54df290504c939b244d88ec17870634ab4f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:55 +0200 Subject: [PATCH 589/880] haskell-websockets: update to version 0.8.2.1 --- pkgs/development/libraries/haskell/websockets/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix index c0d500ace71..cc5caddb6ec 100644 --- a/pkgs/development/libraries/haskell/websockets/default.nix +++ b/pkgs/development/libraries/haskell/websockets/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "websockets"; - version = "0.8.2.0"; - sha256 = "1gphlil7n0g9y6vqwyn9fc4sl2ccninznc59p11052j8q6yb34ia"; + version = "0.8.2.1"; + sha256 = "0ayh20a6xj3ab9ld3lmrazx94vbbf1xn65nxcpkq7cvm8ggim7a6"; buildDepends = [ attoparsec base64Bytestring binary blazeBuilder caseInsensitive entropy ioStreams mtl network random SHA text From 011f22e49bb085209c6805ccb48f9a469aa19c2c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:13:57 +0200 Subject: [PATCH 590/880] haskell-yesod-core: update to version 1.2.11.1 --- pkgs/development/libraries/haskell/yesod-core/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index ab968a53048..cea81592ba4 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -11,8 +11,8 @@ cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.2.11"; - sha256 = "0vg07g5735qsr01wpgxpjzjc7w9nrqvkhfnd90jzdvg3kg33dgih"; + version = "1.2.11.1"; + sha256 = "079nhpfsp8sqm0j5wck3fqx5b3g12r0l9214wybj2wnxpaddzhzx"; buildDepends = [ aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit conduitExtra cookie From 1bf2bd612c62ff9e99e5fa7aadf00966ef750728 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 9 Apr 2014 12:14:04 +0200 Subject: [PATCH 591/880] haskell-HTF: update to version 0.11.3.0 --- pkgs/development/libraries/haskell/HTF/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix index 877fa68ab00..041c619850a 100644 --- a/pkgs/development/libraries/haskell/HTF/default.nix +++ b/pkgs/development/libraries/haskell/HTF/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "HTF"; - version = "0.11.2.1"; - sha256 = "194wjcs06cbxjfgfcax697405c0vlaklnvh705ffrxmrrww77z7l"; + version = "0.11.3.0"; + sha256 = "0kw0yxmxr3whi6cvrxnrpzyikbjqwvcram5mjc27b46k2p38zxpj"; isLibrary = true; isExecutable = true; buildDepends = [ From 1bb391e2bbb5921601b23a88af7e658cd602ff07 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Wed, 9 Apr 2014 16:10:16 +0200 Subject: [PATCH 592/880] pythonPackages: sqlalchemy-imageattach, fix tests on darwin --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5a4be8d1704..4169871e99e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6889,7 +6889,7 @@ rec { checkPhase = '' cd tests - export LD_LIBRARY_PATH=${pkgs.imagemagick}/lib + export MAGICK_HOME="${pkgs.imagemagick}" export PYTHONPATH=$PYTHONPATH:../ py.test cd .. From 316e809ff869c38c78d2cd561416b5168fab9de0 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sat, 22 Mar 2014 21:38:04 -0400 Subject: [PATCH 593/880] cjdns: update to 20130303 build system is now nodejs based new nixos module to start cjdns --- nixos/modules/module-list.nix | 1 + nixos/modules/services/networking/cjdns.nix | 207 ++++++++++++++++++++ pkgs/tools/networking/cjdns/builder.sh | 9 + pkgs/tools/networking/cjdns/default.nix | 26 ++- 4 files changed, 228 insertions(+), 15 deletions(-) create mode 100644 nixos/modules/services/networking/cjdns.nix create mode 100644 pkgs/tools/networking/cjdns/builder.sh diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 86bb87e91de..94d5afdb097 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -159,6 +159,7 @@ ./services/networking/bind.nix ./services/networking/bitlbee.nix ./services/networking/btsync.nix + ./services/networking/cjdns.nix ./services/networking/connman.nix ./services/networking/cntlm.nix ./services/networking/chrony.nix diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix new file mode 100644 index 00000000000..9b715ec6384 --- /dev/null +++ b/nixos/modules/services/networking/cjdns.nix @@ -0,0 +1,207 @@ +# You may notice the commented out sections in this file, +# it would be great to configure cjdns from nix, but cjdns +# reads its configuration from stdin, including the private +# key and admin password, all nested in a JSON structure. +# +# Until a good method of storing the keys outside the nix +# store and mixing them back into a string is devised +# (without too much shell hackery), a skeleton of the +# configuration building lies commented out. + +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.cjdns; + + /* + # can't keep keys and passwords in the nix store, + # but don't want to deal with this stdin quagmire. + + cjdrouteConf = '' { + "admin": {"bind": "${cfg.admin.bind}", "password": "\${CJDNS_ADMIN}" }, + "privateKey": "\${CJDNS_KEY}", + + "interfaces": { + '' + + + optionalString (cfg.interfaces.udp.bind.address != null) '' + "UDPInterface": [ { + "bind": "${cfg.interfaces.udp.bind.address}:"'' + ${if cfg.interfaces.upd.bind.port != null + then ${toString cfg.interfaces.udp.bind.port} + else ${RANDOM} + fi) + + '' } ]'' + + + (if cfg.interfaces.eth.bind != null then '' + "ETHInterface": [ { + "bind": "${cfg.interfaces.eth.bind}", + "beacon": ${toString cfg.interfaces.eth.beacon} + } ] + '' fi ) + + '' + }, + "router": { "interface": { "type": "TUNInterface" }, }, + "security": [ { "setuser": "nobody" } ] + } + ''; + + cjdrouteConfFile = pkgs.writeText "cjdroute.conf" cjdrouteConf + */ +in + +{ + options = { + + services.cjdns = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable this option to start a instance of the + cjdns network encryption and and routing engine. + Configuration will be read from confFile. + ''; + }; + + confFile = mkOption { + default = "/etc/cjdroute.conf"; + description = '' + Configuration file to pipe to cjdroute. + ''; + }; + + /* + admin = { + bind = mkOption { + default = "127.0.0.1:11234"; + description = '' + Bind the administration port to this address and port. + ''; + }; + + passwordFile = mkOption { + example = "/root/cjdns.adminPassword"; + description = '' + File containing a password to the administration port. + ''; + }; + }; + + keyFile = mkOption { + type = types.str; + example = "/root/cjdns.key"; + description = '' + Path to a file containing a cjdns private key on a single line. + ''; + }; + + passwordsFile = mkOption { + type = types.str; + default = null; + example = "/root/cjdns.authorizedPasswords"; + description = '' + A file containing a list of json dictionaries with passwords. + For example: + {"password": "s8xf5z7znl4jt05g922n3wpk75wkypk"}, + { "name": "nice guy", + "password": "xhthk1mglz8tpjrbbvdlhyc092rhpx5"}, + {"password": "3qfxyhmrht7uwzq29pmhbdm9w4bnc8w"} + ''; + }; + + interfaces = { + udp = { + bind = { + address = mkOption { + default = "0.0.0.0"; + description = '' + Address to bind UDP tunnels to; disable by setting to null; + ''; + }; + port = mkOption { + type = types.int; + default = null; + description = '' + Port to bind UDP tunnels to. + A port will be choosen at random if this is not set. + This option is required to act as the server end of + a tunnel. + ''; + }; + }; + }; + + eth = { + bind = mkOption { + default = null; + example = "eth0"; + description = '' + Bind to this device and operate with native wire format. + ''; + }; + + beacon = mkOption { + default = 2; + description = '' + Auto-connect to other cjdns nodes on the same network. + Options: + 0 -- Disabled. + + 1 -- Accept beacons, this will cause cjdns to accept incoming + beacon messages and try connecting to the sender. + + 2 -- Accept and send beacons, this will cause cjdns to broadcast + messages on the local network which contain a randomly + generated per-session password, other nodes which have this + set to 1 or 2 will hear the beacon messages and connect + automatically. + ''; + }; + + connectTo = mkOption { + type = types.listOf types.str; + default = []; + description = '' + Credentials for connecting look similar to UDP credientials + except they begin with the mac address, for example: + "01:02:03:04:05:06":{"password":"a","publicKey":"b"} + ''; + }; + }; + }; + */ + }; + }; + + config = mkIf config.services.cjdns.enable { + + boot.kernelModules = [ "tun" ]; + + /* + networking.firewall.allowedUDPPorts = mkIf (cfg.udp.bind.port != null) [ + cfg.udp.bind.port + ]; + */ + + systemd.services.cjdns = { + description = "encrypted networking for everybody"; + wantedBy = [ "multi-user.target" ]; + wants = [ "network.target" ]; + before = [ "network.target" ]; + path = [ pkgs.cjdns ]; + + serviceConfig = { + Type = "forking"; + ExecStart = '' + ${pkgs.stdenv.shell} -c "${pkgs.cjdns}/sbin/cjdroute < ${cfg.confFile}" + ''; + Restart = "on-failure"; + }; + }; + }; +} diff --git a/pkgs/tools/networking/cjdns/builder.sh b/pkgs/tools/networking/cjdns/builder.sh new file mode 100644 index 00000000000..c2e3701c046 --- /dev/null +++ b/pkgs/tools/networking/cjdns/builder.sh @@ -0,0 +1,9 @@ +source $stdenv/setup + +unpackPhase +cd git-export + +bash do + +mkdir -p $out/sbin +cp cjdroute $out/sbin diff --git a/pkgs/tools/networking/cjdns/default.nix b/pkgs/tools/networking/cjdns/default.nix index b42f202099b..48e21f4507e 100644 --- a/pkgs/tools/networking/cjdns/default.nix +++ b/pkgs/tools/networking/cjdns/default.nix @@ -1,31 +1,27 @@ -{ stdenv, fetchgit, cmake }: +{ stdenv, fetchgit, nodejs, which, python27 }: let - rev = "f7b02ac0cc"; + date = "20140303"; + rev = "f11ce1fd4795b0173ac0ef18c8a6f752aa824adb"; in stdenv.mkDerivation { - name = "cjdns-20130620-${stdenv.lib.strings.substring 0 7 rev}"; + name = "cjdns-${date}-${stdenv.lib.strings.substring 0 7 rev}"; src = fetchgit { - url = "https://github.com/cjdelisle/cjdns.git"; + url = "git://github.com/cjdelisle/cjdns.git"; inherit rev; - sha256 = "1580a62yhph62nv7q2jdqrbkyk9a9g5i17snibkxyykc7rili5zq"; + sha256 = "1bxhf9f1v0slf9mz3ll6jf45mkwvwxlf3yqxx9k23kjyr1nsc8s8"; }; - preConfigure = '' - sed -i -e '/toolchain.*CACHE/d' CMakeLists.txt - ''; + buildInputs = [ which python27 nodejs]; - doCheck = true; - checkPhase = "ctest"; - - buildInputs = [ cmake ]; + builder = ./builder.sh; meta = { homepage = https://github.com/cjdelisle/cjdns; description = "Encrypted networking for regular people"; - license = "GPLv3+"; - maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ viric emery ]; + platforms = stdenv.lib.platforms.linux; }; } From d54a8052812d7ab93a18f667edc15bcda4640bae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 9 Apr 2014 18:56:54 +0200 Subject: [PATCH 594/880] gnome3: downgrade 3.12 packages to 3.10 --- pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix | 6 +++--- pkgs/desktops/gnome-3/core/gnome-calculator/default.nix | 6 +++--- pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix | 6 +++--- pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix index 41f75e6e3c5..3879b81859a 100644 --- a/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-backgrounds/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, intltool }: stdenv.mkDerivation rec { - name = "gnome-backgrounds-3.12.0"; + name = "gnome-backgrounds-3.10.1"; src = fetchurl { - url = "mirror://gnome/sources/gnome-backgrounds/3.12/${name}.tar.xz"; - sha256 = "77a893025a0bed5753631a810154cad53fb2cf34c8ee988016217cd8862eab42"; + url = "mirror://gnome/sources/gnome-backgrounds/3.10/${name}.tar.xz"; + sha256 = "11rv03m4hznpx0brf47hil04199z3jjvl1aq7q0lnill3yrffiyc"; }; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix index 981ae3bd9df..205961a9171 100644 --- a/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-calculator/default.nix @@ -3,11 +3,11 @@ , itstool, gnome3, librsvg, gdk_pixbuf }: stdenv.mkDerivation rec { - name = "gnome-calculator-3.12.0"; + name = "gnome-calculator-3.10.2"; src = fetchurl { - url = "mirror://gnome/sources/gnome-calculator/3.12/${name}.tar.xz"; - sha256 = "22882c770251203be85f728d73b0d3946728774fd437cf460cd6d958fc4b4dc5"; + url = "mirror://gnome/sources/gnome-calculator/3.10/${name}.tar.xz"; + sha256 = "0gkddnk9x76895xrz0ps4yny36w62fhi459gwmxqqb9kx5934n1f"; }; NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; diff --git a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix index e96da3168e0..334471c2943 100644 --- a/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-disk-utility/default.nix @@ -4,11 +4,11 @@ , libcanberra_gtk3, libxslt, libtool, docbook_xsl, libpwquality }: stdenv.mkDerivation rec { - name = "gnome-disk-utility-3.12.0"; + name = "gnome-disk-utility-3.10.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-disk-utility/3.12/${name}.tar.xz"; - sha256 = "46e0698c4a7baa8719a79935066e103447011fb47528a28dbb49e35eeec409d8"; + url = "mirror://gnome/sources/gnome-disk-utility/3.10/${name}.tar.xz"; + sha256 = "1amqi2bribxn8r8k8mvxh3710rmdll9963smf0v59v0iwxi3mqil"; }; doCheck = true; diff --git a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix index 349df0b103c..7b94d0f9027 100644 --- a/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-screenshot/default.nix @@ -3,11 +3,11 @@ , itstool, gnome3, librsvg, gdk_pixbuf }: stdenv.mkDerivation rec { - name = "gnome-screenshot-3.12.0"; + name = "gnome-screenshot-3.10.0"; src = fetchurl { - url = "mirror://gnome/sources/gnome-screenshot/3.12/${name}.tar.xz"; - sha256 = "ae4bf706652ae9b28c7930d22c2c37469a78d7f6656d312960b3c75ee5c36eb1"; + url = "mirror://gnome/sources/gnome-screenshot/3.10/${name}.tar.xz"; + sha256 = "1nb56kzcj5z4hmrmxap5r53smi52ki3pc8qmhi4rymkgqswyk7bh"; }; doCheck = true; From 5d12cbf1c20f45fe0c47dc94ee7894ee5c09be3b Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Wed, 9 Apr 2014 20:42:08 +0200 Subject: [PATCH 595/880] add back old version of flex for grub2 --- .../development/tools/parsing/flex/2.5.35.nix | 26 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/tools/parsing/flex/2.5.35.nix diff --git a/pkgs/development/tools/parsing/flex/2.5.35.nix b/pkgs/development/tools/parsing/flex/2.5.35.nix new file mode 100644 index 00000000000..8047080a125 --- /dev/null +++ b/pkgs/development/tools/parsing/flex/2.5.35.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchurl, bison, m4 }: + +stdenv.mkDerivation { + name = "flex-2.5.35"; + + src = fetchurl { + url = mirror://sourceforge/flex/flex-2.5.35.tar.bz2; + sha256 = "0ysff249mwhq0053bw3hxh58djc0gy7vjan2z1krrf9n5d5vvv0b"; + }; + + buildInputs = [ bison ]; + + propagatedNativeBuildInputs = [ m4 ]; + + crossAttrs = { + preConfigure = '' + export ac_cv_func_malloc_0_nonnull=yes + export ac_cv_func_realloc_0_nonnull=yes + ''; + }; + + meta = { + homepage = http://flex.sourceforge.net/; + description = "A fast lexical analyser generator"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6ea5b6864ed..e0727ec4222 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1122,7 +1122,7 @@ let buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true; }; - grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; }; + grub2 = callPackage ../tools/misc/grub/2.0x.nix { libusb = libusb1; flex = flex_2_5_35; }; grub2_efi = grub2.override { EFIsupport = true; }; @@ -3733,6 +3733,7 @@ let checkstyle = callPackage ../development/tools/analysis/checkstyle { }; flex = callPackage ../development/tools/parsing/flex { }; + flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { }; m4 = gnum4; From e856584e1a38688bcb5c2ad9153172111e62969b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Wed, 9 Apr 2014 21:04:49 +0200 Subject: [PATCH 596/880] nixos/jenkins-service: fix 'group' option documentation Both for master and slave. --- .../services/continuous-integration/jenkins/default.nix | 3 ++- .../modules/services/continuous-integration/jenkins/slave.nix | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index c3dc59a9fbd..b264a2e4bb4 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -25,7 +25,8 @@ in { default = "jenkins"; type = with types; string; description = '' - User the jenkins server should execute under. + If the default user "jenkins" is configured then this is the primary + group of that user. ''; }; diff --git a/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixos/modules/services/continuous-integration/jenkins/slave.nix index 1d31ab830f6..9d952b2d2be 100644 --- a/nixos/modules/services/continuous-integration/jenkins/slave.nix +++ b/nixos/modules/services/continuous-integration/jenkins/slave.nix @@ -33,7 +33,8 @@ in { default = "jenkins"; type = with types; string; description = '' - User the jenkins slave agent should execute under. + If the default slave agent user "jenkins" is configured then this is + the primary group of that user. ''; }; From 8fdf8984d2e83fef0602456c75baafaf274bd8d7 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Wed, 9 Apr 2014 01:57:26 +0200 Subject: [PATCH 597/880] chromium: Update stable channel from 33.0.1750.152 -> 34.0.1847.116 --- pkgs/applications/networking/browsers/chromium/sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/sources.nix b/pkgs/applications/networking/browsers/chromium/sources.nix index 782356640c8..49b5e2b4221 100644 --- a/pkgs/applications/networking/browsers/chromium/sources.nix +++ b/pkgs/applications/networking/browsers/chromium/sources.nix @@ -11,8 +11,8 @@ sha256 = "1na5d6z4a0wkabn7cj62vyiv3mmvcb6qdvrkyy6fj79h7gk2hb7k"; }; stable = { - version = "33.0.1750.152"; - url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-33.0.1750.152.tar.xz"; - sha256 = "0byc23vwn9alsva0jqvwvgnbx2bm7x48m3jln02y4fpf1f265m4z"; + version = "34.0.1847.116"; + url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-34.0.1847.116.tar.xz"; + sha256 = "04cpfav5rqa117igvzmrw0045r2ljxg5fqb46qgqvkgff30pjrfx"; }; } From a644b7ba601f541ceda2e4a2f492cff8683feaaf Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Mon, 7 Apr 2014 16:03:01 +0200 Subject: [PATCH 598/880] icedtea7: Update from 2.4.5 -> 2.4.6 --- .../development/compilers/icedtea/sources.nix | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pkgs/development/compilers/icedtea/sources.nix b/pkgs/development/compilers/icedtea/sources.nix index 95d6928b3ab..6600c811786 100644 --- a/pkgs/development/compilers/icedtea/sources.nix +++ b/pkgs/development/compilers/icedtea/sources.nix @@ -2,54 +2,54 @@ { icedtea7 = rec { branch = "2.4"; - version = "${branch}.5"; + version = "${branch}.6"; url = "http://icedtea.wildebeest.org/download/source/icedtea-${version}.tar.xz"; - sha256 = "0nrhbn2q7cm21hpq1f5ds0v0rnsznmdyiifi8w4l1ykyqw9n9yfk"; + sha256 = "06gsrci7934xmlddmi9wpawpgb1mp7c8cx3jmjsq91kdljmvqcy3"; hg_url = "http://icedtea.classpath.org/hg/release/icedtea7-forest-${branch}"; bundles = { openjdk = rec { - changeset = "410eb7fef869"; + changeset = "b028e58c1b77"; url = "${hg_url}/archive/${changeset}.tar.gz"; - sha256 = "2de151c7275d91ef082e63fcc0957c5f9290404ec6e20ecfa1e752e16bfab707"; + sha256 = "e6be030ac5934781d9682dc3108980fa7d2330c32da3cea4ae74df11fbaa92f2"; }; corba = rec { - changeset = "3594dbde270d"; + changeset = "48ef1bb6d120"; url = "${hg_url}/corba/archive/${changeset}.tar.gz"; - sha256 = "d1f97e143fe94ae3a56b45bb5a90f8ab10ec2be4ff770a788f0a1ac677e27a7d"; + sha256 = "2fcfe699797154da8b4ba5242e32468b2f3f42a0cb17039915bfb1f84887a5b6"; }; jaxp = rec { - changeset = "8fe156ad49e2"; + changeset = "e0ba4b9a8b91"; url = "${hg_url}/jaxp/archive/${changeset}.tar.gz"; - sha256 = "0a2a40186cedfbeb8f87b0bc86bea2830943943081d4289fc74f7a783b2e1af3"; + sha256 = "e7014057721b8392676bd24760c3f7b3dd40548abb3c8dfbe8df2fa04d7c1fca"; }; jaxws = rec { - changeset = "32ea8b1ed91a"; + changeset = "4bd947cd146b"; url = "${hg_url}/jaxws/archive/${changeset}.tar.gz"; - sha256 = "08a169b6b02883759ec7a412aa91aa3e37480761cb50b95d092dbcdb2fc9a3d0"; + sha256 = "17ed5278872ad0c9ec3a849caf1480e5942b714e35c9a4a949d09daac4b34c5a"; }; jdk = rec { - changeset = "9db88c18e114"; + changeset = "b5282042aae0"; url = "${hg_url}/jdk/archive/${changeset}.tar.gz"; - sha256 = "285e5b8ccbb29f3f9f9ea9ea7856d1ed97465c57d091fbcd9b2e55a1ffbb543e"; + sha256 = "ab9b0e973625604b12a2f027cb2a6f9bc5160ef7df55408da6ca8a9c3aaed2d5"; }; langtools = rec { - changeset = "dabd37b7e295"; + changeset = "06eeb77dac24"; url = "${hg_url}/langtools/archive/${changeset}.tar.gz"; - sha256 = "86cb370ce2084c4b699d8c002ebe6c026e86206ffa82a2f3d7906aadb94ed79f"; + sha256 = "a67e62618c70ef9190b2aef2b49be9d79624be9363bda258828b17494e092477"; }; hotspot = rec { - changeset = "2cb58882dac3"; + changeset = "172674e0ab65"; url = "${hg_url}/hotspot/archive/${changeset}.tar.gz"; - sha256 = "d8c1681ae76e660c1888065933cedbbc1309869c7a2fb98f07c424716d5ebaf9"; + sha256 = "2aadfe9b1848a619bd2d35f802b3e71ef5286e7822f9e7b02ce2539ca817d9b0"; }; }; }; From 442e1bbaaba7f8274c8003b01e6c1ed8a38921f8 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Mon, 7 Apr 2014 23:17:05 +0200 Subject: [PATCH 599/880] icedtea7: Fix building v2.4.6 by backporting fix See http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1726 --- .../compilers/icedtea/build-fix-2.4.6.patch | 58 +++++++++++++++++++ .../development/compilers/icedtea/default.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/compilers/icedtea/build-fix-2.4.6.patch diff --git a/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch b/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch new file mode 100644 index 00000000000..d5fcd9f4456 --- /dev/null +++ b/pkgs/development/compilers/icedtea/build-fix-2.4.6.patch @@ -0,0 +1,58 @@ + +# HG changeset patch +# User Andrew John Hughes +# Date 1396030366 0 +# Node ID e8e59c50a451b45bd10cd495b81e5c61b2b4bca8 +# Parent 46f9059509fec2498b1a04ccefee538a45aeff8c +PR1726: configure fails looking for ecj.jar before even trying to find javac + +2014-03-28 Andrew John Hughes + + * acinclude.m4: + (IT_FIND_COMPILER): Check value of ECJ_JAR + and JAVAC here ... + (IT_FIND_ECJ_JAR): ... rather than here where + ${JAVAC} may not yet be defined. + +diff -r 46f9059509fe -r e8e59c50a451 NEWS +--- a/NEWS Fri Mar 28 18:06:31 2014 +0000 ++++ b/NEWS Fri Mar 28 18:12:46 2014 +0000 +@@ -14,6 +14,9 @@ + + New in release 2.4.7 (2014-04-XX): + ++* Bug fixes ++ - PR1726: configure fails looking for ecj.jar before even trying to find javac ++ + New in release 2.4.6 (2014-03-28): + + * Backports +diff -r 46f9059509fe -r e8e59c50a451 acinclude.m4 +--- a/acinclude.m4 Fri Mar 28 18:06:31 2014 +0000 ++++ b/acinclude.m4 Fri Mar 28 18:12:46 2014 +0000 +@@ -134,6 +134,12 @@ + IT_USING_ECJ + IT_WITH_GCJ + ++ if test "x${ECJ_JAR}" = "xno"; then ++ if test "x${JAVAC}" = "x"; then ++ AC_MSG_ERROR("No compiler or ecj JAR file was found.") ++ fi ++ fi ++ + if test x"${GCJ}" != xno ; then + JAVAC="${JAVA} -classpath ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main" + fi +@@ -350,11 +356,6 @@ + fi + fi + AC_MSG_RESULT(${ECJ_JAR}) +- if test "x${ECJ_JAR}" = "xno"; then +- if test "x${JAVAC}" = "x"; then +- AC_MSG_ERROR("No compiler or ecj JAR file was found.") +- fi +- fi + AC_SUBST(ECJ_JAR) + ]) + + diff --git a/pkgs/development/compilers/icedtea/default.nix b/pkgs/development/compilers/icedtea/default.nix index a8f9617a634..de3a013e7df 100644 --- a/pkgs/development/compilers/icedtea/default.nix +++ b/pkgs/development/compilers/icedtea/default.nix @@ -43,6 +43,8 @@ with srcInfo; stdenv.mkDerivation { inherit url sha256; }; + patches = [ ./build-fix-2.4.6.patch ]; + outputs = [ "out" "jre" ]; # TODO: Probably some more dependencies should be on this list but are being From f6799983bd736465735c387c4f5cbe0919d07350 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Mon, 7 Apr 2014 16:03:31 +0200 Subject: [PATCH 600/880] icedtea7_web: Update from 1.4.2 -> 1.5 Fixes CVE-2012-4540. --- pkgs/development/compilers/icedtea-web/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix index 9123aaa988c..14a203770f8 100644 --- a/pkgs/development/compilers/icedtea-web/default.nix +++ b/pkgs/development/compilers/icedtea-web/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { name = "icedtea-web-${version}"; - version = "1.4.2"; + version = "1.5"; src = fetchurl { url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz"; - sha256 = "0bfw4icxjfkdxqmiqgp9lfs1ca9rydl57g3yhlxrif0fpzyyb3fl"; + sha256 = "0bbwa944kaam0r8ldlqrrj9z9zj54v6zdc3q663ck59shw5z828w"; }; buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ]; From 76551abef2e5490af5ec3e37924cf29748798f32 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Tue, 8 Apr 2014 11:36:44 +0200 Subject: [PATCH 601/880] icedtea7_web: Fix configure phase not finding bash --- pkgs/development/compilers/icedtea-web/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix index 14a203770f8..c9697bac36c 100644 --- a/pkgs/development/compilers/icedtea-web/default.nix +++ b/pkgs/development/compilers/icedtea-web/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk }: +{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash }: stdenv.mkDerivation rec { name = "icedtea-web-${version}"; @@ -15,6 +15,8 @@ stdenv.mkDerivation rec { preConfigure = '' substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl' + + configureFlags="BIN_BASH=${bash}/bin/bash $configureFlags" ''; configureFlags = [ From c50abd0e136cb8eec3527edc292d195a16fd5149 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Thu, 10 Apr 2014 00:34:59 +0200 Subject: [PATCH 602/880] linux: Update to 3.2.57 --- pkgs/os-specific/linux/kernel/linux-3.2.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix index 1dd13724857..a73ded41edf 100644 --- a/pkgs/os-specific/linux/kernel/linux-3.2.nix +++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ... } @ args: import ./generic.nix (args // rec { - version = "3.2.56"; + version = "3.2.57"; extraMeta.branch = "3.2"; src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; - sha256 = "08858sx63bsay185ywwyh01wnms7lyh9rvgwznwnzmjpnfi3hihm"; + sha256 = "0njiqa5fi82a4dls9z1cp33lza00bg15x93c19bsyalp53xqbnab"; }; features.iwlwifi = true; From 5dfc6584a505956648d31ee3cc664d48dff458c6 Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Thu, 10 Apr 2014 00:34:59 +0200 Subject: [PATCH 603/880] grsecurity: Update stable patch from 3.0-3.2.56-201404062126 -> 3.0-3.2.57-201404091758 --- pkgs/os-specific/linux/kernel/patches.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 5156abc1c4f..8e3cb5f7aaa 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -72,14 +72,14 @@ rec { }; - grsecurity_3_0_3_2_56 = - { name = "grsecurity-3.0-3.2.56"; + grsecurity_3_0_3_2_57 = + { name = "grsecurity-3.0-3.2.57"; patch = fetchurl { - url = http://grsecurity.net/stable/grsecurity-3.0-3.2.56-201404062126.patch; - sha256 = "0pm8a6h5dky1frg7bi6ldq849w8xz8isnlw5jpbzix46m3myy3x0"; + url = http://grsecurity.net/stable/grsecurity-3.0-3.2.57-201404091758.patch; + sha256 = "07rswg6vqyak9ccan954izx1fr0c6c6fn8whlzl0787dabpai3i3"; }; features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.56 + # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.57 features.apparmor = true; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e0727ec4222..0de56da8311 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6913,7 +6913,7 @@ let linux_3_2_grsecurity = lowPrio (lib.addMetaAttrs { maintainers = with lib.maintainers; [ wizeman thoughtpolice ]; } (lib.overrideDerivation (linux_3_2.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_2_56 kernelPatches.grsec_path ]; + kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_2_57 kernelPatches.grsec_path ]; argsOverride = { modDirVersion = "${linux_3_2.modDirVersion}-grsec"; }; From d912cdf264d3ecba17fbf8e156bee6c65055dced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Wed, 9 Apr 2014 23:04:47 +0000 Subject: [PATCH 604/880] gstreamer-1.0: use different function name for env hook than gstreamer-0.10 --- pkgs/development/libraries/gstreamer/core/setup-hook.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gstreamer/core/setup-hook.sh b/pkgs/development/libraries/gstreamer/core/setup-hook.sh index 4e75044e732..04863ab3b61 100644 --- a/pkgs/development/libraries/gstreamer/core/setup-hook.sh +++ b/pkgs/development/libraries/gstreamer/core/setup-hook.sh @@ -1,9 +1,9 @@ -addGstreamerLibPath () { +addGstreamer1LibPath () { if test -d "$1/lib/gstreamer-1.0" then export GST_PLUGIN_SYSTEM_PATH_1_0="${GST_PLUGIN_SYSTEM_PATH_1_0}${GST_PLUGIN_SYSTEM_PATH_1_0:+:}$1/lib/gstreamer-1.0" fi } -envHooks=(${envHooks[@]} addGstreamerLibPath) +envHooks=(${envHooks[@]} addGstreamer1LibPath) From ab12d10f8705216fb9c5bcfafb00fd5a0335a868 Mon Sep 17 00:00:00 2001 From: Linquize Date: Thu, 10 Apr 2014 02:02:59 +0200 Subject: [PATCH 605/880] git: Update to 1.9.2 --- .../version-management/git-and-tools/git/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 9eaa7d219b0..649b0a7e4a2 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -10,7 +10,7 @@ let - version = "1.9.1"; + version = "1.9.2"; svn = subversionClient.override { perlBindings = true; }; @@ -21,7 +21,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; - sha256 = "0yx7qf9hqgfvrliqvk775pw3zh982nx5r16iw7n997q4ik7gnqpr"; + sha256 = "1x4rb06vw4ckdflmn01r5l9spvn7cng4i5mm3sbd0n8cz0n6xz13"; }; patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ]; From 5dd14a1059efcc26193cc37e61b8da94a25cbba9 Mon Sep 17 00:00:00 2001 From: aszlig Date: Thu, 10 Apr 2014 07:52:26 +0200 Subject: [PATCH 606/880] nixos/phpfpm: Add option to set PHP package. This allows to easily override the used PHP package, especially for example if you want to use PHP 5.5 or if you want to override the derivation. Signed-off-by: aszlig --- nixos/modules/services/web-servers/phpfpm.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/web-servers/phpfpm.nix b/nixos/modules/services/web-servers/phpfpm.nix index 76ec4124462..6ffe4beaa5d 100644 --- a/nixos/modules/services/web-servers/phpfpm.nix +++ b/nixos/modules/services/web-servers/phpfpm.nix @@ -35,6 +35,13 @@ in { ''; }; + phpPackage = mkOption { + default = pkgs.php54; + description = '' + The PHP package to use for running the FPM service. + ''; + }; + poolConfigs = mkOption { type = types.attrsOf types.lines; default = {}; @@ -68,7 +75,7 @@ in { mkdir -p "${stateDir}" ''; serviceConfig = { - ExecStart = "${pkgs.php54}/sbin/php-fpm -y ${cfgFile}"; + ExecStart = "${cfg.phpPackage}/sbin/php-fpm -y ${cfgFile}"; PIDFile = pidFile; }; }; From c7e94de91f903f7484e2bd644de9c179d76973a8 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 10 Apr 2014 02:27:43 +0200 Subject: [PATCH 607/880] lxc: set rootfs path somewhere outside /nix/store This commit fixes lxc to eventually work --- pkgs/os-specific/linux/lxc/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix index 1fcdcbc2837..12305687c29 100644 --- a/pkgs/os-specific/linux/lxc/default.nix +++ b/pkgs/os-specific/linux/lxc/default.nix @@ -14,10 +14,14 @@ stdenv.mkDerivation rec { patches = [ ./install-localstatedir-in-store.patch ./support-db2x.patch ]; - preConfigure = "export XML_CATALOG_FILES=${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml"; + preConfigure = '' + export XML_CATALOG_FILES=${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml + substituteInPlace doc/rootfs/Makefile.am --replace '@LXCROOTFSMOUNT@' '$out/lib/lxc/rootfs' + ''; configureFlags = [ "--localstatedir=/var" + "--with-rootfs-path=/var/lib/lxc/rootfs" "--enable-doc" "--enable-tests" "--enable-apparmor" From 4219eb430d0f41508ef153dcfed6b665bbe83ae8 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Wed, 9 Apr 2014 11:40:26 +0200 Subject: [PATCH 608/880] intel-microcode: upgrade to 20140122 --- pkgs/os-specific/linux/microcode/intel.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix index d96a4943625..8de75fbc734 100644 --- a/pkgs/os-specific/linux/microcode/intel.nix +++ b/pkgs/os-specific/linux/microcode/intel.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, microcode2ucode }: -let version = "20130906"; in +let version = "20140122"; in stdenv.mkDerivation { name = "microcode-intel-${version}"; src = fetchurl { - url = "http://downloadmirror.intel.com/23166/eng/microcode-${version}.tgz"; - sha256 = "11k327icvijadq2zkgkc3sqwzraip9cviqm25566g09523ds0svv"; + url = "http://downloadmirror.intel.com/23574/eng/microcode-${version}.tgz"; + sha256 = "0r5ldb1jvrf0b6b112v3wdr7ikf2zky2jgby2lnqi1xwd34x42k8"; }; buildInputs = [ microcode2ucode ]; From bf929ef73b00bc699b3035274f4a60e68ba1cbd7 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Wed, 9 Apr 2014 06:51:37 +0200 Subject: [PATCH 609/880] faac is redistributable, hydra is allowed to build it. --- pkgs/development/libraries/faac/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/faac/default.nix b/pkgs/development/libraries/faac/default.nix index 8bfaaf3ea49..2c4f8da7783 100644 --- a/pkgs/development/libraries/faac/default.nix +++ b/pkgs/development/libraries/faac/default.nix @@ -15,6 +15,6 @@ stdenv.mkDerivation rec { homepage = http://www.audiocoding.com/faac.html; # Incompatible with GPL. Some changes to the base code, included in faac, # are under LGPL though. - license = "unfree"; + license = "unfree-redistributable"; }; } From 3ada08785f2bd191d3195e332b5c225f1d730038 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Wed, 9 Apr 2014 11:06:46 +0200 Subject: [PATCH 610/880] avidemux: make faacSupport optional --- pkgs/applications/video/avidemux/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/video/avidemux/default.nix b/pkgs/applications/video/avidemux/default.nix index d706d16241c..485d8c54eb3 100644 --- a/pkgs/applications/video/avidemux/default.nix +++ b/pkgs/applications/video/avidemux/default.nix @@ -1,20 +1,23 @@ {stdenv, fetchurl, cmake, pkgconfig, libxml2, qt4, gtk, gettext, SDL, libXv, pixman, libpthreadstubs, libXau, libXdmcp, libxslt, x264, -alsaLib, lame, faac, faad2, libvorbis, yasm, libvpx, xvidcore, libva }: +alsaLib, lame, faad2, libvorbis, yasm, libvpx, xvidcore, libva, +faac ? null, faacSupport ? false }: assert stdenv ? glibc; +assert faacSupport -> faac != null; stdenv.mkDerivation { name = "avidemux-2.5.6"; - + src = fetchurl { url = mirror://sourceforge/avidemux/avidemux_2.5.6.tar.gz; sha256 = "12wvxz0n2g85f079d8mdkkp2zm279d34m9v7qgcqndh48cn7znnn"; }; - + buildInputs = [ cmake pkgconfig libxml2 qt4 gtk gettext SDL libXv - pixman libpthreadstubs libXau libXdmcp libxslt x264 alsaLib - lame faac faad2 libvorbis yasm libvpx xvidcore libva ]; + pixman libpthreadstubs libXau libXdmcp libxslt x264 alsaLib + lame faad2 libvorbis yasm libvpx xvidcore libva + ] ++ stdenv.lib.optional faacSupport faac; cmakeFlags = "-DPTHREAD_INCLUDE_DIR=${stdenv.glibc}/include" + " -DGETTEXT_INCLUDE_DIR=${gettext}/include" + @@ -34,7 +37,7 @@ stdenv.mkDerivation { make install ''; - meta = { + meta = { homepage = http://fixounet.free.fr/avidemux/; description = "Free video editor designed for simple video editing tasks"; maintainers = with stdenv.lib.maintainers; [viric]; From c69577b7d6ea96cd605043440145ea6e094674b5 Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 10 Apr 2014 12:20:50 +0200 Subject: [PATCH 611/880] nixos: fix shell on conatiners --- nixos/modules/programs/shadow.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 15b083b72d2..7e9133099ed 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -94,7 +94,7 @@ in groupmod = { rootOK = true; }; groupmems = { rootOK = true; }; groupdel = { rootOK = true; }; - login = { startSession = true; allowNullPassword = true; showMotd = true; updateWtmp = true; }; + login = { startSession = !config.boot.isContainer; allowNullPassword = true; showMotd = true; updateWtmp = true; }; chpasswd = { rootOK = true; }; chgpasswd = { rootOK = true; }; }; From 0b170187e364e6af9892e6d83247c090a132739c Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 10 Apr 2014 12:29:46 +0200 Subject: [PATCH 612/880] nixos: disable ntp on containers by default --- nixos/modules/services/networking/ntpd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/ntpd.nix b/nixos/modules/services/networking/ntpd.nix index 3d388cb1064..fb7d6802136 100644 --- a/nixos/modules/services/networking/ntpd.nix +++ b/nixos/modules/services/networking/ntpd.nix @@ -36,7 +36,7 @@ in services.ntp = { enable = mkOption { - default = true; + default = !config.boot.isContainer; description = '' Whether to synchronise your machine's time using the NTP protocol. From c3c045c59d52e0282eb89d3a50b8d016d658ee61 Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Thu, 10 Apr 2014 13:31:23 +0200 Subject: [PATCH 613/880] Add logstash-forwarder. --- .../tools/misc/logstash-forwarder/default.nix | 19 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/tools/misc/logstash-forwarder/default.nix diff --git a/pkgs/tools/misc/logstash-forwarder/default.nix b/pkgs/tools/misc/logstash-forwarder/default.nix new file mode 100644 index 00000000000..52180c75c98 --- /dev/null +++ b/pkgs/tools/misc/logstash-forwarder/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchgit, go }: +stdenv.mkDerivation { + name = "logstash-forwarder-20140410"; + src = fetchgit { + url = https://github.com/elasticsearch/logstash-forwarder.git; + rev = "ec504792108ab6536b45bcf6dff6d26a6b56fef3"; + sha256 = "309545ceaec171bee997cad260bef1433e041b9f3bfe617d475bcf79924f943d"; + }; + buildInputs = [ go ]; + installPhase = '' + mkdir -p $out/bin + cp build/bin/logstash-forwarder $out/bin + ''; + + meta = { + license = stdenv.lib.licenses.asl20; + homepage = https://github.com/elasticsearch/logstash-forwarder; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0de56da8311..9e8c8487ec2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1282,6 +1282,8 @@ let logstash = callPackage ../tools/misc/logstash { }; + logstash-forwarder = callPackage ../tools/misc/logstash-forwarder { }; + kippo = callPackage ../servers/kippo { }; klavaro = callPackage ../games/klavaro {}; From fe7599b2b2c0f327d2a7672d081f64bbdf6ec2f3 Mon Sep 17 00:00:00 2001 From: Rickard Nilsson Date: Thu, 10 Apr 2014 14:10:00 +0200 Subject: [PATCH 614/880] openldap: Update from 2.4.38 to 2.4.39 --- pkgs/development/libraries/openldap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix index c4be3358049..c8e8ff35277 100644 --- a/pkgs/development/libraries/openldap/default.nix +++ b/pkgs/development/libraries/openldap/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, openssl, cyrus_sasl, db, groff}: stdenv.mkDerivation rec { - name = "openldap-2.4.38"; + name = "openldap-2.4.39"; src = fetchurl { url = "ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/${name}.tgz"; - sha256 = "1l8zng86alhcmmmw09r1c4dzl7yvk6dy5fq9zia96pgck4srl848"; + sha256 = "19zq9dc7dl03wmqd11fbsdii1npyq1vlicl3nxbfygqh8xrwhrw2"; }; buildInputs = [ openssl cyrus_sasl db groff ]; From 3dca6b98cb6549ef7ba0195a6ac1bbc811f8db66 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 10 Apr 2014 10:53:49 +0200 Subject: [PATCH 615/880] Fix permissions on /var/lib/startup-done --- nixos/modules/virtualisation/containers.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 097dd3993eb..9d54ddb9948 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -159,7 +159,7 @@ in # Create a named pipe to get a signal when the container # has finished booting. rm -f $root/var/lib/startup-done - mkfifo $root/var/lib/startup-done + mkfifo -m 0600 $root/var/lib/startup-done ''; script = From da4f180252e9a8f539a019569efc82000ffe5440 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 10 Apr 2014 11:32:50 +0200 Subject: [PATCH 616/880] =?UTF-8?q?Bring=20back=20=E2=80=98nixos-container?= =?UTF-8?q?=20update=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/virtualisation/nixos-container.pl | 71 +++++++++++++------ 1 file changed, 50 insertions(+), 21 deletions(-) diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index e42a3edd024..b6919852b28 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -54,6 +54,25 @@ if ($action eq "list") { my $containerName = $ARGV[1] or die "$0: no container name specified\n"; $containerName =~ /^[a-zA-Z0-9\-]+$/ or die "$0: invalid container name\n"; +sub writeNixOSConfig { + my ($nixosConfigFile) = @_; + + my $nixosConfig = <", + "--set", "-A", "system") == 0 + or die "$0: failed to build container configuration\n"; + + if (isContainerRunning) { + print STDERR "reloading container...\n"; + system("systemctl", "reload", "container\@$containerName") == 0 + or die "$0: failed to reload container\n"; + } +} + elsif ($action eq "login") { - exec($socat, "unix:/var/lib/containers/$containerName/var/lib/login.socket", "-,echo=0,raw"); + exec($socat, "unix:$root/var/lib/login.socket", "-,echo=0,raw"); } elsif ($action eq "root-shell") { - exec($socat, "unix:/var/lib/containers/$containerName/var/lib/root-shell.socket", "-"); + exec($socat, "unix:$root/var/lib/root-shell.socket", "-"); } elsif ($action eq "set-root-password") { # FIXME: don't get password from the command line. my $password = $ARGV[2] or die "$0: no password given\n"; - open(SOCAT, "|-", $socat, "unix:/var/lib/containers/$containerName/var/lib/root-shell.socket", "-"); + open(SOCAT, "|-", $socat, "unix:$root/var/lib/root-shell.socket", "-"); print SOCAT "passwd\n"; print SOCAT "$password\n"; print SOCAT "$password\n"; From ac8c924c0931237461266c2780e744c63880180c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 10 Apr 2014 13:12:34 +0200 Subject: [PATCH 617/880] =?UTF-8?q?nixos-container:=20Add=20=E2=80=98run?= =?UTF-8?q?=E2=80=99=20and=20=E2=80=98root-login=E2=80=99=20commands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit And remove ‘root-shell’. --- .../virtualisation/container-config.nix | 51 +++++++++++++++---- nixos/modules/virtualisation/containers.nix | 2 +- .../modules/virtualisation/nixos-container.pl | 16 ++++-- 3 files changed, 54 insertions(+), 15 deletions(-) diff --git a/nixos/modules/virtualisation/container-config.nix b/nixos/modules/virtualisation/container-config.nix index 3d107899e4f..21e64c8c095 100644 --- a/nixos/modules/virtualisation/container-config.nix +++ b/nixos/modules/virtualisation/container-config.nix @@ -30,29 +30,60 @@ with lib; }; }; - # Provide a non-interactive login root shell on - # /var/lib/root-shell.socket. On the host, you can connect to it - # by running ‘socat unix:/var/lib/root-shell.socket -’. - systemd.sockets.root-shell = - { description = "Root Shell Socket"; + # Also provide a root login prompt on /var/lib/root-login.socket + # that doesn't ask for a password. This socket can only be used by + # root on the host. + systemd.sockets.root-login = + { description = "Root Login Socket"; wantedBy = [ "sockets.target" ]; socketConfig = - { ListenStream = "/var/lib/root-shell.socket"; - SocketMode = "0600"; # only root can connect, obviously + { ListenStream = "/var/lib/root-login.socket"; + SocketMode = "0600"; Accept = true; }; }; - systemd.services."root-shell@" = - { description = "Root Shell %i"; + systemd.services."root-login@" = + { description = "Root Login %i"; + environment.TERM = "linux"; serviceConfig = { Type = "simple"; StandardInput = "socket"; - ExecStart = "${pkgs.bash}/bin/bash --login"; + ExecStart = "${pkgs.socat}/bin/socat -t0 - \"exec:${pkgs.shadow}/bin/login -f root,pty,setsid,setpgid,stderr,ctty\""; TimeoutStopSec = 1; # FIXME }; }; + # Provide a daemon on /var/lib/run-command.socket that reads a + # command from stdin and executes it. + systemd.sockets.run-command = + { description = "Run Command Socket"; + wantedBy = [ "sockets.target" ]; + socketConfig = + { ListenStream = "/var/lib/run-command.socket"; + SocketMode = "0600"; # only root can connect + Accept = true; + }; + }; + + systemd.services."run-command@" = + { description = "Run Command %i"; + environment.TERM = "linux"; + serviceConfig = + { Type = "simple"; + StandardInput = "socket"; + TimeoutStopSec = 1; # FIXME + }; + script = + '' + #! ${pkgs.stdenv.shell} -e + source /etc/bashrc + read c + eval "command=($c)" + exec "''${command[@]}" + ''; + }; + systemd.services.container-startup-done = { description = "Container Startup Notification"; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index 9d54ddb9948..fbdd3f9034c 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -256,7 +256,7 @@ in . "/etc/containers/$INSTANCE.conf" fi echo $SYSTEM_PATH/bin/switch-to-configuration test | \ - ${pkgs.socat}/bin/socat unix:$root/var/lib/root-shell.socket - + ${pkgs.socat}/bin/socat unix:$root/var/lib/run-command.socket - ''; serviceConfig.SyslogIdentifier = "container %i"; diff --git a/nixos/modules/virtualisation/nixos-container.pl b/nixos/modules/virtualisation/nixos-container.pl index b6919852b28..d7e8c7339b6 100644 --- a/nixos/modules/virtualisation/nixos-container.pl +++ b/nixos/modules/virtualisation/nixos-container.pl @@ -19,7 +19,8 @@ Usage: nixos-container list nixos-container start nixos-container stop nixos-container login - nixos-container root-shell + nixos-container root-login + nixos-container run -- args... nixos-container set-root-password nixos-container show-ip EOF @@ -205,14 +206,21 @@ elsif ($action eq "login") { exec($socat, "unix:$root/var/lib/login.socket", "-,echo=0,raw"); } -elsif ($action eq "root-shell") { - exec($socat, "unix:$root/var/lib/root-shell.socket", "-"); +elsif ($action eq "root-login") { + exec($socat, "unix:$root/var/lib/root-login.socket", "-,echo=0,raw"); +} + +elsif ($action eq "run") { + shift @ARGV; shift @ARGV; + open(SOCAT, "|-", $socat, "unix:$root/var/lib/run-command.socket", "-"); + print SOCAT join(' ', map { "'$_'" } @ARGV), "\n"; + close(SOCAT); } elsif ($action eq "set-root-password") { # FIXME: don't get password from the command line. my $password = $ARGV[2] or die "$0: no password given\n"; - open(SOCAT, "|-", $socat, "unix:$root/var/lib/root-shell.socket", "-"); + open(SOCAT, "|-", $socat, "unix:$root/var/lib/run-command.socket", "-"); print SOCAT "passwd\n"; print SOCAT "$password\n"; print SOCAT "$password\n"; From a34bfbab4cac9d7abcab88a47694e1cc32111dba Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 10 Apr 2014 14:23:38 +0200 Subject: [PATCH 618/880] Add option networking.nat.internalInterfaces This allows applying NAT to an interface, rather than an IP range. --- nixos/modules/services/networking/nat.nix | 55 +++++++++++++++++------ 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index ce28f018828..d684d8e3122 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -10,6 +10,8 @@ let cfg = config.networking.nat; + dest = if cfg.externalIP == null then "-j MASQUERADE" else "-j SNAT --to-source ${cfg.externalIP}"; + in { @@ -27,14 +29,27 @@ in ''; }; + networking.nat.internalInterfaces = mkOption { + type = types.listOf types.str; + default = []; + example = [ "eth0" ]; + description = + '' + The interfaces for which to perform NAT. Packets coming from + these interface and destined for the external interface will + be rewritten. + ''; + }; + networking.nat.internalIPs = mkOption { type = types.listOf types.str; - example = [ "192.168.1.0/24" ] ; + default = []; + example = [ "192.168.1.0/24" ]; description = '' The IP address ranges for which to perform NAT. Packets - coming from these networks and destined for the external - interface will be rewritten. + coming from these addresses (on any interface) and destined + for the external interface will be rewritten. ''; }; @@ -80,25 +95,37 @@ in preStart = '' + iptables -t nat -F PREROUTING iptables -t nat -F POSTROUTING iptables -t nat -X - '' - + (concatMapStrings (network: - '' - iptables -t nat -A POSTROUTING \ - -s ${network} -o ${cfg.externalInterface} \ - ${if cfg.externalIP == null - then "-j MASQUERADE" - else "-j SNAT --to-source ${cfg.externalIP}"} - '' - ) cfg.internalIPs) + - '' + + # We can't match on incoming interface in POSTROUTING, so + # mark packets coming from the external interfaces. + ${concatMapStrings (iface: '' + iptables -t nat -A PREROUTING \ + -i '${iface}' -j MARK --set-mark 1 + '') cfg.internalInterfaces} + + # NAT the marked packets. + ${optionalString (cfg.internalInterfaces != []) '' + iptables -t nat -A POSTROUTING -m mark --mark 1 \ + -o ${cfg.externalInterface} ${dest} + ''} + + # NAT packets coming from the internal IPs. + ${concatMapStrings (range: '' + iptables -t nat -A POSTROUTING \ + -s '${range}' -o ${cfg.externalInterface} ${dest}} + '') cfg.internalIPs} + echo 1 > /proc/sys/net/ipv4/ip_forward ''; postStop = '' + iptables -t nat -F PREROUTING iptables -t nat -F POSTROUTING + iptables -t nat -X ''; }; }; From 6a7a8a144fae43fae51232703bf742c8bcee8d67 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 10 Apr 2014 14:57:40 +0200 Subject: [PATCH 619/880] Document NixOS containers --- nixos/doc/manual/containers.xml | 242 ++++++++++++++++++++ nixos/doc/manual/manual.xml | 1 + nixos/modules/virtualisation/containers.nix | 2 + 3 files changed, 245 insertions(+) create mode 100644 nixos/doc/manual/containers.xml diff --git a/nixos/doc/manual/containers.xml b/nixos/doc/manual/containers.xml new file mode 100644 index 00000000000..b8f170fc614 --- /dev/null +++ b/nixos/doc/manual/containers.xml @@ -0,0 +1,242 @@ + + +Containers + +NixOS allows you to easily run other NixOS instances as +containers. Containers are a light-weight +approach to virtualisation that runs software in the container at the +same speed as in the host system. NixOS containers share the Nix store +of the host, making container creation very efficient. + +Currently, NixOS containers are not perfectly isolated +from the host system. This means that a user with root access to the +container can do things that affect the host. So you should not give +container root access to untrusted users. + +NixOS containers can be created in two ways: imperatively, using +the command nixos-container, and declaratively, by +specifying them in your configuration.nix. The +declarative approach implies that containers get upgraded along with +your host system when you run nixos-rebuild, which +is often not what you want. By contrast, in the imperative approach, +containers are configured and updated independently from the host +system. + + +
Imperative container management + +We’ll cover imperative container management using +nixos-container first. You create a container with +identifier foo as follows: + + +$ nixos-container create foo + + +This creates the container’s root directory in +/var/lib/containers/foo and a small configuration +file in /etc/containers/foo.conf. It also builds +the container’s initial system configuration and stores it in +/nix/var/nix/profiles/per-container/foo/system. You +can modify the initial configuration of the container on the command +line. For instance, to create a container that has +sshd running, with the given public key for +root: + + +$ nixos-container create foo --config 'services.openssh.enable = true; \ + users.extraUsers.root.openssh.authorizedKeys.keys = ["ssh-dss AAAAB3N…"];' + + + + +Creating a container does not start it. To start the container, +run: + + +$ nixos-container start foo + + +This command will return as soon as the container has booted and has +reached multi-user.target. On the host, the +container runs within a systemd unit called +container@container-name.service. +Thus, if something went wrong, you can get status info using +systemctl: + + +$ systemctl status container@foo + + + + +If the container has started succesfully, you can log in as +root using the root-login operation: + + +$ nixos-container root-login foo +[root@foo:~]# + + +Note that only root on the host can do this (since there is no +authentication). You can also get a regular login prompt using the +login operation, which is available to all users on +the host: + + +$ nixos-container login foo +foo login: alice +Password: *** + + +With nixos-container run, you can execute arbitrary +commands in the container: + + +$ nixos-container run foo -- uname -a +Linux foo 3.4.82 #1-NixOS SMP Thu Mar 20 14:44:05 UTC 2014 x86_64 GNU/Linux + + + + +There are several ways to change the configuration of the +container. First, on the host, you can edit +/var/lib/container/name/etc/nixos/configuration.nix, +and run + + +$ nixos-container update foo + + +This will build and activate the new configuration. You can also +specify a new configuration on the command line: + + +$ nixos-container update foo --config 'services.httpd.enable = true; \ + services.httpd.adminAddr = "foo@example.org";' + +$ curl http://$(nixos-container show-ip foo)/ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">… + + +However, note that this will overwrite the container’s +/etc/nixos/configuration.nix. + +Alternatively, you can change the configuration from within the +container itself by running nixos-rebuild switch +inside the container. Note that the container by default does not have +a copy of the NixOS channel, so you should run nix-channel +--update first. + +Containers can be stopped and started using +nixos-container stop and nixos-container +start, respectively, or by using +systemctl on the container’s service unit. To +destroy a container, including its file system, do + + +$ nixos-container destroy foo + + + + +
+ + +
Declarative container specification + +You can also specify containers and their configuration in the +host’s configuration.nix. For example, the +following specifies that there shall be a container named +database running PostgreSQL: + + +containers.database = + { config = + { config, pkgs, ... }: + { services.postgresql.enable = true; + services.postgresql.package = pkgs.postgresql92; + }; + }; + + +If you run nixos-rebuild switch, the container will +be built and started. If the container was already running, it will be +updated in place, without rebooting. + +By default, declarative containers share the network namespace +of the host, meaning that they can listen on (privileged) +ports. However, they cannot change the network configuration. You can +give a container its own network as follows: + + +containers.database = + { privateNetwork = true; + hostAddress = "192.168.100.10"; + localAddress = "192.168.100.11"; + }; + + +This gives the container a private virtual Ethernet interface with IP +address 192.168.100.11, which is hooked up to a +virtual Ethernet interface on the host with IP address +192.168.100.10. (See the next section for details +on container networking.) + +To disable the container, just remove it from +configuration.nix and run nixos-rebuild +switch. Note that this will not delete the root directory of +the container in /var/lib/containers. + +
+ + +
Networking + +When you create a container using nixos-container +create, it gets it own private IPv4 address in the range +10.233.0.0/16. You can get the container’s IPv4 +address as follows: + + +$ nixos-container show-ip foo +10.233.4.2 + +$ ping -c1 10.233.4.2 +64 bytes from 10.233.4.2: icmp_seq=1 ttl=64 time=0.106 ms + + + + +Networking is implemented using a pair of virtual Ethernet +devices. The network interface in the container is called +eth0, while the matching interface in the host is +called c-container-name +(e.g., c-foo). The container has its own network +namespace and the CAP_NET_ADMIN capability, so it +can perform arbitrary network configuration such as setting up +firewall rules, without affecting or having access to the host’s +network. + +By default, containers cannot talk to the outside network. If +you want that, you should set up Network Address Translation (NAT) +rules on the host to rewrite container traffic to use your external +IP address. This can be accomplished using the following configuration +on the host: + + +networking.nat.enable = true; +networking.nat.internalInterfaces = ["c-+"]; +networking.nat.externalInterface = "eth0"; + +where eth0 should be replaced with the desired +external interface. Note that c-+ is a wildcard +that matches all container interfaces. + +
+ + +
+ diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml index f9775f4f017..5753a8ff9e7 100644 --- a/nixos/doc/manual/manual.xml +++ b/nixos/doc/manual/manual.xml @@ -54,6 +54,7 @@ + diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index fbdd3f9034c..c53bd7d3509 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -281,6 +281,8 @@ in ''; }) config.containers; + # FIXME: auto-start containers. + # Generate /etc/hosts entries for the containers. networking.extraHosts = concatStrings (mapAttrsToList (name: cfg: optionalString (cfg.localAddress != null) '' From 8aa84644f9ffaed98b73706c2822ba06955c5c60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carles=20Pag=C3=A8s?= Date: Wed, 9 Apr 2014 22:32:11 +0200 Subject: [PATCH 620/880] libtxc_dxtn_s2tc: add v1.0 (close #2194) S2TC is a patent-free S3TC compatible implementation and provides texture compression to mesa. --- .../libraries/libtxc_dxtn_s2tc/default.nix | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix diff --git a/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix b/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix new file mode 100644 index 00000000000..86f5029e9a5 --- /dev/null +++ b/pkgs/development/libraries/libtxc_dxtn_s2tc/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, autoreconfHook, mesa }: + +let version = "1.0"; in + +stdenv.mkDerivation rec { + name = "libtxc_dxtn_s2tc-${version}"; + + src = fetchurl { + url = "https://github.com/divVerent/s2tc/archive/v${version}.tar.gz"; + sha256 = "0ibfdib277fhbqvxzan0bmglwnsl1y1rw2g8skvz82l1sfmmn752"; + }; + + buildInputs = [ autoreconfHook mesa ]; + + meta = { + description = "A patent-free S3TC compatible implementation"; + homepage = https://github.com/divVerent/s2tc; + repositories.git = https://github.com/divVerent/s2tc.git; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.page ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9e8c8487ec2..7e368d1820d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5203,6 +5203,8 @@ let libtxc_dxtn = callPackage ../development/libraries/libtxc_dxtn { }; + libtxc_dxtn_s2tc = callPackage ../development/libraries/libtxc_dxtn_s2tc { }; + libgeotiff = callPackage ../development/libraries/libgeotiff { }; libunistring = callPackage ../development/libraries/libunistring { }; From 297bcd2088d5bd85641aa47c52949a512838a250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 10 Apr 2014 20:37:52 +0200 Subject: [PATCH 621/880] pango on darwin: attempt to fix build Supply older flex (new doesn't build), and disable introspection. --- pkgs/development/libraries/pango/default.nix | 6 +++--- pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index b94a00b1b54..fbf3b0f34d4 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -9,9 +9,9 @@ stdenv.mkDerivation rec { sha256 = "08aqis6j8nd1lb4f2h4h9d9kjvp54iwf8zvqzss0qn4v7nfcjyvx"; }; - buildInputs = [ gobjectIntrospection ] - ++ stdenv.lib.optionals stdenv.isDarwin [ gettext fontconfig ]; - + buildInputs = with stdenv.lib; + optional (!stdenv.isDarwin) gobjectIntrospection # build problems + ++ optionals stdenv.isDarwin [ gettext fontconfig ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7e368d1820d..c9336b254fc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4564,7 +4564,9 @@ let }; cairomm = callPackage ../development/libraries/cairomm { }; - pango = callPackage ../development/libraries/pango { }; + pango = callPackage ../development/libraries/pango ( + lib.optionalAttrs stdenv.isDarwin { flex = flex_2_5_35; } # flex fails to build + ); pangomm = callPackage ../development/libraries/pangomm { }; pangox_compat = callPackage ../development/libraries/pangox-compat { }; From 88691049ae48f07503daecae2ea317bfa83ea29d Mon Sep 17 00:00:00 2001 From: Jaka Hudoklin Date: Thu, 10 Apr 2014 20:40:38 +0200 Subject: [PATCH 622/880] postgresql93: fix darwin builds ossp-uuid does not build on darwin --- pkgs/servers/sql/postgresql/9.3.x.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/9.3.x.nix b/pkgs/servers/sql/postgresql/9.3.x.nix index 3b5c820c94d..672eeb8da6e 100644 --- a/pkgs/servers/sql/postgresql/9.3.x.nix +++ b/pkgs/servers/sql/postgresql/9.3.x.nix @@ -1,5 +1,7 @@ { stdenv, fetchurl, zlib, readline, libossp_uuid }: +with stdenv.lib; + let version = "9.3.3"; in stdenv.mkDerivation rec { @@ -10,13 +12,13 @@ stdenv.mkDerivation rec { sha256 = "e925d8abe7157bd8bece6b7c0dd0c343d87a2b4336f85f4681ce596af99c3879"; }; - buildInputs = [ zlib readline libossp_uuid ]; + buildInputs = [ zlib readline ] ++ optionals (!stdenv.isDarwin) [ libossp_uuid ]; enableParallelBuilding = true; makeFlags = [ "world" ]; - configureFlags = + configureFlags = optional (!stdenv.isDarwin) '' --with-ossp-uuid ''; From 07dc578572a2d0cad3a9c531c91d4e86e5446d86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 10 Apr 2014 21:19:40 +0200 Subject: [PATCH 623/880] llvm(Packages) on darwin: attempts to fix - mark llvm34 as broken on darwin (so it doesn't install by default with nix-env) - don't use our gcc for llvm_34 (might fix the build) - switch also clang default to 3.3 on darwin (llvm was before) --- pkgs/development/compilers/llvm/3.4/llvm.nix | 1 + pkgs/top-level/all-packages.nix | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix index 7f58abea1fa..fad11b7a123 100644 --- a/pkgs/development/compilers/llvm/3.4/llvm.nix +++ b/pkgs/development/compilers/llvm/3.4/llvm.nix @@ -54,5 +54,6 @@ in stdenv.mkDerivation rec { license = stdenv.lib.licenses.bsd3; maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ]; platforms = stdenv.lib.platforms.all; + broken = stdenv.isDarwin; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c9336b254fc..fff43792fcc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2424,7 +2424,7 @@ let clangUnwrapped = llvm: pkg: callPackage pkg { stdenv = if stdenv.isDarwin then stdenvAdapters.overrideGCC stdenv gccApple - else stdenvAdapters.overrideGCC stdenv gcc48; + else stdenv; llvm = llvm; }; @@ -2926,10 +2926,9 @@ let lessc = callPackage ../development/compilers/lessc { }; - llvm = if stdenv.isDarwin then llvm_33 # until someone solves build problems with _34 - else llvmPackages.llvm; + llvm = llvmPackages.llvm; - llvm_34 = llvmPackages.llvm; + llvm_34 = llvmPackages_34.llvm; llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix; llvm_32 = llvm_v ../development/compilers/llvm/3.2; llvm_31 = llvm_v ../development/compilers/llvm/3.1; @@ -2940,12 +2939,14 @@ let else stdenv; }; - llvmPackages = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { - inherit newScope fetchurl; + llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else { + # until someone solves build problems with _34 + llvm = llvm_33; + clang = clang_33; + }; + llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { + inherit stdenv newScope fetchurl; isl = isl_0_12; - stdenv = if stdenv.isDarwin - then stdenvAdapters.overrideGCC stdenv gcc48 - else stdenv; }); llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; }; From 7839df9a092570cfd7e5db2f3fc895ed0ada7aea Mon Sep 17 00:00:00 2001 From: vi Date: Fri, 11 Apr 2014 10:20:21 +0800 Subject: [PATCH 624/880] New derivation: language-c-inline (haskell) --- .../haskell/language-c-inline/default.nix | 15 +++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/development/libraries/haskell/language-c-inline/default.nix diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix new file mode 100644 index 00000000000..9e57490db34 --- /dev/null +++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix @@ -0,0 +1,15 @@ +{ cabal, filepath, languageCQuote, mainlandPretty }: + +cabal.mkDerivation (self: { + pname = "language-c-inline"; + version = "0.3.0.1"; + sha256 = "0dw1fqwg9hhwgvak0ykhafbxp4gnb2ww9lc83m8kzkyzn1ccb6hg"; + buildDepends = [ filepath languageCQuote mainlandPretty ]; + doCheck = false; + meta = { + homepage = "https://github.com/mchakravarty/language-c-inline/"; + description = "Inline C & Objective-C code in Haskell for language interoperability"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 81e894db95e..2d837ec8433 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1601,6 +1601,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x knob = callPackage ../development/libraries/haskell/knob {}; languageC = callPackage ../development/libraries/haskell/language-c {}; + + languageCInline = callPackage ../development/libraries/haskell/language-c-inline {}; languageCQuote = callPackage ../development/libraries/haskell/language-c-quote {}; From 31f375532759e5ace6ed3738011e2028bbebabc6 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Fri, 11 Apr 2014 11:08:22 +0400 Subject: [PATCH 625/880] Adding TCPFlow: a tool to separate tcp streams when capturing --- pkgs/tools/networking/tcpflow/default.nix | 29 +++++++++++++++++++ .../tools/networking/tcpflow/default.upstream | 1 + pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 32 insertions(+) create mode 100644 pkgs/tools/networking/tcpflow/default.nix create mode 100644 pkgs/tools/networking/tcpflow/default.upstream diff --git a/pkgs/tools/networking/tcpflow/default.nix b/pkgs/tools/networking/tcpflow/default.nix new file mode 100644 index 00000000000..9c5f6f44ae0 --- /dev/null +++ b/pkgs/tools/networking/tcpflow/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl, openssl, zlib, libpcap, boost, cairo}: +let + s = # Generated upstream information + rec { + baseName="tcpflow"; + version="1.4.4"; + name="${baseName}-${version}"; + hash="0k2lxlvn1x8avkrijc22scrj4p2g5agfskbgfc2d0w9zgrg61xdn"; + url="http://www.digitalcorpora.org/downloads/tcpflow/tcpflow-1.4.4.tar.gz"; + sha256="0k2lxlvn1x8avkrijc22scrj4p2g5agfskbgfc2d0w9zgrg61xdn"; + }; + buildInputs = [ + openssl zlib libpcap boost cairo + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + meta = { + inherit (s) version; + description = ''TCP stream extractor''; + license = stdenv.lib.licenses.gpl3 ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/networking/tcpflow/default.upstream b/pkgs/tools/networking/tcpflow/default.upstream new file mode 100644 index 00000000000..72802e4d046 --- /dev/null +++ b/pkgs/tools/networking/tcpflow/default.upstream @@ -0,0 +1 @@ +url http://www.digitalcorpora.org/downloads/tcpflow/ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fff43792fcc..583a51a5e70 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2035,6 +2035,8 @@ let tcpcrypt = callPackage ../tools/security/tcpcrypt { }; tcpdump = callPackage ../tools/networking/tcpdump { }; + + tcpflow = callPackage ../tools/networking/tcpflow { }; teamviewer = callPackage_i686 ../applications/networking/remote/teamviewer { }; From d65daf11b0706c1289f761133f37f5066132b949 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:22 +0200 Subject: [PATCH 626/880] haskell-HTF: update to version 0.11.3.4 --- pkgs/development/libraries/haskell/HTF/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix index 041c619850a..aeb80822f61 100644 --- a/pkgs/development/libraries/haskell/HTF/default.nix +++ b/pkgs/development/libraries/haskell/HTF/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "HTF"; - version = "0.11.3.0"; - sha256 = "0kw0yxmxr3whi6cvrxnrpzyikbjqwvcram5mjc27b46k2p38zxpj"; + version = "0.11.3.4"; + sha256 = "0db47fvp33k83dnhvpygprm06p3z397f5ci154vqk7krjpxb2ynx"; isLibrary = true; isExecutable = true; buildDepends = [ From 6c0ce0abf7c6a52178b5909da4b583525ae63bde Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:24 +0200 Subject: [PATCH 627/880] haskell-active: update to version 0.1.0.11 --- pkgs/development/libraries/haskell/active/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix index 99e217ba647..168b555bd4a 100644 --- a/pkgs/development/libraries/haskell/active/default.nix +++ b/pkgs/development/libraries/haskell/active/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "active"; - version = "0.1.0.10"; - sha256 = "173ri9hv86sjfp3a0jp1y3v8rz0lfb6nz3yilcfvgc9sglcxa4bm"; + version = "0.1.0.11"; + sha256 = "0acm039s8aja54r66y6m456x49g8w3adyx1zs7yv1h6xyy7v7gcv"; buildDepends = [ newtype semigroupoids semigroups vectorSpace ]; testDepends = [ newtype QuickCheck semigroupoids semigroups vectorSpace From b0d1df0f8fbe6f245ab7c0f3778a06388e235303 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:25 +0200 Subject: [PATCH 628/880] haskell-aws: update to version 0.9 --- .../libraries/haskell/aws/default.nix | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/pkgs/development/libraries/haskell/aws/default.nix b/pkgs/development/libraries/haskell/aws/default.nix index de7377c7532..7394583c667 100644 --- a/pkgs/development/libraries/haskell/aws/default.nix +++ b/pkgs/development/libraries/haskell/aws/default.nix @@ -1,23 +1,22 @@ -{ cabal, aeson, attempt, attoparsecConduit, base16Bytestring -, base64Bytestring, blazeBuilder, caseInsensitive, cereal, conduit -, cryptoApi, cryptohash, cryptohashCryptoapi, dataDefault, failure -, filepath, httpConduit, httpTypes, liftedBase, monadControl, mtl -, resourcet, text, time, transformers, unorderedContainers -, utf8String, vector, xmlConduit +{ cabal, aeson, base16Bytestring, base64Bytestring, blazeBuilder +, byteable, caseInsensitive, cereal, conduit, conduitExtra +, cryptohash, dataDefault, filepath, httpConduit, httpTypes +, liftedBase, monadControl, mtl, resourcet, text, time +, transformers, unorderedContainers, utf8String, vector, xmlConduit }: cabal.mkDerivation (self: { pname = "aws"; - version = "0.8.6"; - sha256 = "19hjwj15zmhmf33n2d2dkwan59ylwkaslh85sh04v05hsm8y5y1a"; + version = "0.9"; + sha256 = "07sdz179vqfdcnm6rrdg068xdyqw8m2565bdba5a1s987vdvps21"; isLibrary = true; isExecutable = true; buildDepends = [ - aeson attempt attoparsecConduit base16Bytestring base64Bytestring - blazeBuilder caseInsensitive cereal conduit cryptoApi cryptohash - cryptohashCryptoapi dataDefault failure filepath httpConduit - httpTypes liftedBase monadControl mtl resourcet text time - transformers unorderedContainers utf8String vector xmlConduit + aeson base16Bytestring base64Bytestring blazeBuilder byteable + caseInsensitive cereal conduit conduitExtra cryptohash dataDefault + filepath httpConduit httpTypes liftedBase monadControl mtl + resourcet text time transformers unorderedContainers utf8String + vector xmlConduit ]; meta = { homepage = "http://github.com/aristidb/aws"; From 6cbf27406d14d57ade63a19a298e0aaeeba3147b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:26 +0200 Subject: [PATCH 629/880] haskell-binary-conduit: update to version 1.2.1.1 --- .../libraries/haskell/binary-conduit/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/haskell/binary-conduit/default.nix b/pkgs/development/libraries/haskell/binary-conduit/default.nix index 0149fcabe72..4126910db75 100644 --- a/pkgs/development/libraries/haskell/binary-conduit/default.nix +++ b/pkgs/development/libraries/haskell/binary-conduit/default.nix @@ -1,14 +1,14 @@ { cabal, binary, conduit, hspec, QuickCheck, quickcheckAssertions -, vector +, resourcet, vector }: cabal.mkDerivation (self: { pname = "binary-conduit"; - version = "1.2"; - sha256 = "1m58zgmivapn51gs5983vpsivzkki94kkac014mwvnp90q46nkvx"; - buildDepends = [ binary conduit vector ]; + version = "1.2.1.1"; + sha256 = "0f6ki793fbgxpsqadfj796b4rbv6zhn4v4rrd48r48zzw9hmxmzd"; + buildDepends = [ binary conduit resourcet vector ]; testDepends = [ - binary conduit hspec QuickCheck quickcheckAssertions + binary conduit hspec QuickCheck quickcheckAssertions resourcet ]; meta = { homepage = "http://github.com/qnikst/binary-conduit"; From 3dd79d7e62a767f9e698c63cc82912c670eb13bf Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:27 +0200 Subject: [PATCH 630/880] haskell-classy-prelude-conduit: update to version 0.9.0 --- .../libraries/haskell/classy-prelude-conduit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix index d128ee0a5a4..5324054423b 100644 --- a/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude-conduit/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "classy-prelude-conduit"; - version = "0.8.1"; - sha256 = "16wiii630ivcsxrjkmks995lcn0q0plmzbg4h08g5mdgscql2ax1"; + version = "0.9.0"; + sha256 = "1lvi5n2km6l2saspiczpkvaq6670bp658kn83s334h6s6wlba3dz"; buildDepends = [ classyPrelude conduit conduitCombinators monadControl resourcet systemFileio transformers void From 820757f40293d5fba60a0a0b04d43810168129a9 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:28 +0200 Subject: [PATCH 631/880] haskell-classy-prelude: update to version 0.9.0 --- pkgs/development/libraries/haskell/classy-prelude/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix index e9b6d71eeb3..4c142a23f3a 100644 --- a/pkgs/development/libraries/haskell/classy-prelude/default.nix +++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "classy-prelude"; - version = "0.8.3.1"; - sha256 = "1mszblcww2pqy1zybib7rd4y6sqbd5nih0zzfi9zb69bwwb7mjai"; + version = "0.9.0"; + sha256 = "1y4440jy7x9ns4kyb638f5lfa1h3vq3wwcwzkpswr8rf8f7z1bj6"; buildDepends = [ basicPrelude chunkedData enclosedExceptions hashable liftedBase monoTraversable semigroups stm systemFilepath text time From 73b6fdefa8597d937ee640dbf0fb8df6a2f71d51 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:29 +0200 Subject: [PATCH 632/880] haskell-criterion: update to version 0.8.0.2 --- pkgs/development/libraries/haskell/criterion/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/criterion/default.nix b/pkgs/development/libraries/haskell/criterion/default.nix index ba8f1b70c77..e106138ef24 100644 --- a/pkgs/development/libraries/haskell/criterion/default.nix +++ b/pkgs/development/libraries/haskell/criterion/default.nix @@ -1,15 +1,15 @@ { cabal, aeson, binary, deepseq, filepath, Glob, hastache, mtl -, mwcRandom, parsec, statistics, time, transformers, vector +, mwcRandom, parsec, statistics, text, time, transformers, vector , vectorAlgorithms }: cabal.mkDerivation (self: { pname = "criterion"; - version = "0.8.0.1"; - sha256 = "1f4wsaiyq0zks71jgfx43774vxkf9l362a9kfd2jhsnxx7zkv5sq"; + version = "0.8.0.2"; + sha256 = "126c3i9i88wqs5ihif4kpsc1gdqas57acd8h5jbyfqhgbwi1s7gz"; buildDepends = [ aeson binary deepseq filepath Glob hastache mtl mwcRandom parsec - statistics time transformers vector vectorAlgorithms + statistics text time transformers vector vectorAlgorithms ]; meta = { homepage = "https://github.com/bos/criterion"; From e39071103ea9e226e5a1bc67d6e0e2647a8f8153 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:30 +0200 Subject: [PATCH 633/880] haskell-diagrams-core: update to version 1.1.0.2 --- pkgs/development/libraries/haskell/diagrams/core.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/diagrams/core.nix b/pkgs/development/libraries/haskell/diagrams/core.nix index 3529faaf6af..eb9207a936f 100644 --- a/pkgs/development/libraries/haskell/diagrams/core.nix +++ b/pkgs/development/libraries/haskell/diagrams/core.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "diagrams-core"; - version = "1.1.0.1"; - sha256 = "1jr827cd3qa631glwc9h247w0wnrx84gj2iwxj18b4y78d0ajz69"; + version = "1.1.0.2"; + sha256 = "1py1dk6w6f00kd48kxbdbxmd3rakxdmwgpb09g346vmkbxkj56mq"; buildDepends = [ dualTree lens MemoTrie monoidExtras newtype semigroups vectorSpace vectorSpacePoints From 5b0bd8e16e03cd4de1fc7e4ea43233c7f1707983 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:31 +0200 Subject: [PATCH 634/880] haskell-fay: update to version 0.19.2 --- pkgs/development/libraries/haskell/fay/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/fay/default.nix b/pkgs/development/libraries/haskell/fay/default.nix index 3af423e5745..f7bf07b4fba 100644 --- a/pkgs/development/libraries/haskell/fay/default.nix +++ b/pkgs/development/libraries/haskell/fay/default.nix @@ -8,8 +8,8 @@ cabal.mkDerivation (self: { pname = "fay"; - version = "0.19.1.2"; - sha256 = "1v6fnyzvs55sf602ja74x5cwkg97rc46ybv8ybrnsg9jvhscynpr"; + version = "0.19.2"; + sha256 = "08lq2x87gsf5szdj613k9h3qxzpb99hjhxnq3vggs2kf0ijp6xmh"; isLibrary = true; isExecutable = true; buildDepends = [ From 8fb3c001ee3dbb3dcac9f06ebdc4495c6a4373db Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:32 +0200 Subject: [PATCH 635/880] haskell-hmatrix: update to version 0.15.2.1 --- pkgs/development/libraries/haskell/hmatrix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix index 51670f63973..bb0c48b9118 100644 --- a/pkgs/development/libraries/haskell/hmatrix/default.nix +++ b/pkgs/development/libraries/haskell/hmatrix/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hmatrix"; - version = "0.15.2.0"; - sha256 = "0rlgyqgl9x08f38nznbv50asbph0zp9dqk0l156hxz792590payl"; + version = "0.15.2.1"; + sha256 = "0pcs3dsxmaznsb82r71f4kf7xbwvj94cy1fmyya52nv3nldnk1jg"; buildDepends = [ binary deepseq random storableComplex vector ]; extraLibraries = [ blas gsl liblapack ]; meta = { From 47a7805337751d0ec25214c467a18574cc0ac150 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:33 +0200 Subject: [PATCH 636/880] haskell-hxt-xpath: update to version 9.1.2.1 --- pkgs/development/libraries/haskell/hxt-xpath/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/haskell/hxt-xpath/default.nix b/pkgs/development/libraries/haskell/hxt-xpath/default.nix index 91524320ece..73e350bd77b 100644 --- a/pkgs/development/libraries/haskell/hxt-xpath/default.nix +++ b/pkgs/development/libraries/haskell/hxt-xpath/default.nix @@ -8,7 +8,7 @@ cabal.mkDerivation (self: { meta = { homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html"; description = "The XPath modules for HXT"; - license = self.stdenv.lib.licenses.mit; + license = "unknown"; platforms = self.ghc.meta.platforms; }; }) From 237bf0f8b7c55ddf0745e82bbd567e3bce89309d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:35 +0200 Subject: [PATCH 637/880] haskell-language-c: update to version 0.4.4 --- pkgs/development/libraries/haskell/language-c/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix index c415e3a2b93..188ca99a5be 100644 --- a/pkgs/development/libraries/haskell/language-c/default.nix +++ b/pkgs/development/libraries/haskell/language-c/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "language-c"; - version = "0.4.3"; - sha256 = "0y5yn0jaairqixxqx7c80z5y5mc6czshps7wghjci1s39mn9cjf6"; + version = "0.4.4"; + sha256 = "0pfadijrcfvxvdrwk8n54pqvpmi4qa5w7s0l9shxbkvpj0dmnp50"; buildDepends = [ filepath syb ]; buildTools = [ alex happy ]; meta = { From 977aa979bf7c02b350018a9b0eb6bd34520629d1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:37 +0200 Subject: [PATCH 638/880] haskell-quickcheck-instances: update to version 0.3.8 --- .../libraries/haskell/quickcheck-instances/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix index 00ea65388fd..b45fab000ca 100644 --- a/pkgs/development/libraries/haskell/quickcheck-instances/default.nix +++ b/pkgs/development/libraries/haskell/quickcheck-instances/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "quickcheck-instances"; - version = "0.3.7"; - sha256 = "0zf2b2zisfx7j7i4jnb79w5hhk5dy53w23fi876flx3vl6mfvszw"; + version = "0.3.8"; + sha256 = "0132a37zi1haz1aaggxa1hr421bcmxlbaa4m2l53m2rmr4z5mgkg"; buildDepends = [ hashable QuickCheck text time unorderedContainers ]; From 37b804f7df01711c8959a59f51e319ceb1181872 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:38 +0200 Subject: [PATCH 639/880] haskell-semigroups: update to version 0.13.0.1 --- pkgs/development/libraries/haskell/semigroups/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/semigroups/default.nix b/pkgs/development/libraries/haskell/semigroups/default.nix index 432eb77ae3e..22dfb5e8896 100644 --- a/pkgs/development/libraries/haskell/semigroups/default.nix +++ b/pkgs/development/libraries/haskell/semigroups/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "semigroups"; - version = "0.12.2"; - sha256 = "0qk6m477iwk17j2a1yfxfkhvfrdv94nnx32zlqjqqxjfbi71c30g"; + version = "0.13.0.1"; + sha256 = "12zd1pvggjj81hi7vm9z8fxcwsg6r2xbsg3qjs8snnybadi0qlfl"; buildDepends = [ hashable nats text unorderedContainers ]; meta = { homepage = "http://github.com/ekmett/semigroups/"; From 9b2b87379c76ddb9d49f022c9e728710ea2b5c31 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:39 +0200 Subject: [PATCH 640/880] haskell-tf-random: update to version 0.5 --- pkgs/development/libraries/haskell/tf-random/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/tf-random/default.nix b/pkgs/development/libraries/haskell/tf-random/default.nix index 3ff0b2d9b84..79e27f87fc6 100644 --- a/pkgs/development/libraries/haskell/tf-random/default.nix +++ b/pkgs/development/libraries/haskell/tf-random/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "tf-random"; - version = "0.4"; - sha256 = "0yi7699zswpsn9a39ccqkyd0117sppjnqggclnhs1wm7ql1glc27"; + version = "0.5"; + sha256 = "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"; buildDepends = [ primitive random time ]; meta = { description = "High-quality splittable pseudorandom number generator"; From 967027576bb4e60a74b30c219249a29fbd03e976 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:40 +0200 Subject: [PATCH 641/880] haskell-thyme: update to version 0.3.3.0 --- pkgs/development/libraries/haskell/thyme/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/thyme/default.nix b/pkgs/development/libraries/haskell/thyme/default.nix index fe79454781a..e321f21b2ca 100644 --- a/pkgs/development/libraries/haskell/thyme/default.nix +++ b/pkgs/development/libraries/haskell/thyme/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "thyme"; - version = "0.3.2.0"; - sha256 = "1jrhqrvmkq8n943l6dkyszg4qz47jbddr80qg7k51a9nrg8fins4"; + version = "0.3.3.0"; + sha256 = "0mpwwpc82xcdyawz87rcmvga1miw7cx538nnh379m2ibn0g71zaa"; buildDepends = [ aeson attoparsec deepseq mtl profunctors QuickCheck random text time vector vectorSpace From a72ef2976c2b4f55d9173693ee9de06e0594dccd Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:41 +0200 Subject: [PATCH 642/880] haskell-yesod-auth: update to version 1.3.0.4 --- pkgs/development/libraries/haskell/yesod-auth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix index 93e1bb9cadd..182e6bcf5b2 100644 --- a/pkgs/development/libraries/haskell/yesod-auth/default.nix +++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix @@ -9,8 +9,8 @@ cabal.mkDerivation (self: { pname = "yesod-auth"; - version = "1.3.0.2"; - sha256 = "1lx9xz5jrr63256w64isndwr323khsyyn8ah1iv1vy7n54y9afpk"; + version = "1.3.0.4"; + sha256 = "0r4xhr9xg6n3jxpj3mrcaf4mgzz8h4is772k84sgnir5my9lrsr7"; buildDepends = [ aeson authenticate base16Bytestring blazeHtml blazeMarkup cryptohash dataDefault emailValidate fileEmbed hamlet httpConduit From 8c3a7ea68cb0784c13816c47904a95e09db2a35e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:42 +0200 Subject: [PATCH 643/880] haskell-yesod-form: update to version 1.3.8.2 --- pkgs/development/libraries/haskell/yesod-form/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix index a67eccb00c2..42e1f13242e 100644 --- a/pkgs/development/libraries/haskell/yesod-form/default.nix +++ b/pkgs/development/libraries/haskell/yesod-form/default.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "yesod-form"; - version = "1.3.8.1"; - sha256 = "0cyvyr3whrbswawv5rcfmq9nhk3kf4d3vgfm8z01prcqdsc4yh21"; + version = "1.3.8.2"; + sha256 = "0sx2rk4z4hzwz3nzcg487wm5bdpdm612ikp0slfph1wkzc39h12a"; buildDepends = [ aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable dataDefault emailValidate hamlet network persistent resourcet From cf000e0d0fffa14b9c86621ed858da07eaaee2f1 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 12:56:43 +0200 Subject: [PATCH 644/880] haskell-yesod-persistent: update to version 1.2.2.3 --- .../libraries/haskell/yesod-persistent/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix index a96db23f952..432adeee9af 100644 --- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix +++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "yesod-persistent"; - version = "1.2.2.2"; - sha256 = "112wr85k8a7ah1m5s8b9h1dm3hbglckdhngp12d67rccrr4mmgjq"; + version = "1.2.2.3"; + sha256 = "1699grrxb1qwfiivh9ihnczkcbwl4gcqdk7m02lc09r9gjr920p8"; buildDepends = [ blazeBuilder conduit persistent persistentTemplate resourcePool resourcet transformers yesodCore From b62ac3995c5ceddc35c45b043d1efc956156995a Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Thu, 10 Apr 2014 23:30:31 +0200 Subject: [PATCH 645/880] haskell-hastache: remove obsolete version 0.5.1 --- .../libraries/haskell/hastache/0.5.1.nix | 19 ------------------- .../hastache/{0.6.0.nix => default.nix} | 0 pkgs/top-level/haskell-packages.nix | 8 ++------ 3 files changed, 2 insertions(+), 25 deletions(-) delete mode 100644 pkgs/development/libraries/haskell/hastache/0.5.1.nix rename pkgs/development/libraries/haskell/hastache/{0.6.0.nix => default.nix} (100%) diff --git a/pkgs/development/libraries/haskell/hastache/0.5.1.nix b/pkgs/development/libraries/haskell/hastache/0.5.1.nix deleted file mode 100644 index 462c76a487e..00000000000 --- a/pkgs/development/libraries/haskell/hastache/0.5.1.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ cabal, blazeBuilder, filepath, HUnit, ieee754, mtl, syb, text -, transformers, utf8String -}: - -cabal.mkDerivation (self: { - pname = "hastache"; - version = "0.5.1"; - sha256 = "05lm7mjzc1hamxcj8akq06081bhp907hrjdkhas3wzm6ran6rwn3"; - buildDepends = [ - blazeBuilder filepath ieee754 mtl syb text transformers utf8String - ]; - testDepends = [ HUnit mtl syb text ]; - meta = { - homepage = "http://github.com/lymar/hastache"; - description = "Haskell implementation of Mustache templates"; - license = self.stdenv.lib.licenses.bsd3; - platforms = self.ghc.meta.platforms; - }; -}) diff --git a/pkgs/development/libraries/haskell/hastache/0.6.0.nix b/pkgs/development/libraries/haskell/hastache/default.nix similarity index 100% rename from pkgs/development/libraries/haskell/hastache/0.6.0.nix rename to pkgs/development/libraries/haskell/hastache/default.nix diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 81e894db95e..4cd01747167 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -847,9 +847,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x cprngAes = callPackage ../development/libraries/haskell/cprng-aes {}; - criterion = callPackage ../development/libraries/haskell/criterion { - hastache = self.hastache_0_5_1; - }; + criterion = callPackage ../development/libraries/haskell/criterion {}; Crypto = callPackage ../development/libraries/haskell/Crypto {}; @@ -1329,9 +1327,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haskore = callPackage ../development/libraries/haskell/haskore {}; - hastache_0_5_1 = callPackage ../development/libraries/haskell/hastache/0.5.1.nix {}; - hastache_0_6_0 = callPackage ../development/libraries/haskell/hastache/0.6.0.nix {}; - hastache = self.hastache_0_6_0; + hastache = callPackage ../development/libraries/haskell/hastache {}; heredoc = callPackage ../development/libraries/haskell/heredoc {}; From e2e74154e2e286079b75bab18d4e6b2ba7696893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 11 Apr 2014 09:44:47 +0200 Subject: [PATCH 646/880] fix tarball (dragonegg missing in llvmPackages on darwin) --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 583a51a5e70..d3882ee625b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2945,6 +2945,7 @@ let # until someone solves build problems with _34 llvm = llvm_33; clang = clang_33; + dragonegg = null; }; llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { inherit stdenv newScope fetchurl; From 8c12816d594e4cc6ab590012e67cbbaca440e8c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 11 Apr 2014 09:55:46 +0200 Subject: [PATCH 647/880] pango on darwin: amend the wrong fix I didn't realize pango doesn't depend on flex directly, only through introspection which caused build problems by itself, too. --- pkgs/development/libraries/pango/default.nix | 2 +- pkgs/top-level/all-packages.nix | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix index fbf3b0f34d4..2dc71bb2d11 100644 --- a/pkgs/development/libraries/pango/default.nix +++ b/pkgs/development/libraries/pango/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; buildInputs = with stdenv.lib; - optional (!stdenv.isDarwin) gobjectIntrospection # build problems + optional (!stdenv.isDarwin) gobjectIntrospection # build problems of itself and flex ++ optionals stdenv.isDarwin [ gettext fontconfig ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d3882ee625b..64c91fb05bc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4568,9 +4568,7 @@ let }; cairomm = callPackage ../development/libraries/cairomm { }; - pango = callPackage ../development/libraries/pango ( - lib.optionalAttrs stdenv.isDarwin { flex = flex_2_5_35; } # flex fails to build - ); + pango = callPackage ../development/libraries/pango { }; pangomm = callPackage ../development/libraries/pangomm { }; pangox_compat = callPackage ../development/libraries/pangox-compat { }; From f741be954cb408642117f4d63ebf7de7f612c621 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:05:12 +0200 Subject: [PATCH 648/880] Offer consistently named attributes for the two available flex versions. --- .../development/tools/parsing/flex/{default.nix => 2.5.39.nix} | 0 pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) rename pkgs/development/tools/parsing/flex/{default.nix => 2.5.39.nix} (100%) diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/2.5.39.nix similarity index 100% rename from pkgs/development/tools/parsing/flex/default.nix rename to pkgs/development/tools/parsing/flex/2.5.39.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 64c91fb05bc..16e266b59c1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3738,8 +3738,9 @@ let checkstyle = callPackage ../development/tools/analysis/checkstyle { }; - flex = callPackage ../development/tools/parsing/flex { }; flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { }; + flex_2_5_39 = callPackage ../development/tools/parsing/flex/2.5.39.nix { }; + flex = flex_2_5_39; m4 = gnum4; From 6913650adcd72d2f9823bb5a20b8adbcde5c185d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:05:53 +0200 Subject: [PATCH 649/880] maude: use old flex version; the new one causes build errors This issue has been fixed in the latest alpha release. --- pkgs/top-level/all-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 16e266b59c1..589ad51ff49 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3309,6 +3309,7 @@ let maude = callPackage ../development/interpreters/maude { bison = bison2; + flex = flex_2_5_35; }; octave = callPackage ../development/interpreters/octave { From e35c2f6d4c8467de94afcf9187c97730341c30ab Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:06:06 +0200 Subject: [PATCH 650/880] all-packages.nix: drop trailing whitespace --- pkgs/top-level/all-packages.nix | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 589ad51ff49..467d092eab9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1771,7 +1771,7 @@ let cntlm = callPackage ../tools/networking/cntlm { }; pastebinit = callPackage ../tools/misc/pastebinit { }; - + psmisc = callPackage ../os-specific/linux/psmisc { }; pstoedit = callPackage ../tools/graphics/pstoedit { }; @@ -1911,7 +1911,7 @@ let sg3_utils = callPackage ../tools/system/sg3_utils { }; sharutils = callPackage ../tools/archivers/sharutils { }; - + shotwell = callPackage ../applications/graphics/shotwell { }; shebangfix = callPackage ../tools/misc/shebangfix { }; @@ -2035,7 +2035,7 @@ let tcpcrypt = callPackage ../tools/security/tcpcrypt { }; tcpdump = callPackage ../tools/networking/tcpdump { }; - + tcpflow = callPackage ../tools/networking/tcpflow { }; teamviewer = callPackage_i686 ../applications/networking/remote/teamviewer { }; @@ -5144,7 +5144,7 @@ let libpseudo = callPackage ../development/libraries/libpseudo { }; libpwquality = callPackage ../development/libraries/libpwquality { }; - + libqalculate = callPackage ../development/libraries/libqalculate { }; librsvg = callPackage ../development/libraries/librsvg { @@ -6225,7 +6225,7 @@ let perlArchiveCpio = perlPackages.ArchiveCpio; perlcritic = perlPackages.PerlCritic; - + planetary_annihilation = callPackage ../games/planetaryannihilation { }; @@ -7040,8 +7040,8 @@ let cryptodev = callPackage ../os-specific/linux/cryptodev { }; e1000e = callPackage ../os-specific/linux/e1000e {}; - - v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; + + v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; frandom = callPackage ../os-specific/linux/frandom { }; @@ -9722,8 +9722,8 @@ let mars = callPackage ../games/mars { }; micropolis = callPackage ../games/micropolis { }; - - mnemosyne = callPackage ../games/mnemosyne { + + mnemosyne = callPackage ../games/mnemosyne { inherit (pythonPackages) matplotlib cherrypy sqlite3; }; From 846906fc53e5cf1b4d6a893bfbfcc6abf6028451 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 11:09:59 +0200 Subject: [PATCH 651/880] ipsec-tools: fix build by passing old version of flex --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 467d092eab9..8fe3d87190a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1679,7 +1679,7 @@ let { hurd = gnu.hurdCrossIntermediate; }) else null; - ipsecTools = callPackage ../os-specific/linux/ipsec-tools { }; + ipsecTools = callPackage ../os-specific/linux/ipsec-tools { flex = flex_2_5_35; }; patch = gnupatch; From b5773eeccb378026be547cc71d6bf5bcb211945c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 11:41:32 +0200 Subject: [PATCH 652/880] R: update to version 3.1.0 --- pkgs/applications/science/math/R/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index 88f4653cf7b..4a58c15941c 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation rec { - name = "R-3.0.3"; + name = "R-3.1.0"; src = fetchurl { url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz"; - sha256 = "1mp6zp25nycn8bxnnq97gq6n21c6vprm6qc4drwap57j82azsz5r"; + sha256 = "1qjzbw341bvi1h4jwbvdkvq8j0z9l3m85mpgrlfw0n2cz2806s4a"; }; buildInputs = [ blas bzip2 gfortran liblapack libX11 libXmu libXt From ad65a1e064a8fce60232f09b219c52ea2913e8ee Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 11:47:01 +0200 Subject: [PATCH 653/880] Revert "nixos: fix shell on conatiners" This reverts commit c69577b7d6ea96cd605043440145ea6e094674b5. See https://github.com/NixOS/nixpkgs/pull/2198 for further details. --- nixos/modules/programs/shadow.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 7e9133099ed..15b083b72d2 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -94,7 +94,7 @@ in groupmod = { rootOK = true; }; groupmems = { rootOK = true; }; groupdel = { rootOK = true; }; - login = { startSession = !config.boot.isContainer; allowNullPassword = true; showMotd = true; updateWtmp = true; }; + login = { startSession = true; allowNullPassword = true; showMotd = true; updateWtmp = true; }; chpasswd = { rootOK = true; }; chgpasswd = { rootOK = true; }; }; From 2da09363bf49a17ce6ce2ac2d390ee7ca0cc8fa3 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 11 Apr 2014 11:50:37 +0200 Subject: [PATCH 654/880] nix: Update to 1.7 --- nixos/modules/services/misc/nix-daemon.nix | 2 +- pkgs/tools/package-management/nix/default.nix | 6 ++---- pkgs/tools/package-management/nix/hash-check.patch | 14 -------------- pkgs/top-level/all-packages.nix | 3 +++ 4 files changed, 6 insertions(+), 19 deletions(-) delete mode 100644 pkgs/tools/package-management/nix/hash-check.patch diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix index 785d4397347..bbcf290a795 100644 --- a/nixos/modules/services/misc/nix-daemon.nix +++ b/nixos/modules/services/misc/nix-daemon.nix @@ -253,7 +253,7 @@ in config = { - nix.chrootDirs = [ "/dev" "/dev/pts" "/proc" "/bin" ]; + nix.chrootDirs = [ "/bin" ]; environment.etc."nix/nix.conf".source = nixConf; diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index b02d80078aa..16a276273cc 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -5,15 +5,13 @@ }: stdenv.mkDerivation rec { - name = "nix-1.6.1"; + name = "nix-1.7"; src = fetchurl { url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz"; - sha256 = "31d15f99b2405924a4be278334cc973a71999303631e6798c1d294db9be4bf84"; + sha256 = "349163654f2ae3e1a17fb3da7ed164a4cac153728bbe9a26764e17556d3dcc92"; }; - patches = [ ./hash-check.patch ]; - nativeBuildInputs = [ perl pkgconfig ]; buildInputs = [ curl openssl boehmgc sqlite ]; diff --git a/pkgs/tools/package-management/nix/hash-check.patch b/pkgs/tools/package-management/nix/hash-check.patch deleted file mode 100644 index 421ebb70a4f..00000000000 --- a/pkgs/tools/package-management/nix/hash-check.patch +++ /dev/null @@ -1,14 +0,0 @@ -commit 11cb4bfb257f18c906ef1d6f14ed450be8fa49fe upstream - -diff --git a/src/libstore/build.cc b/src/libstore/build.cc -index dcd7343..4329d9a 100644 ---- a/src/libstore/build.cc -+++ b/src/libstore/build.cc -@@ -2749,6 +2749,7 @@ void SubstitutionGoal::finished() - logPipe.readSide.close(); - - /* Get the hash info from stdout. */ -+ string dummy = readLine(outPipe.readSide); - string expectedHashStr = statusOk(status) ? readLine(outPipe.readSide) : ""; - outPipe.readSide.close(); - diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8fe3d87190a..0d2caf45b10 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10510,10 +10510,13 @@ let stateDir = config.nix.stateDir or "/nix/var"; }; + nixUnstable = nixStable; + /* nixUnstable = callPackage ../tools/package-management/nix/unstable.nix { storeDir = config.nix.storeDir or "/nix/store"; stateDir = config.nix.stateDir or "/nix/var"; }; + */ nixops = callPackage ../tools/package-management/nixops { }; From ed82f188f9aa44d37212235e54d3be995ddc233f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 11 Apr 2014 12:54:44 +0200 Subject: [PATCH 655/880] nix-repl: Update --- pkgs/tools/package-management/nix-repl/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/package-management/nix-repl/default.nix b/pkgs/tools/package-management/nix-repl/default.nix index 648abe882c4..f812ea58a0b 100644 --- a/pkgs/tools/package-management/nix-repl/default.nix +++ b/pkgs/tools/package-management/nix-repl/default.nix @@ -7,8 +7,8 @@ stdenv.mkDerivation rec { src = fetchgit { url = https://github.com/edolstra/nix-repl.git; - rev = "81d658fe4afda234028cd4551e12491db4303957"; - sha256 = "067mj8as99n0hkrr2qss3y3hnr8c5zy4n8bqx3z900n3j43cwzyc"; + rev = "1734e8a1491ef831c83c2620b6b0f4a590b67c1f"; + sha256 = "12fld2780jh3ww2n59s9z7afwjkmfhwh4dqn3wjva4ff8fx3n0mf"; }; buildInputs = [ nix readline boehmgc ]; @@ -21,8 +21,9 @@ stdenv.mkDerivation rec { mkdir -p $out/bin g++ -O3 -Wall -std=c++0x \ -o $out/bin/nix-repl nix-repl.cc \ - -I${nix}/include/nix -L${nix}/lib/nix \ - -lformat -lutil -lstore -lexpr -lmain -lreadline -lgc + -I${nix}/include/nix \ + -lnixformat -lnixutil -lnixstore -lnixexpr -lnixmain -lreadline -lgc \ + -DNIX_VERSION=${(builtins.parseDrvName nix.name).version} ''; meta = { From 62521d9ec65ac7fef9f67b45e101411f8b300d8a Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Sun, 2 Feb 2014 20:15:38 +0100 Subject: [PATCH 656/880] openttd: upgrade to 1.4.0 --- pkgs/games/openttd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix index 6b385bc2e56..7e2b4221d52 100644 --- a/pkgs/games/openttd/default.nix +++ b/pkgs/games/openttd/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "openttd-${version}"; - version = "1.3.3"; + version = "1.4.0"; src = fetchurl { url = "http://binaries.openttd.org/releases/${version}/${name}-source.tar.xz"; - sha256 = "0pfagqw8i1c6zrzarlwivrcac8b8ai1inam9qc01hj3h04nfv4b9"; + sha256 = "0m89pr7m7xg71q1j3869dfrbhv88g90cw9zn0jlpg8crsj4wnnyq"; }; buildInputs = [ SDL libpng pkgconfig xz zlib freetype fontconfig ]; From d87ae02fc1522d5208fcf833156fe9d7cc9ca36a Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Mon, 24 Feb 2014 15:19:23 +0100 Subject: [PATCH 657/880] synergy: upgrade to 1.4.17 --- pkgs/applications/misc/synergy/cryptopp.patch | 51 ++++++++----------- pkgs/applications/misc/synergy/default.nix | 20 ++++---- 2 files changed, 32 insertions(+), 39 deletions(-) diff --git a/pkgs/applications/misc/synergy/cryptopp.patch b/pkgs/applications/misc/synergy/cryptopp.patch index d0aebb87261..1c296423acd 100644 --- a/pkgs/applications/misc/synergy/cryptopp.patch +++ b/pkgs/applications/misc/synergy/cryptopp.patch @@ -1,32 +1,30 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3b61fc0..2206646 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -133,6 +133,9 @@ if (UNIX) +diff -urN synergy-1.4.17-Source/CMakeLists.txt synergy-1.4.17-Source-fix/CMakeLists.txt +--- synergy-1.4.17-Source/CMakeLists.txt 2014-03-14 21:34:19.000000000 +0100 ++++ synergy-1.4.17-Source-fix/CMakeLists.txt 2014-04-11 13:37:18.839338710 +0200 +@@ -145,6 +145,9 @@ check_type_size(long SIZEOF_LONG) check_type_size(short SIZEOF_SHORT) -+ # let's just assume cryptopp exists (provided by the Nix expression) -+ list(APPEND libs cryptopp) ++ # let's just assume cryptopp exists (provided by the Nix expression) ++ list(APPEND libs cryptopp) + # pthread is used on both Linux and Mac check_library_exists("pthread" pthread_create "" HAVE_PTHREAD) if (HAVE_PTHREAD) -@@ -303,7 +306,6 @@ if (VNC_SUPPORT) +@@ -317,7 +320,6 @@ endif() add_subdirectory(src) --add_subdirectory(tools) +-add_subdirectory(ext) if (WIN32) - # add /analyze in order to unconver potential bugs in the source code -diff --git a/src/lib/io/CCryptoMode.h b/src/lib/io/CCryptoMode.h -index 9b7e8ad..0d659ac 100644 ---- a/src/lib/io/CCryptoMode.h -+++ b/src/lib/io/CCryptoMode.h -@@ -17,9 +17,9 @@ - - #pragma once + # TODO: consider using /analyze to uncover potential bugs in the source code. +diff -urN synergy-1.4.17-Source/src/lib/io/CryptoMode_cryptopp.h synergy-1.4.17-Source-fix/src/lib/io/CryptoMode_cryptopp.h +--- synergy-1.4.17-Source/src/lib/io/CryptoMode_cryptopp.h 2014-02-28 13:36:45.000000000 +0100 ++++ synergy-1.4.17-Source-fix/src/lib/io/CryptoMode_cryptopp.h 2014-04-11 13:36:01.111985556 +0200 +@@ -25,6 +25,6 @@ + # pragma GCC system_header + #endif -#include -#include @@ -34,21 +32,14 @@ index 9b7e8ad..0d659ac 100644 +#include +#include +#include - #include "ECryptoMode.h" - #include "CString.h" +diff -urN synergy-1.4.17-Source/src/lib/io/CryptoStream_cryptopp.h synergy-1.4.17-Source-fix/src/lib/io/CryptoStream_cryptopp.h +--- synergy-1.4.17-Source/src/lib/io/CryptoStream_cryptopp.h 2014-02-28 13:36:45.000000000 +0100 ++++ synergy-1.4.17-Source-fix/src/lib/io/CryptoStream_cryptopp.h 2014-04-11 13:36:07.173013005 +0200 +@@ -25,5 +25,5 @@ + # pragma GCC system_header + #endif -diff --git a/src/lib/io/CCryptoStream.h b/src/lib/io/CCryptoStream.h -index 104b1f6..09c4dc4 100644 ---- a/src/lib/io/CCryptoStream.h -+++ b/src/lib/io/CCryptoStream.h -@@ -20,8 +20,8 @@ - #include "BasicTypes.h" - #include "CStreamFilter.h" - #include "CCryptoMode.h" -#include -#include +#include +#include - - class CCryptoOptions; - diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix index c01d67943e5..834b514148b 100644 --- a/pkgs/applications/misc/synergy/default.nix +++ b/pkgs/applications/misc/synergy/default.nix @@ -1,29 +1,31 @@ -{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput -, cryptopp ? null, unzip ? null }: +{ stdenv, fetchurl, cmake, x11, libX11, libXi, libXtst, libXrandr, xinput, curl +, cryptopp ? null, unzip }: assert stdenv.isLinux -> cryptopp != null; -assert !stdenv.isLinux -> unzip != null; with stdenv.lib; stdenv.mkDerivation rec { - name = "synergy-1.4.15"; + name = "synergy-1.4.17"; src = fetchurl { - url = "http://synergy.googlecode.com/files/${name}-Source.tar.gz"; - sha256 = "0l1mxxky9hacyva0npzkgkwg4wkmihzq3abdrds0w5f6is44adv4"; + url = "http://fossfiles.com/synergy/${name}-r2055-Source.tar.gz"; + sha256 = "1mwaapvq9vsm0rdpq99fyzcw6wbp83rg6cylcqcgjjd21c6y9iwm"; }; patches = optional stdenv.isLinux ./cryptopp.patch; - postPatch = if stdenv.isLinux then '' + postPatch = (if stdenv.isLinux then '' sed -i -e '/HAVE_X11_EXTENSIONS_XRANDR_H/c \ set(HAVE_X11_EXTENSIONS_XRANDR_H true)' CMakeLists.txt '' else '' - ${unzip}/bin/unzip -d tools/cryptopp562 tools/cryptopp562.zip + ${unzip}/bin/unzip -d ext/cryptopp562 ext/cryptopp562.zip + '') + '' + ${unzip}/bin/unzip -d ext/gmock-1.6.0 ext/gmock-1.6.0.zip + ${unzip}/bin/unzip -d ext/gtest-1.6.0 ext/gtest-1.6.0.zip ''; - buildInputs = [ cmake x11 libX11 libXi libXtst libXrandr xinput ] + buildInputs = [ cmake x11 libX11 libXi libXtst libXrandr xinput curl ] ++ optional stdenv.isLinux cryptopp; # At this moment make install doesn't work for synergy From 2396e9d036522e4f4aa81a7735ab6241cc5aed88 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 15:21:38 +0200 Subject: [PATCH 658/880] perlPackages.PackageStash: Revert "update from 0.34 to 0.36" This reverts commit 5adbf4d447a4dd1229eaeb0627834e5e444d7083. The update broke the test suite of perl-Moose [1], which is required by Hydra. [1] http://hydra.nixos.org/build/10268974 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index df06b82ab29..a6bd4c82e6e 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6488,10 +6488,10 @@ let self = _self // overrides; _self = with self; { }; PackageStash = buildPerlPackage { - name = "Package-Stash-0.36"; + name = "Package-Stash-0.34"; src = fetchurl { - url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.36.tar.gz; - sha256 = "1wbkdkm5gp5cpp84kr9cbbsrg0v908kxrcg4k86mx8ypgj6g8750"; + url = mirror://cpan/authors/id/D/DO/DOY/Package-Stash-0.34.tar.gz; + sha256 = "1674zs96ndq3czs6v8xkdqqz4fnka0i2835nnns9zbw2q01yirj6"; }; buildInputs = [ DistCheckConflicts TestFatal TestRequires ]; propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation PackageDeprecationManager ]; From b8a6eef6fa4641babc2a05118c955026fea9a44d Mon Sep 17 00:00:00 2001 From: "Ricardo M. Correia" Date: Fri, 11 Apr 2014 16:36:02 +0200 Subject: [PATCH 659/880] gradm: Attempt to fix build failure by using older flex Thanks to @thoughtpolice for noticing and suggesting the fix! --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0d2caf45b10..6685f259061 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6817,7 +6817,9 @@ let gpm = callPackage ../servers/gpm { }; - gradm = callPackage ../os-specific/linux/gradm { }; + gradm = callPackage ../os-specific/linux/gradm { + flex = flex_2_5_35; + }; hdparm = callPackage ../os-specific/linux/hdparm { }; From b9281e6a2dd3252052e69e15609b8e871c97c711 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 11 Apr 2014 16:26:00 +0200 Subject: [PATCH 660/880] Fix NAT module --- nixos/modules/services/networking/nat.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index d684d8e3122..3d3899a5c41 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -115,7 +115,7 @@ in # NAT packets coming from the internal IPs. ${concatMapStrings (range: '' iptables -t nat -A POSTROUTING \ - -s '${range}' -o ${cfg.externalInterface} ${dest}} + -s '${range}' -o ${cfg.externalInterface} ${dest} '') cfg.internalIPs} echo 1 > /proc/sys/net/ipv4/ip_forward From 017408e048ae2419baf0adba424b51d85b063a30 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 11 Apr 2014 16:29:45 +0200 Subject: [PATCH 661/880] =?UTF-8?q?Use=20iptables'=20=E2=80=98-w=E2=80=99?= =?UTF-8?q?=20flag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This prevents errors like "Another app is currently holding the xtables lock" if the firewall and NAT services are starting in parallel. (Longer term, we should probably move to a single service for managing the iptables rules.) --- nixos/modules/services/networking/firewall.nix | 6 +++--- nixos/modules/services/networking/nat.nix | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix index 62d92ba50e1..a1ca5dcdcb1 100644 --- a/nixos/modules/services/networking/firewall.nix +++ b/nixos/modules/services/networking/firewall.nix @@ -32,9 +32,9 @@ let '' # Helper command to manipulate both the IPv4 and IPv6 tables. ip46tables() { - iptables "$@" + iptables -w "$@" ${optionalString config.networking.enableIPv6 '' - ip6tables "$@" + ip6tables -w "$@" ''} } ''; @@ -386,7 +386,7 @@ in # Optionally respond to ICMPv4 pings. ${optionalString cfg.allowPing '' - iptables -A nixos-fw -p icmp --icmp-type echo-request ${optionalString (cfg.pingLimit != null) + iptables -w -A nixos-fw -p icmp --icmp-type echo-request ${optionalString (cfg.pingLimit != null) "-m limit ${cfg.pingLimit} " }-j nixos-fw-accept ''} diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index 3d3899a5c41..7f4094de12f 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -95,26 +95,26 @@ in preStart = '' - iptables -t nat -F PREROUTING - iptables -t nat -F POSTROUTING - iptables -t nat -X + iptables -w -t nat -F PREROUTING + iptables -w -t nat -F POSTROUTING + iptables -w -t nat -X # We can't match on incoming interface in POSTROUTING, so # mark packets coming from the external interfaces. ${concatMapStrings (iface: '' - iptables -t nat -A PREROUTING \ + iptables -w -t nat -A PREROUTING \ -i '${iface}' -j MARK --set-mark 1 '') cfg.internalInterfaces} # NAT the marked packets. ${optionalString (cfg.internalInterfaces != []) '' - iptables -t nat -A POSTROUTING -m mark --mark 1 \ + iptables -w -t nat -A POSTROUTING -m mark --mark 1 \ -o ${cfg.externalInterface} ${dest} ''} # NAT packets coming from the internal IPs. ${concatMapStrings (range: '' - iptables -t nat -A POSTROUTING \ + iptables -w -t nat -A POSTROUTING \ -s '${range}' -o ${cfg.externalInterface} ${dest} '') cfg.internalIPs} @@ -123,9 +123,9 @@ in postStop = '' - iptables -t nat -F PREROUTING - iptables -t nat -F POSTROUTING - iptables -t nat -X + iptables -w -t nat -F PREROUTING + iptables -w -t nat -F POSTROUTING + iptables -w -t nat -X ''; }; }; From 13185280fee4111dc07f794e528fa3a73f421f3a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 11 Apr 2014 17:15:56 +0200 Subject: [PATCH 662/880] Fix tests broken due to the firewall being enabled by default --- .../continuous-integration/jenkins/default.nix | 2 +- nixos/modules/services/networking/avahi-daemon.nix | 4 ++++ nixos/tests/bittorrent.nix | 8 ++++++-- nixos/tests/containers.nix | 4 +++- nixos/tests/firewall.nix | 3 ++- nixos/tests/installer.nix | 2 ++ nixos/tests/ipv6.nix | 1 + nixos/tests/jenkins.nix | 14 ++++++++++---- nixos/tests/mumble.nix | 1 + nixos/tests/mysql-replication.nix | 9 +++++---- nixos/tests/nat.nix | 3 +++ nixos/tests/nfs.nix | 2 ++ nixos/tests/printing.nix | 3 ++- nixos/tests/proxy.nix | 11 +++++------ nixos/tests/quake3.nix | 1 + nixos/tests/tomcat.nix | 9 ++++----- 16 files changed, 52 insertions(+), 25 deletions(-) diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index b264a2e4bb4..23fa32ef511 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -43,7 +43,7 @@ in { default = 8080; type = types.uniq types.int; description = '' - Specifies port number on which the jenkins HTTP interface listens. The default is 8080 + Specifies port number on which the jenkins HTTP interface listens. The default is 8080. ''; }; diff --git a/nixos/modules/services/networking/avahi-daemon.nix b/nixos/modules/services/networking/avahi-daemon.nix index 2256de89630..d7dfca2c8dc 100644 --- a/nixos/modules/services/networking/avahi-daemon.nix +++ b/nixos/modules/services/networking/avahi-daemon.nix @@ -142,6 +142,10 @@ in services.dbus.enable = true; services.dbus.packages = [avahi]; + # Enabling Avahi without exposing it in the firewall doesn't make + # sense. + networking.firewall.allowedUDPPorts = [ 5353 ]; + }; } diff --git a/nixos/tests/bittorrent.nix b/nixos/tests/bittorrent.nix index 6e67edb0b82..f84b65699d3 100644 --- a/nixos/tests/bittorrent.nix +++ b/nixos/tests/bittorrent.nix @@ -33,6 +33,8 @@ in services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; services.httpd.documentRoot = "/tmp"; + + networking.firewall.enable = false; # FIXME: figure out what ports we actually need }; router = @@ -50,11 +52,13 @@ in virtualisation.vlans = [ 2 ]; networking.defaultGateway = nodes.router.config.networking.interfaces.eth2.ipAddress; + networking.firewall.enable = false; }; client2 = { config, pkgs, ... }: { environment.systemPackages = [ pkgs.transmission ]; + networking.firewall.enable = false; }; }; @@ -66,8 +70,8 @@ in # Enable NAT on the router and start miniupnpd. $router->waitForUnit("nat"); $router->succeed( - "iptables -t nat -N MINIUPNPD", - "iptables -t nat -A PREROUTING -i eth1 -j MINIUPNPD", + "iptables -w -t nat -N MINIUPNPD", + "iptables -w -t nat -A PREROUTING -i eth1 -j MINIUPNPD", "echo 1 > /proc/sys/net/ipv4/ip_forward", "miniupnpd -f ${miniupnpdConf nodes}" ); diff --git a/nixos/tests/containers.nix b/nixos/tests/containers.nix index d72e80b71af..06b793ed7ac 100644 --- a/nixos/tests/containers.nix +++ b/nixos/tests/containers.nix @@ -17,6 +17,8 @@ config = { services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; + networking.firewall.allowPing = true; }; }; @@ -65,7 +67,7 @@ $machine->succeed("nixos-container start $id1"); # Execute commands via the root shell. - $machine->succeed("echo uname | nixos-container root-shell $id1") =~ /Linux/; + $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/; $machine->succeed("nixos-container set-root-password $id1 foobar"); # Destroy the containers. diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix index de32b98e5d2..15653dedf3c 100644 --- a/nixos/tests/firewall.nix +++ b/nixos/tests/firewall.nix @@ -17,6 +17,7 @@ { config, pkgs, ... }: { services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; + networking.firewall.enable = false; }; }; @@ -33,7 +34,7 @@ $walled->succeed("curl -v http://localhost/ >&2"); # Connections to the firewalled machine should fail. - $attacker->fail("curl -v http://walled/ >&2"); + $attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2"); $attacker->fail("ping -c 1 walled >&2"); # Outgoing connections/pings should still work. diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index 151458fbd5e..b0c0aa328f0 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -79,6 +79,8 @@ let virtualisation.writableStore = true; virtualisation.pathsInNixDB = channelContents ++ [ pkgs.hello.src ]; virtualisation.memorySize = 768; + + networking.firewall.allowedTCPPorts = [ 80 ]; }; channelContents = [ pkgs.rlwrap ]; diff --git a/nixos/tests/ipv6.nix b/nixos/tests/ipv6.nix index 29d675e180a..48c20d7f5c9 100644 --- a/nixos/tests/ipv6.nix +++ b/nixos/tests/ipv6.nix @@ -12,6 +12,7 @@ { config, pkgs, ... }: { services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; + networking.firewall.allowedTCPPorts = [ 80 ]; }; router = diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix index e6524ec5653..40223482791 100644 --- a/nixos/tests/jenkins.nix +++ b/nixos/tests/jenkins.nix @@ -3,21 +3,27 @@ # 2. jenkins user can be extended on both master and slave # 3. jenkins service not started on slave node { pkgs, ... }: + { nodes = { - master = { pkgs, config, ... }: { - services.jenkins.enable = true; + + master = + { config, pkgs, ... }: + { services.jenkins.enable = true; # should have no effect services.jenkinsSlave.enable = true; users.extraUsers.jenkins.extraGroups = [ "users" ]; }; - slave = { pkgs, config, ... }: { - services.jenkinsSlave.enable = true; + + slave = + { config, pkgs, ... }: + { services.jenkinsSlave.enable = true; users.extraUsers.jenkins.extraGroups = [ "users" ]; }; + }; testScript = '' diff --git a/nixos/tests/mumble.nix b/nixos/tests/mumble.nix index 509742f2899..10658eb5f02 100644 --- a/nixos/tests/mumble.nix +++ b/nixos/tests/mumble.nix @@ -11,6 +11,7 @@ in server = { config, pkgs, ... }: { services.murmur.enable = true; services.murmur.registerName = "NixOS tests"; + networking.firewall.allowedTCPPorts = [ config.services.murmur.port ]; }; client1 = client; diff --git a/nixos/tests/mysql-replication.nix b/nixos/tests/mysql-replication.nix index f8c82f7ce9c..44586322600 100644 --- a/nixos/tests/mysql-replication.nix +++ b/nixos/tests/mysql-replication.nix @@ -15,10 +15,11 @@ in services.mysql.replication.role = "master"; services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; services.mysql.initialScript = pkgs.writeText "initmysql" - '' - create user '${replicateUser}'@'%' identified by '${replicatePassword}'; - grant replication slave on *.* to '${replicateUser}'@'%'; - ''; + '' + create user '${replicateUser}'@'%' identified by '${replicatePassword}'; + grant replication slave on *.* to '${replicateUser}'@'%'; + ''; + networking.firewall.allowedTCPPorts = [ 3306 ]; }; slave1 = diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix index a13714d60a9..259ab99d301 100644 --- a/nixos/tests/nat.nix +++ b/nixos/tests/nat.nix @@ -12,6 +12,7 @@ { client = { config, pkgs, nodes, ... }: { virtualisation.vlans = [ 1 ]; + networking.firewall.allowPing = true; networking.defaultGateway = nodes.router.config.networking.interfaces.eth2.ipAddress; }; @@ -19,6 +20,7 @@ router = { config, pkgs, ... }: { virtualisation.vlans = [ 2 1 ]; + networking.firewall.allowPing = true; networking.nat.enable = true; networking.nat.internalIPs = [ "192.168.1.0/24" ]; networking.nat.externalInterface = "eth1"; @@ -27,6 +29,7 @@ server = { config, pkgs, ... }: { virtualisation.vlans = [ 2 ]; + networking.firewall.enable = false; services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; services.vsftpd.enable = true; diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix index 51abf57e1b7..7bc99aef3b5 100644 --- a/nixos/tests/nfs.nix +++ b/nixos/tests/nfs.nix @@ -13,6 +13,7 @@ let options = "vers=${toString version}"; } ]; + networking.firewall.enable = false; # FIXME: only open statd }; in @@ -31,6 +32,7 @@ in /data 192.168.1.0/255.255.255.0(rw,no_root_squash,no_subtree_check,fsid=0) ''; services.nfs.server.createMountPoints = true; + networking.firewall.enable = false; # FIXME: figure out what ports need to be allowed }; }; diff --git a/nixos/tests/printing.nix b/nixos/tests/printing.nix index 13cc3115d50..b5ca0f25e21 100644 --- a/nixos/tests/printing.nix +++ b/nixos/tests/printing.nix @@ -17,6 +17,7 @@ Allow from all ''; + networking.firewall.allowedTCPPorts = [ 631 ]; }; client = @@ -37,7 +38,7 @@ $client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die; $client->succeed("curl --fail http://localhost:631/"); $client->succeed("curl --fail http://server:631/"); - $server->fail("curl --fail http://client:631/"); + $server->fail("curl --fail --connect-timeout 2 http://client:631/"); # Add a HP Deskjet printer connected via USB to the server. $server->succeed("lpadmin -p DeskjetLocal -v usb://HP/Deskjet%205400%20series?serial=TH93I152S123XY -m 'drv:///sample.drv/deskjet.ppd' -E"); diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix index 3b79c16ea2c..dd64ca02e16 100644 --- a/nixos/tests/proxy.nix +++ b/nixos/tests/proxy.nix @@ -5,12 +5,10 @@ let backend = { config, pkgs, ... }: - { - services.openssh.enable = true; - - services.httpd.enable = true; + { services.httpd.enable = true; services.httpd.adminAddr = "foo@example.org"; services.httpd.documentRoot = "${pkgs.valgrind}/share/doc/valgrind/html"; + networking.firewall.allowedTCPPorts = [ 80 ]; }; in @@ -21,8 +19,7 @@ in { proxy = { config, pkgs, nodes, ... }: - { - services.httpd.enable = true; + { services.httpd.enable = true; services.httpd.adminAddr = "bar@example.org"; services.httpd.extraModules = ["proxy_balancer"]; @@ -50,6 +47,8 @@ in # For testing; don't want to wait forever for dead backend servers. ProxyTimeout 5 ''; + + networking.firewall.allowedTCPPorts = [ 80 ]; }; backend1 = backend; diff --git a/nixos/tests/quake3.nix b/nixos/tests/quake3.nix index fefbd75b4a3..2ebac84ca06 100644 --- a/nixos/tests/quake3.nix +++ b/nixos/tests/quake3.nix @@ -37,6 +37,7 @@ rec { "'+map q3dm7' '+addbot grunt' '+addbot daemia' 2> /tmp/log"; }; nixpkgs.config.packageOverrides = overrides; + networking.firewall.allowedUDPPorts = [ 27960 ]; }; client1 = client; diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix index 6bc88ec82fa..6ec21a72192 100644 --- a/nixos/tests/tomcat.nix +++ b/nixos/tests/tomcat.nix @@ -5,13 +5,12 @@ server = { pkgs, config, ... }: - { - services.tomcat.enable = true; + { services.tomcat.enable = true; services.httpd.enable = true; services.httpd.adminAddr = "foo@bar.com"; - services.httpd.extraSubservices = [ - { serviceType = "tomcat-connector"; } - ]; + services.httpd.extraSubservices = + [ { serviceType = "tomcat-connector"; } ]; + networking.firewall.allowedTCPPorts = [ 80 ]; }; client = { }; From e2bc9a3d14d08ddfaeb08b02065a6adb026e7582 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 11 Apr 2014 17:16:23 +0200 Subject: [PATCH 663/880] Include Archive::Cpio in the installation CD http://hydra.nixos.org/build/10268978 --- nixos/modules/installer/cd-dvd/installation-cd-base.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix index 07c054b391a..74a2f50f027 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix @@ -29,8 +29,9 @@ with pkgs.lib; boot.kernel.sysctl."vm.overcommit_memory" = "1"; # To speed up installation a little bit, include the complete stdenv - # in the Nix store on the CD. - isoImage.storeContents = [ pkgs.stdenv pkgs.busybox ]; + # in the Nix store on the CD. Archive::Cpio is needed for the + # initrd builder. + isoImage.storeContents = [ pkgs.stdenv pkgs.busybox pkgs.perlPackages.ArchiveCpio ]; # EFI booting isoImage.makeEfiBootable = true; From 8026caec43f85dc5c5b0a5f04638157d51f4e7ac Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Fri, 11 Apr 2014 10:34:56 -0500 Subject: [PATCH 664/880] Add c2hsc to haskell-packages.nix --- .../libraries/haskell/c2hsc/default.nix | 20 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/libraries/haskell/c2hsc/default.nix diff --git a/pkgs/development/libraries/haskell/c2hsc/default.nix b/pkgs/development/libraries/haskell/c2hsc/default.nix new file mode 100644 index 00000000000..ac52a88e63b --- /dev/null +++ b/pkgs/development/libraries/haskell/c2hsc/default.nix @@ -0,0 +1,20 @@ +{ cabal, cmdargs, filepath, HStringTemplate, languageC, mtl, split +, transformers +}: + +cabal.mkDerivation (self: { + pname = "c2hsc"; + version = "0.6.5"; + sha256 = "0c5hzi4nw9n3ir17swbwymkymnpiw958z8r2hw6656ijwqkxvzgd"; + isLibrary = false; + isExecutable = true; + buildDepends = [ + cmdargs filepath HStringTemplate languageC mtl split transformers + ]; + meta = { + homepage = "https://github.com/jwiegley/c2hsc"; + description = "Convert C API header files to .hsc and .hsc.helper.c files"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 3e1904403a8..4cc9356c16e 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -707,6 +707,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x c2hs = callPackage ../development/libraries/haskell/c2hs {}; + c2hsc = callPackage ../development/libraries/haskell/c2hsc {}; + Cabal_1_14_0 = callPackage ../development/libraries/haskell/Cabal/1.14.0.nix { cabal = self.cabal.override { Cabal = null; }; }; Cabal_1_16_0_3 = callPackage ../development/libraries/haskell/Cabal/1.16.0.3.nix { cabal = self.cabal.override { Cabal = null; }; }; Cabal_1_18_1_3 = callPackage ../development/libraries/haskell/Cabal/1.18.1.3.nix { cabal = self.cabal.override { Cabal = null; }; }; From 7be040cdcbadd68cfbfe6c10f6f3b05dbce7c8ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertugrul=20S=C3=B6ylemez?= Date: Fri, 11 Apr 2014 21:17:22 +0200 Subject: [PATCH 665/880] maintainers: ertes: New temporary email address. --- lib/maintainers.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 971f7f40284..34896dfaeac 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -29,7 +29,7 @@ edwtjo = "Edward Tjörnhammar "; eelco = "Eelco Dolstra "; emery = "Emery Hemingawy "; - ertes = "Ertugrul Söylemez "; + ertes = "Ertugrul Söylemez "; falsifian = "James Cook "; garbas = "Rok Garbas "; goibhniu = "Cillian de Róiste "; From baf2a4d4b9cd812f7af8d87196d59e7aaa036f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Fri, 11 Apr 2014 21:28:34 +0200 Subject: [PATCH 666/880] ugly tarball fix for llvmPackages support on Darwin --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6685f259061..f12616b22a9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2941,12 +2941,12 @@ let else stdenv; }; - llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else { + llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // { # until someone solves build problems with _34 llvm = llvm_33; clang = clang_33; - dragonegg = null; }; + llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 { inherit stdenv newScope fetchurl; isl = isl_0_12; From 4604d52df4f89afeaca3093c8f3dfdcea5aac15f Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 21:28:55 +0200 Subject: [PATCH 667/880] GHC version 7.8.1 has been deprecated because of a serious bug. We'll have version 7.8.2 out soon. http://www.haskell.org/pipermail/ghc-devs/2014-April/004605.html http://www.haskell.org/pipermail/ghc-devs/2014-April/004616.html --- pkgs/development/compilers/ghc/{7.8.1.nix => 7.8.2.nix} | 6 +++--- pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/haskell-defaults.nix | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) rename pkgs/development/compilers/ghc/{7.8.1.nix => 7.8.2.nix} (88%) diff --git a/pkgs/development/compilers/ghc/7.8.1.nix b/pkgs/development/compilers/ghc/7.8.2.nix similarity index 88% rename from pkgs/development/compilers/ghc/7.8.1.nix rename to pkgs/development/compilers/ghc/7.8.2.nix index c007eb23da8..8200c8c759e 100644 --- a/pkgs/development/compilers/ghc/7.8.1.nix +++ b/pkgs/development/compilers/ghc/7.8.2.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, ghc, perl, gmp, ncurses }: stdenv.mkDerivation rec { - version = "7.8.1"; + version = "7.8.2"; name = "ghc-${version}"; src = fetchurl { - url = "http://www.haskell.org/ghc/dist/7.8.1/${name}-src.tar.xz"; - sha256 = "1j4b7ap87vbwqvf8ck1ksrldw2w626f50w20gs4klm6jpvz66xp0"; + url = "http://www.haskell.org/ghc/dist/7.8.2/${name}-src.tar.xz"; + sha256 = "15kyz98zq22sgwkzy2bkx0yz98qkrzgdigz919vafd7fxnkf3la5"; }; buildInputs = [ ghc perl gmp ncurses ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f12616b22a9..e5ed92405ea 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2810,7 +2810,7 @@ let haskellPackages_ghc763_profiling = recurseIntoAttrs (haskell.packages_ghc763.profiling); haskellPackages_ghc763 = recurseIntoAttrs (haskell.packages_ghc763.highPrio); # Reasonably current HEAD snapshot. - haskellPackages_ghc781 = haskell.packages_ghc781; + haskellPackages_ghc782 = haskell.packages_ghc782; haskellPackages_ghcHEAD = haskell.packages_ghcHEAD; haxe = callPackage ../development/compilers/haxe { }; diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 2d4bdea6006..5a84b4339e2 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -23,7 +23,7 @@ cabalInstall = self.cabalInstall_1_18_0_3.override { Cabal = null; }; }; - ghc781Prefs = + ghc782Prefs = self : self.haskellPlatformArgs_future self // { haskellPlatform = null; extensibleExceptions = self.extensibleExceptions_0_1_1_4; @@ -404,10 +404,10 @@ prefFun = ghc763Prefs; }; - packages_ghc781 = - packages { ghcPath = ../development/compilers/ghc/7.8.1.nix; + packages_ghc782 = + packages { ghcPath = ../development/compilers/ghc/7.8.2.nix; ghcBinary = ghc742Binary; - prefFun = ghc781Prefs; + prefFun = ghc782Prefs; }; # Reasonably current HEAD snapshot. Should *always* be lowPrio. From ea95516bf8a63cb9162cd3686bd6fc521deed8ac Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:13:47 +0200 Subject: [PATCH 668/880] haskell-parsers: add version 0.11 --- .../parsers/{default.nix => 0.10.3.nix} | 0 .../libraries/haskell/parsers/0.11.nix | 19 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 4 +++- 3 files changed, 22 insertions(+), 1 deletion(-) rename pkgs/development/libraries/haskell/parsers/{default.nix => 0.10.3.nix} (100%) create mode 100644 pkgs/development/libraries/haskell/parsers/0.11.nix diff --git a/pkgs/development/libraries/haskell/parsers/default.nix b/pkgs/development/libraries/haskell/parsers/0.10.3.nix similarity index 100% rename from pkgs/development/libraries/haskell/parsers/default.nix rename to pkgs/development/libraries/haskell/parsers/0.10.3.nix diff --git a/pkgs/development/libraries/haskell/parsers/0.11.nix b/pkgs/development/libraries/haskell/parsers/0.11.nix new file mode 100644 index 00000000000..c5d91f167cc --- /dev/null +++ b/pkgs/development/libraries/haskell/parsers/0.11.nix @@ -0,0 +1,19 @@ +{ cabal, attoparsec, charset, doctest, filepath, parsec, text +, transformers, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "parsers"; + version = "0.11"; + sha256 = "0k3xm9ww4q2wkjik4n4ww6ys79kl7xyzbhcb7xi81jz9py0xciqd"; + buildDepends = [ + attoparsec charset parsec text transformers unorderedContainers + ]; + testDepends = [ doctest filepath ]; + meta = { + homepage = "http://github.com/ekmett/parsers/"; + description = "Parsing combinators"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 4cc9356c16e..ee9daa210d8 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1948,7 +1948,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x parsec3 = self.parsec_3_1_5; parsec = self.parsec3; - parsers = callPackage ../development/libraries/haskell/parsers {}; + parsers_0_10_3 = callPackage ../development/libraries/haskell/parsers/0.10.3.nix {}; + parsers_0_11 = callPackage ../development/libraries/haskell/parsers/0.11.nix {}; + parsers = self.parsers_0_10_3; parsimony = callPackage ../development/libraries/haskell/parsimony {}; From e1bdc5c164e9cb2794f17c43170baa67ce43e658 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:14 +0200 Subject: [PATCH 669/880] haskell-statistics: add version 0.11.0.0 --- .../statistics/{default.nix => 0.10.5.2.nix} | 0 .../libraries/haskell/statistics/0.11.0.0.nix | 28 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 7 ++++- 3 files changed, 34 insertions(+), 1 deletion(-) rename pkgs/development/libraries/haskell/statistics/{default.nix => 0.10.5.2.nix} (100%) create mode 100644 pkgs/development/libraries/haskell/statistics/0.11.0.0.nix diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/0.10.5.2.nix similarity index 100% rename from pkgs/development/libraries/haskell/statistics/default.nix rename to pkgs/development/libraries/haskell/statistics/0.10.5.2.nix diff --git a/pkgs/development/libraries/haskell/statistics/0.11.0.0.nix b/pkgs/development/libraries/haskell/statistics/0.11.0.0.nix new file mode 100644 index 00000000000..11d2ff6daa6 --- /dev/null +++ b/pkgs/development/libraries/haskell/statistics/0.11.0.0.nix @@ -0,0 +1,28 @@ +{ cabal, binary, deepseq, erf, HUnit, ieee754, mathFunctions +, monadPar, mwcRandom, primitive, QuickCheck, testFramework +, testFrameworkHunit, testFrameworkQuickcheck2, vector +, vectorAlgorithms, vectorBinaryInstances +}: + +cabal.mkDerivation (self: { + pname = "statistics"; + version = "0.11.0.0"; + sha256 = "1pmkdy7v78ajl5b5rjshgabhcakb9ji5wlq79ajr1b5adif1d1d9"; + buildDepends = [ + binary deepseq erf mathFunctions monadPar mwcRandom primitive + vector vectorAlgorithms vectorBinaryInstances + ]; + testDepends = [ + binary erf HUnit ieee754 mathFunctions mwcRandom primitive + QuickCheck testFramework testFrameworkHunit + testFrameworkQuickcheck2 vector vectorAlgorithms + ]; + doCheck = false; + meta = { + homepage = "https://github.com/bos/statistics"; + description = "A library of statistical types, data, and functions"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index ee9daa210d8..1d433d9d275 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2279,10 +2279,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x StateVar = callPackage ../development/libraries/haskell/StateVar {}; - statistics = callPackage ../development/libraries/haskell/statistics { + statistics_0_10_5_2 = callPackage ../development/libraries/haskell/statistics/0.10.5.2.nix { binary = self.binary_0_7_1_0; vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_1_0; }; }; + statistics_0_11_0_0 = callPackage ../development/libraries/haskell/statistics/0.11.0.0.nix { + binary = self.binary_0_7_1_0; + vectorBinaryInstances = self.vectorBinaryInstances.override { binary = self.binary_0_7_1_0; }; + }; + statistics = self.statistics_0_10_5_2; statvfs = callPackage ../development/libraries/haskell/statvfs {}; From a0264d3db89f8d2efc32d8895bc8d119bd4600f3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:24 +0200 Subject: [PATCH 670/880] haskell-active: update to version 0.1.0.12 --- pkgs/development/libraries/haskell/active/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/active/default.nix b/pkgs/development/libraries/haskell/active/default.nix index 168b555bd4a..7bfb0a045ee 100644 --- a/pkgs/development/libraries/haskell/active/default.nix +++ b/pkgs/development/libraries/haskell/active/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "active"; - version = "0.1.0.11"; - sha256 = "0acm039s8aja54r66y6m456x49g8w3adyx1zs7yv1h6xyy7v7gcv"; + version = "0.1.0.12"; + sha256 = "0ra0wnpyc23sz2w9qk6afcxsrva55nv9vyv70dvw6xhc82vi3khs"; buildDepends = [ newtype semigroupoids semigroups vectorSpace ]; testDepends = [ newtype QuickCheck semigroupoids semigroups vectorSpace From c203d9c5fa6af4b1cbc70d214c3c78b952b513a4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:26 +0200 Subject: [PATCH 671/880] haskell-cereal-conduit: update to version 0.7.2.1 --- .../libraries/haskell/cereal-conduit/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/haskell/cereal-conduit/default.nix b/pkgs/development/libraries/haskell/cereal-conduit/default.nix index 4021b15df9c..fa13321fff7 100644 --- a/pkgs/development/libraries/haskell/cereal-conduit/default.nix +++ b/pkgs/development/libraries/haskell/cereal-conduit/default.nix @@ -2,9 +2,9 @@ cabal.mkDerivation (self: { pname = "cereal-conduit"; - version = "0.7.2"; - sha256 = "03jlhpz82a7j7n0351db0h7pkxihik3fv0wgjny7i0vlq7gyqdpl"; - buildDepends = [ cereal conduit transformers ]; + version = "0.7.2.1"; + sha256 = "1qjx5y8hznpanchhjfrmi0r6vmiqsj0lh9x09n563gschs8dfisw"; + buildDepends = [ cereal conduit resourcet transformers ]; testDepends = [ cereal conduit HUnit mtl resourcet transformers ]; meta = { homepage = "https://github.com/litherum/cereal-conduit"; From 7cc83c8c746175b8e0a5c60dc951fcb56af14ce4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:33 +0200 Subject: [PATCH 672/880] haskell-dual-tree: update to version 0.2.0.2 --- pkgs/development/libraries/haskell/dual-tree/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/dual-tree/default.nix b/pkgs/development/libraries/haskell/dual-tree/default.nix index f8ef34a1723..7b2023c0812 100644 --- a/pkgs/development/libraries/haskell/dual-tree/default.nix +++ b/pkgs/development/libraries/haskell/dual-tree/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "dual-tree"; - version = "0.2.0.1"; - sha256 = "0v9kdhnwq8nv30ci5q7n43abl0wag21i06wp8pv1xgrva4lhswm5"; + version = "0.2.0.2"; + sha256 = "0w0kfzij22209slddyzr2g77khcgpv4ridhvkgl8z3d5sp7ggby1"; buildDepends = [ monoidExtras newtype semigroups ]; jailbreak = true; meta = { From 35e8034716c39fa0abc314796da2afe291c8d835 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:35 +0200 Subject: [PATCH 673/880] haskell-hxt-unicode: update to version 9.0.2.2 --- pkgs/development/libraries/haskell/hxt-unicode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hxt-unicode/default.nix b/pkgs/development/libraries/haskell/hxt-unicode/default.nix index fbe402cea5f..55017c4193e 100644 --- a/pkgs/development/libraries/haskell/hxt-unicode/default.nix +++ b/pkgs/development/libraries/haskell/hxt-unicode/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "hxt-unicode"; - version = "9.0.2.1"; - sha256 = "1ng3qaiwkaav1kmf0yxkm44887xphbx6slva3fskzx0sgkd1v0vp"; + version = "9.0.2.2"; + sha256 = "1iljbk7f7d4wkl592bp0vw807683sqdxfnigindkrvr9p1xvwg8r"; buildDepends = [ hxtCharproperties ]; meta = { homepage = "http://www.fh-wedel.de/~si/HXmlToolbox/index.html"; From ecbb36caf1d00d10a4587ed9b4cc06fa89d50ddb Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:37 +0200 Subject: [PATCH 674/880] haskell-hxt: update to version 9.3.1.4 --- pkgs/development/libraries/haskell/hxt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/hxt/default.nix b/pkgs/development/libraries/haskell/hxt/default.nix index 820a6549d34..440be70a60b 100644 --- a/pkgs/development/libraries/haskell/hxt/default.nix +++ b/pkgs/development/libraries/haskell/hxt/default.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "hxt"; - version = "9.3.1.3"; - sha256 = "1ynca1d0wzql3vny9wxi47bim64h1l56gdamwkfhh4snajqkamwd"; + version = "9.3.1.4"; + sha256 = "0klngcnq5rdhpwim2znzcljhqw8k3x7c91bgb16g008zp3lay1rf"; buildDepends = [ binary deepseq filepath HUnit hxtCharproperties hxtRegexXmlschema hxtUnicode mtl network parsec From 2379850cada7b96defe87a68f2a87e8446f350c3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:39 +0200 Subject: [PATCH 675/880] haskell-monad-logger: update to version 0.3.6 --- .../libraries/haskell/monad-logger/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix index ba6efdac835..5468f4127fc 100644 --- a/pkgs/development/libraries/haskell/monad-logger/default.nix +++ b/pkgs/development/libraries/haskell/monad-logger/default.nix @@ -1,16 +1,16 @@ -{ cabal, blazeBuilder, conduit, exceptions, fastLogger, liftedBase -, monadControl, monadLoops, mtl, resourcet, stm, stmChans, text -, transformers, transformersBase +{ cabal, blazeBuilder, conduit, conduitExtra, exceptions +, fastLogger, liftedBase, monadControl, monadLoops, mtl, resourcet +, stm, stmChans, text, transformers, transformersBase }: cabal.mkDerivation (self: { pname = "monad-logger"; - version = "0.3.5.1"; - sha256 = "0kc23y1l3ja2ym0pr19kcm8aiv8g8skh24p9i3vm74chadsn81pv"; + version = "0.3.6"; + sha256 = "0a3dbk3c1jv8zbxrb5vzf5ypwwzkamxd35rm8pjn13aqcnnznniq"; buildDepends = [ - blazeBuilder conduit exceptions fastLogger liftedBase monadControl - monadLoops mtl resourcet stm stmChans text transformers - transformersBase + blazeBuilder conduit conduitExtra exceptions fastLogger liftedBase + monadControl monadLoops mtl resourcet stm stmChans text + transformers transformersBase ]; meta = { homepage = "https://github.com/kazu-yamamoto/logger"; From 43a77ee1ab68c5fb71a1e79b5c815017bb27bc17 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:41 +0200 Subject: [PATCH 676/880] haskell-monoid-extras: update to version 0.3.3.2 --- pkgs/development/libraries/haskell/monoid-extras/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/monoid-extras/default.nix b/pkgs/development/libraries/haskell/monoid-extras/default.nix index 17df8cbeecc..b9987255c0f 100644 --- a/pkgs/development/libraries/haskell/monoid-extras/default.nix +++ b/pkgs/development/libraries/haskell/monoid-extras/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "monoid-extras"; - version = "0.3.3.1"; - sha256 = "1176sazk10vapia1qvcm2rxckn2vxfav21277rsgf11hvn3lzznc"; + version = "0.3.3.2"; + sha256 = "0v4xir47ki83f9w2rii06w3jwrvqljnbiivgh6k8jxl0bdfslh11"; buildDepends = [ groups semigroupoids semigroups ]; jailbreak = true; meta = { From e77f2cd689fc69ad6f86ad9e784fe6a3d5ab87f2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:43 +0200 Subject: [PATCH 677/880] haskell-texmath: update to version 0.6.6.1 --- pkgs/development/libraries/haskell/texmath/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/texmath/default.nix b/pkgs/development/libraries/haskell/texmath/default.nix index 8dd3f5c6fc9..7c97f5b8e3f 100644 --- a/pkgs/development/libraries/haskell/texmath/default.nix +++ b/pkgs/development/libraries/haskell/texmath/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self: { pname = "texmath"; - version = "0.6.6"; - sha256 = "0mbimlvqsfx6w4dvilidy5cd9732kf6bnfnn6n7rnmq88avxxnmc"; + version = "0.6.6.1"; + sha256 = "0s6rh4frjc76g1nmwhnnpnsszrnhpi9zx478zqiln1fg0yc9fhxq"; isLibrary = true; isExecutable = true; buildDepends = [ pandocTypes parsec syb xml ]; From fd376138b2f705ef72cfb1c5e663a4bb514ce02c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:14:45 +0200 Subject: [PATCH 678/880] haskell-yesod-core: update to version 1.2.12 --- .../libraries/haskell/yesod-core/default.nix | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix index cea81592ba4..5051eaff698 100644 --- a/pkgs/development/libraries/haskell/yesod-core/default.nix +++ b/pkgs/development/libraries/haskell/yesod-core/default.nix @@ -1,26 +1,26 @@ { cabal, aeson, async, attoparsecConduit, blazeBuilder, blazeHtml , blazeMarkup, caseInsensitive, cereal, clientsession, conduit -, conduitExtra, cookie, dataDefault, fastLogger, hamlet, hspec -, httpTypes, HUnit, liftedBase, monadControl, monadLogger, mtl -, network, networkConduit, parsec, pathPieces, QuickCheck, random -, resourcet, safe, shakespeare, shakespeareCss, shakespeareI18n -, shakespeareJs, streamingCommons, text, time, transformers -, transformersBase, unixCompat, vector, wai, waiExtra, waiLogger -, waiTest, warp, yesodRoutes +, conduitExtra, cookie, dataDefault, exceptions, fastLogger, hamlet +, hspec, httpTypes, HUnit, liftedBase, monadControl, monadLogger +, mtl, network, networkConduit, parsec, pathPieces, QuickCheck +, random, resourcet, safe, shakespeare, shakespeareCss +, shakespeareI18n, shakespeareJs, streamingCommons, text, time +, transformers, transformersBase, unixCompat, vector, wai, waiExtra +, waiLogger, waiTest, warp, yesodRoutes }: cabal.mkDerivation (self: { pname = "yesod-core"; - version = "1.2.11.1"; - sha256 = "079nhpfsp8sqm0j5wck3fqx5b3g12r0l9214wybj2wnxpaddzhzx"; + version = "1.2.12"; + sha256 = "0bgi140v2z25cfvcydzaif7id8mv341r8iclkiz0lbqxs7d29zxz"; buildDepends = [ aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal clientsession conduit conduitExtra cookie - dataDefault fastLogger hamlet httpTypes liftedBase monadControl - monadLogger mtl parsec pathPieces random resourcet safe shakespeare - shakespeareCss shakespeareI18n shakespeareJs text time transformers - transformersBase unixCompat vector wai waiExtra waiLogger warp - yesodRoutes + dataDefault exceptions fastLogger hamlet httpTypes liftedBase + monadControl monadLogger mtl parsec pathPieces random resourcet + safe shakespeare shakespeareCss shakespeareI18n shakespeareJs text + time transformers transformersBase unixCompat vector wai waiExtra + waiLogger warp yesodRoutes ]; testDepends = [ async blazeBuilder conduit conduitExtra hamlet hspec httpTypes From f5dd4d383b69f6e9392e3c9d5ab9489b2b9d93c8 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:15:13 +0200 Subject: [PATCH 679/880] haskell-HTTP: update to version 4000.2.12 --- .../libraries/haskell/HTTP/{4000.2.11.nix => 4000.2.12.nix} | 4 ++-- pkgs/top-level/haskell-packages.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) rename pkgs/development/libraries/haskell/HTTP/{4000.2.11.nix => 4000.2.12.nix} (88%) diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.11.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.12.nix similarity index 88% rename from pkgs/development/libraries/haskell/HTTP/4000.2.11.nix rename to pkgs/development/libraries/haskell/HTTP/4000.2.12.nix index f48642462c6..b42703a403f 100644 --- a/pkgs/development/libraries/haskell/HTTP/4000.2.11.nix +++ b/pkgs/development/libraries/haskell/HTTP/4000.2.12.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "HTTP"; - version = "4000.2.11"; - sha256 = "17jlmh3v6k0mhd9nh1y5pf2br17lkx4wp9sa7q81wvprw998nw97"; + version = "4000.2.12"; + sha256 = "0zaynz8s70xzqxxrr8yjxwc7qspd4q2ig1vqjz1p4qqm72rs3jwl"; buildDepends = [ mtl network parsec ]; testDepends = [ caseInsensitive conduit deepseq httpdShed httpTypes HUnit mtl diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 1d433d9d275..2b09d59250a 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -151,7 +151,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haskellSrc = self.haskellSrc_1_0_1_5; hashable = self.hashable_1_2_1_0; html = self.html_1_0_1_2; - HTTP = self.HTTP_4000_2_11; + HTTP = self.HTTP_4000_2_12; HUnit = self.HUnit_1_2_5_2; mtl = self.mtl_2_1_3_1; network = self.network_2_4_2_2; @@ -1350,8 +1350,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {}; HTTP_4000_2_5 = callPackage ../development/libraries/haskell/HTTP/4000.2.5.nix {}; HTTP_4000_2_8 = callPackage ../development/libraries/haskell/HTTP/4000.2.8.nix {}; - HTTP_4000_2_11 = callPackage ../development/libraries/haskell/HTTP/4000.2.11.nix {}; - HTTP = self.HTTP_4000_2_11; + HTTP_4000_2_12 = callPackage ../development/libraries/haskell/HTTP/4000.2.12.nix {}; + HTTP = self.HTTP_4000_2_12; httpAttoparsec = callPackage ../development/libraries/haskell/http-attoparsec {}; From 86177f06e9e2ce6c070d85f4effa589bab1cd22b Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:16:21 +0200 Subject: [PATCH 680/880] haskell-haskell-src: add version 1.0.1.6 --- .../libraries/haskell/haskell-src/1.0.1.6.nix | 15 +++++++++++++++ pkgs/top-level/haskell-packages.nix | 5 +++-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix diff --git a/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix b/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix new file mode 100644 index 00000000000..9e78f2800a7 --- /dev/null +++ b/pkgs/development/libraries/haskell/haskell-src/1.0.1.6.nix @@ -0,0 +1,15 @@ +{ cabal, happy, syb }: + +cabal.mkDerivation (self: { + pname = "haskell-src"; + version = "1.0.1.6"; + sha256 = "1vscvbsly7k0zqb7fi6bm38dfacyl8qgmv0h25fqkn95c0v5dif7"; + buildDepends = [ syb ]; + buildTools = [ happy ]; + meta = { + description = "Support for manipulating Haskell source code"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.andres ]; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 2b09d59250a..aa73622164b 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -148,7 +148,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x fgl = self.fgl_5_4_2_4; GLUT = self.GLUT_2_5_1_0; GLURaw = self.GLURaw_1_4_0_0; - haskellSrc = self.haskellSrc_1_0_1_5; + haskellSrc = self.haskellSrc_1_0_1_6; hashable = self.hashable_1_2_1_0; html = self.html_1_0_1_2; HTTP = self.HTTP_4000_2_12; @@ -1321,7 +1321,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {}; haskellSrc_1_0_1_4 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.4.nix {}; haskellSrc_1_0_1_5 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.5.nix {}; - haskellSrc = self.haskellSrc_1_0_1_5; + haskellSrc_1_0_1_6 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.6.nix {}; + haskellSrc = self.haskellSrc_1_0_1_6; haskellSrcExts = callPackage ../development/libraries/haskell/haskell-src-exts {}; From f32be2da85051bad18116d16959eecea1628babc Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 10:17:44 +0200 Subject: [PATCH 681/880] haddock: update to version 2.14.2 --- .../tools/documentation/haddock/{2.14.1.nix => 2.14.2.nix} | 4 ++-- pkgs/top-level/haskell-packages.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) rename pkgs/development/tools/documentation/haddock/{2.14.1.nix => 2.14.2.nix} (88%) diff --git a/pkgs/development/tools/documentation/haddock/2.14.1.nix b/pkgs/development/tools/documentation/haddock/2.14.2.nix similarity index 88% rename from pkgs/development/tools/documentation/haddock/2.14.1.nix rename to pkgs/development/tools/documentation/haddock/2.14.2.nix index c63503c85ba..c4677f202dd 100644 --- a/pkgs/development/tools/documentation/haddock/2.14.1.nix +++ b/pkgs/development/tools/documentation/haddock/2.14.2.nix @@ -4,8 +4,8 @@ cabal.mkDerivation (self: { pname = "haddock"; - version = "2.14.1"; - sha256 = "1mxkphzdfd5c8dklfl09ajqwhw8ibvzl0cqrfr2j8rn0j03w46x6"; + version = "2.14.2"; + sha256 = "0h96jj6y093h4gcqpiq0nyv7h5wjg8ji7z1im9ydivmsv0627prk"; isLibrary = true; isExecutable = true; buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ]; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index aa73622164b..7f708438fc7 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -175,7 +175,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x zlib = self.zlib_0_5_4_1; cabalInstall = self.cabalInstall_1_18_0_3; alex = self.alex_3_1_3; - haddock = self.haddock_2_14_1; + haddock = self.haddock_2_14_2; happy = self.happy_1_19_3; primitive = self.primitive_0_5_2_1; # semi-official, but specified }; @@ -2882,8 +2882,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x haddock_2_11_0 = callPackage ../development/tools/documentation/haddock/2.11.0.nix {}; haddock_2_12_0 = callPackage ../development/tools/documentation/haddock/2.12.0.nix {}; haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {}; - haddock_2_14_1 = callPackage ../development/tools/documentation/haddock/2.14.1.nix {}; - haddock = self.haddock_2_14_1; + haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {}; + haddock = self.haddock_2_14_2; HandsomeSoup = callPackage ../development/libraries/haskell/HandsomeSoup {}; From 716cffc1bb97afd3ad6afe02889d224be841fd24 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 22:28:18 +0200 Subject: [PATCH 682/880] haskell-language-c-inline: re-generate with cabal2nix --- pkgs/development/libraries/haskell/language-c-inline/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/libraries/haskell/language-c-inline/default.nix b/pkgs/development/libraries/haskell/language-c-inline/default.nix index 9e57490db34..58c3e37c853 100644 --- a/pkgs/development/libraries/haskell/language-c-inline/default.nix +++ b/pkgs/development/libraries/haskell/language-c-inline/default.nix @@ -5,6 +5,7 @@ cabal.mkDerivation (self: { version = "0.3.0.1"; sha256 = "0dw1fqwg9hhwgvak0ykhafbxp4gnb2ww9lc83m8kzkyzn1ccb6hg"; buildDepends = [ filepath languageCQuote mainlandPretty ]; + testDepends = [ languageCQuote ]; doCheck = false; meta = { homepage = "https://github.com/mchakravarty/language-c-inline/"; From ce15e84af3149f48fe5a752ec3bb1793b8840b47 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 22:28:26 +0200 Subject: [PATCH 683/880] haskell-diagrams-contrib: update to version 1.1.1.4 --- pkgs/development/libraries/haskell/diagrams/contrib.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/diagrams/contrib.nix b/pkgs/development/libraries/haskell/diagrams/contrib.nix index f2a654302b6..aca28a02490 100644 --- a/pkgs/development/libraries/haskell/diagrams/contrib.nix +++ b/pkgs/development/libraries/haskell/diagrams/contrib.nix @@ -7,8 +7,8 @@ cabal.mkDerivation (self: { pname = "diagrams-contrib"; - version = "1.1.1.2"; - sha256 = "09dfnvriih4lkici34bj9nvww245hzl95crldblwyjwi2c8qcy69"; + version = "1.1.1.4"; + sha256 = "0n2r6k65kxvk5mwm193yhzwnj3bhignq4xdslfpv2m1afdvws2y1"; buildDepends = [ arithmoi circlePacking colour dataDefault dataDefaultClass diagramsCore diagramsLib forceLayout lens MonadRandom mtl parsec From d2e61750dfbd628592abb5d8a1de4700cc018eaa Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 22:28:27 +0200 Subject: [PATCH 684/880] haskell-diagrams-lib: update to version 1.1.0.6 --- pkgs/development/libraries/haskell/diagrams/lib.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/diagrams/lib.nix b/pkgs/development/libraries/haskell/diagrams/lib.nix index 4fcd944c15c..fd839e42857 100644 --- a/pkgs/development/libraries/haskell/diagrams/lib.nix +++ b/pkgs/development/libraries/haskell/diagrams/lib.nix @@ -6,8 +6,8 @@ cabal.mkDerivation (self: { pname = "diagrams-lib"; - version = "1.1.0.4"; - sha256 = "0i3n07qi7gnlbxxsd8j7wgqdqbjp8h44z837lajfwd108j01fw0i"; + version = "1.1.0.6"; + sha256 = "125krfaf73k2m73scnjdl0d76acwc6n9vhvvaqxxy1ln57caqh5x"; buildDepends = [ active colour dataDefaultClass diagramsCore filepath fingertree hashable intervals lens MemoTrie monoidExtras optparseApplicative From 50b1a8ea0b621a7a09be17a2ade0805e43221e03 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 11 Apr 2014 22:28:28 +0200 Subject: [PATCH 685/880] haskell-diagrams-postscript: update to version 1.0.2.4 --- pkgs/development/libraries/haskell/diagrams/postscript.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix index 9716177ede5..55e2c975b0e 100644 --- a/pkgs/development/libraries/haskell/diagrams/postscript.nix +++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix @@ -5,8 +5,8 @@ cabal.mkDerivation (self: { pname = "diagrams-postscript"; - version = "1.0.2.2"; - sha256 = "00xzzx6dvraa8gbk3agqvrmxjnpvq4hik7kahidw4k37hxyyvwm3"; + version = "1.0.2.4"; + sha256 = "0vjzvjyrbmnjgl8ln58a44nhh4abq5q2c6fvlpxpfhxh2ligsmas"; buildDepends = [ dataDefaultClass diagramsCore diagramsLib dlist filepath hashable lens monoidExtras mtl semigroups split vectorSpace From 5a3fa7f88f2fe10eddecb708b0b9c559eda841b4 Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Wed, 2 Apr 2014 13:35:44 +0200 Subject: [PATCH 686/880] nvidia-x11: patch for kernel 3.14 support --- pkgs/os-specific/linux/nvidia-x11/default.nix | 2 ++ pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch | 12 ++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 7391a6fdf4c..74863496a0f 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -21,6 +21,8 @@ stdenv.mkDerivation { builder = ./builder.sh; + patches = optional (kernel ? version && versionAtLeast kernel.version "3.14") ./kernel-3.14.patch; + src = if stdenv.system == "i686-linux" then fetchurl { diff --git a/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch b/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch new file mode 100644 index 00000000000..07fb7652d32 --- /dev/null +++ b/pkgs/os-specific/linux/nvidia-x11/kernel-3.14.patch @@ -0,0 +1,12 @@ +--- a/kernel/nv-linux.h 2014-01-09 04:49:25.000000000 +0200 ++++ b/kernel/nv-linux.h 2014-02-05 16:46:55.552408568 +0200 +@@ -273,8 +273,7 @@ + #endif + + #if !defined(NV_VMWARE) && defined(CONFIG_ACPI) +-#include +-#include ++#include + #if defined(NV_ACPI_DEVICE_OPS_HAS_MATCH) || defined(ACPI_VIDEO_HID) + #define NV_LINUX_ACPI_EVENTS_SUPPORTED 1 + #endif From b21853f2550db54a9494e51bc51274a23e54a57f Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Fri, 11 Apr 2014 23:20:49 +0200 Subject: [PATCH 687/880] Fix initrd breaking by recent repeatable-builds changes See the comments at https://github.com/NixOS/nixpkgs/commit/f67015cae49400eba539b9ec8b9920643581c77c for more information. Please note: this makes initrd unrepeatable again, but most people will prefer that above an unbootable system. --- pkgs/build-support/kernel/cpio-clean.pl | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/build-support/kernel/cpio-clean.pl b/pkgs/build-support/kernel/cpio-clean.pl index de38dee49f0..ddc6435a5a8 100644 --- a/pkgs/build-support/kernel/cpio-clean.pl +++ b/pkgs/build-support/kernel/cpio-clean.pl @@ -11,9 +11,6 @@ my $IN = \*STDIN; my $ino = 1; $cpio->read_with_handler($IN, sub { my ($e) = @_; - $e->{inode} = $ino; - $ino++; - $e->{nlink} = 1; $e->{mtime} = 1; $cpio->write_one(\*STDOUT, $e); }); From c23050e23136a5aeaca2f93a0d0bdca66607e348 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 11 Apr 2014 19:21:50 -0400 Subject: [PATCH 688/880] Revert "Use PostgreSQL 9.3's `pg_isready` to wait for connectivity" Reverting postgres superuser changes until after stable. This reverts commit e2066841106a6b89093ab685368742efa4e3c2c1. --- nixos/modules/services/databases/postgresql.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index ed66c15e304..08a9cdd9f5d 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -226,7 +226,7 @@ in # Wait for PostgreSQL to be ready to accept connections. postStart = '' - while ! ${pkgs.postgresql93}/bin/pg_isready > /dev/null; do + while ! su -s ${pkgs.stdenv.shell} postgres -c 'psql postgres -c ""' 2> /dev/null; do if ! kill -0 "$MAINPID"; then exit 1; fi sleep 0.1 done From e9e60103de7fa4572c28d8fd1ecf5b9ed3178fb8 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 11 Apr 2014 19:22:39 -0400 Subject: [PATCH 689/880] Revert "Create the 'postgres' superuser" Reverting postgres superuser changes until after stable. This reverts commit 7de29bd26f5e514e95d5d261c08f3029337eecb3. --- nixos/modules/services/databases/postgresql.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 08a9cdd9f5d..33ee7244e3f 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -197,7 +197,6 @@ in fi rm -f ${cfg.dataDir}/*.conf touch "${cfg.dataDir}/.first_startup" - touch "${cfg.dataDir}/postgresql-user-created" fi ln -sfn "${configFile}" "${cfg.dataDir}/postgresql.conf" @@ -231,11 +230,6 @@ in sleep 0.1 done - if ! [ -e ${cfg.dataDir}/postgresql-user-created ]; then - createuser --superuser postgres - touch ${cfg.dataDir}/postgresql-user-created - fi - if test -e "${cfg.dataDir}/.first_startup"; then ${optionalString (cfg.initialScript != null) '' cat "${cfg.initialScript}" | su -s ${pkgs.stdenv.shell} postgres -c 'psql postgres' From 9b077bac584c3d192ea0ba5be0a93a5a5c570208 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 11 Apr 2014 19:22:43 -0400 Subject: [PATCH 690/880] Revert "postgresql: properly fix permissions issue by in postStart" Reverting postgres superuser changes until after stable. This reverts commit c66be6378d8bbcea271b2d2102741fdda87ec8fe. --- nixos/modules/services/databases/postgresql.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index 33ee7244e3f..a83b1a110fe 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -225,14 +225,14 @@ in # Wait for PostgreSQL to be ready to accept connections. postStart = '' - while ! su -s ${pkgs.stdenv.shell} postgres -c 'psql postgres -c ""' 2> /dev/null; do + while ! psql postgres -c "" 2> /dev/null; do if ! kill -0 "$MAINPID"; then exit 1; fi sleep 0.1 done if test -e "${cfg.dataDir}/.first_startup"; then ${optionalString (cfg.initialScript != null) '' - cat "${cfg.initialScript}" | su -s ${pkgs.stdenv.shell} postgres -c 'psql postgres' + cat "${cfg.initialScript}" | psql postgres ''} rm -f "${cfg.dataDir}/.first_startup" fi From 0122697550ab9ed5fae949a0756b10d6e674bd70 Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Fri, 11 Apr 2014 19:23:03 -0400 Subject: [PATCH 691/880] Revert "Merge branch 'postgresql-user' of git://github.com/ocharles/nixpkgs" Reverting postgres superuser changes until after stable. This reverts commit 6cc0cc7ff6136963acb32b5107696484b6220562, reversing changes made to 3c4be425dbe2d5a00f2923210a86ce7e7a4c516f. --- nixos/modules/services/databases/postgresql.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix index a83b1a110fe..cc4230d4d6a 100644 --- a/nixos/modules/services/databases/postgresql.nix +++ b/nixos/modules/services/databases/postgresql.nix @@ -190,7 +190,7 @@ in mkdir -m 0700 -p ${cfg.dataDir} if [ "$(id -u)" = 0 ]; then chown -R postgres ${cfg.dataDir} - su -s ${pkgs.stdenv.shell} postgres -c initdb + su -s ${pkgs.stdenv.shell} postgres -c 'initdb -U root' else # For non-root operation. initdb From 71d7bec227b4d8e3622e0248a1cd6d3f1ba4b2b0 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Fri, 11 Apr 2014 21:32:30 -0500 Subject: [PATCH 692/880] p0f: build fix attempt for Hydra Signed-off-by: Austin Seipp --- pkgs/tools/security/p0f/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/security/p0f/default.nix b/pkgs/tools/security/p0f/default.nix index 2c54e0b3cb8..377639ce2e6 100644 --- a/pkgs/tools/security/p0f/default.nix +++ b/pkgs/tools/security/p0f/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libpcap }: +{ stdenv, fetchurl, libpcap, bash }: stdenv.mkDerivation rec { name = "p0f-${version}"; @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { buildPhase = '' substituteInPlace config.h --replace "p0f.fp" "$out/etc/p0f.fp" + substituteInPlace build.sh --replace "/bin/bash" "${bash}/bin/bash" ./build.sh cd tools && make && cd .. ''; From acd5a9d8b4946634127705f96d141062e0a234c8 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Fri, 11 Apr 2014 21:35:08 -0500 Subject: [PATCH 693/880] spiped: attempt to fix linux Hydra build Signed-off-by: Austin Seipp --- pkgs/tools/networking/spiped/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/networking/spiped/default.nix b/pkgs/tools/networking/spiped/default.nix index 7f17c981b93..ac2736ffb19 100644 --- a/pkgs/tools/networking/spiped/default.nix +++ b/pkgs/tools/networking/spiped/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, openssl }: +{ stdenv, fetchurl, openssl, coreutils }: stdenv.mkDerivation rec { name = "spiped-${version}"; @@ -12,6 +12,10 @@ stdenv.mkDerivation rec { buildInputs = [ openssl ]; patches = [ ./no-dev-stderr.patch ]; + postPatch = '' + substituteInPlace POSIX/posix-l.sh --replace "rm" "${coreutils}/bin/rm" + ''; + installPhase = '' mkdir -p $out/bin $out/share/man/man1 make install BINDIR=$out/bin MAN1DIR=$out/share/man/man1 From 036a7708a203e420cfc279bbdeef554f5e475891 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Fri, 11 Apr 2014 21:37:19 -0500 Subject: [PATCH 694/880] libseccomp: attempt to fix Hydra build Signed-off-by: Austin Seipp --- pkgs/development/libraries/libseccomp/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix index 32ac480c1f8..a66d31d2ec4 100644 --- a/pkgs/development/libraries/libseccomp/default.nix +++ b/pkgs/development/libraries/libseccomp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, getopt }: +{ stdenv, fetchurl, getopt, bash }: stdenv.mkDerivation rec { name = "libseccomp-${version}"; @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { # for talking to the seccomp filter - we opt to always use the # inline copy patchPhase = '' + substituteInPlace ./configure --replace "/bin/bash" "${bash}/bin/bash" substituteInPlace ./configure --replace "verify_deps getopt" "" substituteInPlace ./configure --replace getopt ${getopt}/bin/getopt substituteInPlace ./configure --replace 'opt_sysinc_seccomp="yes"' 'opt_sysinc_seccomp="no"' From cf24cf1184ad6fc62292b9668c836e5a1435902c Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Fri, 11 Apr 2014 21:40:31 -0500 Subject: [PATCH 695/880] capstone: attempt to fix Linux build, remove Darwin build The Darwin build seems fixable but I can't test right now. Signed-off-by: Austin Seipp --- pkgs/development/libraries/capstone/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix index 37d1c118e4a..d61c82bb7d3 100644 --- a/pkgs/development/libraries/capstone/default.nix +++ b/pkgs/development/libraries/capstone/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, bash }: stdenv.mkDerivation rec { name = "capstone-${version}"; @@ -10,13 +10,18 @@ stdenv.mkDerivation rec { }; buildPhase = false; + + patchPhase = '' + substituteInPlace make.sh --replace "/usr/bin/env bash" "${bash}/bin/bash" + ''; + installPhase = "PREFIX=$out ./make.sh install"; meta = { description = "advanced disassembly library"; homepage = "http://www.capstone-engine.org"; license = stdenv.lib.licenses.bsd3; - platforms = stdenv.lib.platforms.unix; + platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.thoughtpolice ]; }; } From 172dc1336f108ee81b0f5f8b9be3d27706b1c032 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sun, 6 Apr 2014 14:18:12 -0500 Subject: [PATCH 696/880] nixos: add grsecurity module (#1875) This module implements a significant refactoring in grsecurity configuration for NixOS, making it far more usable by default and much easier to configure. - New security.grsecurity NixOS attributes. - All grsec kernels supported - Allows default 'auto' grsec configuration, or custom config - Supports custom kernel options through kernelExtraConfig - Defaults to high-security - user must choose kernel, server/desktop mode, and any virtualisation software. That's all. - kptr_restrict is fixed under grsecurity (it's unwriteable) - grsecurity patch creation is now significantly abstracted - only need revision, version, and SHA1 - kernel version requirements are asserted for sanity - built kernels can have the uname specify the exact grsec version for development or bug reports. Off by default (requires `security.grsecurity.config.verboseVersion = true;`) - grsecurity sysctl support - By default, disabled. - For people who enable it, NixOS deploys a 'grsec-lock' systemd service which runs at startup. You are expected to configure sysctl through NixOS like you regularly would, which will occur before the service is started. As a result, changing sysctl settings requires a reboot. - New default group: 'grsecurity' - Root is a member by default - GRKERNSEC_PROC_GID is implicitly set to the 'grsecurity' GID, making it possible to easily add users to this group for /proc access - AppArmor is now automatically enabled where it wasn't before, despite implying features.apparmor = true The most trivial example of enabling grsecurity in your kernel is by specifying: security.grsecurity.enable = true; security.grsecurity.testing = true; # testing 3.13 kernel security.grsecurity.config.system = "desktop"; # or "server" This specifies absolutely no virtualisation support. In general, you probably at least want KVM host support, which is a little more work. So: security.grsecurity.enable = true; security.grsecurity.stable = true; # enable stable 3.2 kernel security.grsecurity.config = { system = "server"; priority = "security"; virtualisationConfig = "host"; virtualisationSoftware = "kvm"; hardwareVirtualisation = true; } This module has primarily been tested on Hetzner EX40 & VQ7 servers using NixOps. Signed-off-by: Austin Seipp --- nixos/modules/config/sysctl.nix | 18 +- nixos/modules/config/users-groups.nix | 2 + nixos/modules/misc/ids.nix | 1 + nixos/modules/module-list.nix | 1 + nixos/modules/security/grsecurity.nix | 421 ++++++++++++++++++++++ pkgs/os-specific/linux/kernel/patches.nix | 53 +-- pkgs/top-level/all-packages.nix | 35 -- 7 files changed, 468 insertions(+), 63 deletions(-) create mode 100644 nixos/modules/security/grsecurity.nix diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix index 8f9b31dccff..a910c699cc9 100644 --- a/nixos/modules/config/sysctl.nix +++ b/nixos/modules/config/sysctl.nix @@ -6,7 +6,7 @@ let sysctlOption = mkOptionType { name = "sysctl option value"; - check = x: isBool x || isString x || isInt x; + check = x: isBool x || isString x || isInt x || isNull x; merge = args: defs: (last defs).value; # FIXME: hacky way to allow overriding in configuration.nix. }; @@ -29,8 +29,9 @@ in 8. Note that sysctl parameters names must be enclosed in quotes (e.g. "vm.swappiness" instead of - vm.swappiness). The value of each parameter - may be a string, integer or Boolean. + vm.swappiness). The value of each + parameter may be a string, integer, boolean, or null + (signifying the option will not appear at all). ''; }; @@ -39,7 +40,9 @@ in config = { environment.etc."sysctl.d/nixos.conf".text = - concatStrings (mapAttrsToList (n: v: "${n}=${if v == false then "0" else toString v}\n") config.boot.kernel.sysctl); + concatStrings (mapAttrsToList (n: v: + optionalString (v != null) "${n}=${if v == false then "0" else toString v}\n" + ) config.boot.kernel.sysctl); systemd.services.systemd-sysctl = { description = "Apply Kernel Variables"; @@ -65,8 +68,9 @@ in # Hide kernel pointers (e.g. in /proc/modules) for unprivileged # users as these make it easier to exploit kernel vulnerabilities. - boot.kernel.sysctl."kernel.kptr_restrict" = 1; - + # + # Removed under grsecurity. + boot.kernel.sysctl."kernel.kptr_restrict" = + if config.security.grsecurity.enable then null else 1; }; - } diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 061f51ccda7..c27a94a22d5 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -392,6 +392,7 @@ in { home = "/root"; shell = cfg.defaultUserShell; group = "root"; + extraGroups = [ "grsecurity" ]; hashedPassword = mkDefault config.security.initialRootPassword; }; nobody = { @@ -420,6 +421,7 @@ in { nixbld.gid = ids.gids.nixbld; utmp.gid = ids.gids.utmp; adm.gid = ids.gids.adm; + grsecurity.gid = ids.gids.grsecurity; }; system.activationScripts.users = diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index b7912b6630e..c6581fee551 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -231,6 +231,7 @@ foundationdb = 118; newrelic = 119; starbound = 120; + grsecurity = 121; # When adding a gid, make sure it doesn't match an existing uid. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 54194f781cb..b2f530474b5 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -62,6 +62,7 @@ ./security/apparmor-suid.nix ./security/ca.nix ./security/duosec.nix + ./security/grsecurity.nix ./security/pam.nix ./security/pam_usb.nix ./security/polkit.nix diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix new file mode 100644 index 00000000000..1759413c558 --- /dev/null +++ b/nixos/modules/security/grsecurity.nix @@ -0,0 +1,421 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + cfg = config.security.grsecurity; + + mkKernel = kernel: patch: + assert patch.kversion == kernel.version; + { inherit kernel patch; + inherit (patch) grversion revision; + }; + + stable-patch = with pkgs.kernelPatches; + if cfg.vserver then grsecurity_vserver else grsecurity_stable; + stableKernel = mkKernel pkgs.linux_3_2 stable-patch; + testKernel = mkKernel pkgs.linux_3_13 pkgs.kernelPatches.grsecurity_unstable; + + ## -- grsecurity configuration ----------------------------------------------- + + grsecPrioCfg = + if cfg.config.priority == "security" then + "GRKERNSEC_CONFIG_PRIORITY_SECURITY y" + else + "GRKERNSEC_CONFIG_PRIORITY_PERF y"; + + grsecSystemCfg = + if cfg.config.system == "desktop" then + "GRKERNSEC_CONFIG_DESKTOP y" + else + "GRKERNSEC_CONFIG_SERVER y"; + + grsecVirtCfg = + if cfg.config.virtualisationConfig == "none" then + "GRKERNSEC_CONFIG_VIRT_NONE y" + else if cfg.config.virtualisationConfig == "host" then + "GRKERNSEC_CONFIG_VIRT_HOST y" + else + "GRKERNSEC_CONFIG_VIRT_GUEST y"; + + grsecHwvirtCfg = if cfg.config.virtualisationConfig == "none" then "" else + if cfg.config.hardwareVirtualisation == true then + "GRKERNSEC_CONFIG_VIRT_EPT y" + else + "GRKERNSEC_CONFIG_VIRT_SOFT y"; + + grsecVirtswCfg = + let virtCfg = opt: "GRKERNSEC_CONFIG_VIRT_"+opt+" y"; + in + if cfg.config.virtualisationConfig == "none" then "" + else if cfg.config.virtualisationSoftware == "xen" then virtCfg "XEN" + else if cfg.config.virtualisationSoftware == "kvm" then virtCfg "KVM" + else if cfg.config.virtualisationSoftware == "vmware" then virtCfg "VMWARE" + else virtCfg "VIRTUALBOX"; + + grsecMainConfig = if cfg.config.mode == "custom" then "" else '' + GRKERNSEC_CONFIG_AUTO y + ${grsecPrioCfg} + ${grsecSystemCfg} + ${grsecVirtCfg} + ${grsecHwvirtCfg} + ${grsecVirtswCfg} + ''; + + grsecConfig = + let boolToKernOpt = b: if b then "y" else "n"; + # Disable RANDSTRUCT under virtualbox, as it has some kind of + # breakage with the vbox guest drivers + randstruct = optionalString config.services.virtualbox.enable + "GRKERNSEC_RANDSTRUCT n"; + # Disable restricting links under the testing kernel, as something + # has changed causing it to fail miserably during boot. + restrictLinks = optionalString cfg.testing + "GRKERNSEC_LINK n"; + in '' + SECURITY_APPARMOR y + DEFAULT_SECURITY_APPARMOR y + GRKERNSEC y + ${grsecMainConfig} + + GRKERNSEC_PROC_USER ${boolToKernOpt cfg.config.restrictProc} + ${if !cfg.config.restrictProc then "" + else "GRKERNSEC_PROC_GID "+(toString cfg.config.unrestrictProcGid)} + + GRKERNSEC_SYSCTL ${boolToKernOpt cfg.config.sysctl} + GRKERNSEC_CHROOT_CHMOD ${boolToKernOpt cfg.config.denyChrootChmod} + GRKERNSEC_NO_RBAC ${boolToKernOpt cfg.config.disableRBAC} + ${randstruct} + ${restrictLinks} + + ${cfg.config.kernelExtraConfig} + ''; + + ## -- grsecurity kernel packages --------------------------------------------- + + localver = grkern: + "-grsec" + optionalString cfg.config.verboseVersion + "-${grkern.grversion}-${grkern.revision}"; + + grsecurityOverrider = args: grkern: { + # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins) + # include libgmp headers, so we need these extra tweaks + buildInputs = args.buildInputs ++ [ pkgs.gmp ]; + preConfigure = '' + ${args.preConfigure or ""} + sed -i 's|-I|-I${pkgs.gmp}/include -I|' scripts/gcc-plugin.sh + sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${pkgs.gmp}/include|' tools/gcc/Makefile + sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${pkgs.gmp}/include|' tools/gcc/Makefile + rm localversion-grsec + echo ${localver grkern} > localversion-grsec + ''; + }; + + mkGrsecPkg = grkern: + let kernelPkg = lowPrio (overrideDerivation (grkern.kernel.override (args: { + kernelPatches = args.kernelPatches ++ [ grkern.patch pkgs.kernelPatches.grsec_fix_path ]; + argsOverride = { + modDirVersion = "${grkern.kernel.modDirVersion}${localver grkern}"; + }; + extraConfig = grsecConfig; + })) (args: grsecurityOverrider args grkern)); + in pkgs.linuxPackagesFor kernelPkg (mkGrsecPkg grkern); + + grsecPackage = mkGrsecPkg (if cfg.stable then stableKernel else testKernel); +in +{ + options = { + security.grsecurity = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable grsecurity support. This enables advanced exploit + hardening for the Linux kernel, and adds support for + administrative Role-Based Acess Control (RBAC) via + gradm. It also includes traditional + utilities for PaX. + ''; + }; + + stable = mkOption { + type = types.bool; + default = false; + description = '' + Enable the stable grsecurity patch, based on Linux 3.2. + ''; + }; + + vserver = mkOption { + type = types.bool; + default = false; + description = '' + Enable the stable grsecurity/vserver patches, based on Linux 3.2. + ''; + }; + + testing = mkOption { + type = types.bool; + default = false; + description = '' + Enable the testing grsecurity patch, based on Linux 3.13. + ''; + }; + + config = { + mode = mkOption { + type = types.str; + default = "auto"; + example = "custom"; + description = '' + grsecurity configuration mode. This specifies whether + grsecurity is auto-configured or otherwise completely + manually configured. Can either by + custom or auto. + + auto is recommended. + ''; + }; + + priority = mkOption { + type = types.str; + default = "security"; + example = "performance"; + description = '' + grsecurity configuration priority. This specifies whether + the kernel configuration should emphasize speed or + security. Can either by security or + performance. + ''; + }; + + system = mkOption { + type = types.str; + default = ""; + example = "desktop"; + description = '' + grsecurity system configuration. This specifies whether + the kernel configuration should be suitable for a Desktop + or a Server. Can either by server or + desktop. + ''; + }; + + virtualisationConfig = mkOption { + type = types.str; + default = "none"; + example = "host"; + description = '' + grsecurity virtualisation configuration. This specifies + the virtualisation role of the machine - that is, whether + it will be a virtual machine guest, a virtual machine + host, or neither. Can be one of none, + host, or guest. + ''; + }; + + hardwareVirtualisation = mkOption { + type = types.nullOr types.bool; + default = null; + example = true; + description = '' + grsecurity hardware virtualisation configuration. Set to + true if your machine supports hardware + accelerated virtualisation. + ''; + }; + + virtualisationSoftware = mkOption { + type = types.str; + default = ""; + example = "kvm"; + description = '' + grsecurity virtualisation software. Set this to the + specified virtual machine technology if the machine is + running as a guest, or a host. + + Can be one of kvm, + xen, vmware or + virtualbox. + ''; + }; + + sysctl = mkOption { + type = types.bool; + default = false; + description = '' + If true, then set GRKERN_SYSCTL y. If + enabled then grsecurity can be controlled using sysctl + (and turned off). You are advised to *never* enable this, + but if you do, make sure to always set the sysctl + kernel.grsecurity.grsec_lock to + non-zero as soon as all sysctl options are set. *THIS IS + EXTREMELY IMPORTANT*! + + If disabled, this also turns off the + systemd-sysctl service. + ''; + }; + + denyChrootChmod = mkOption { + type = types.bool; + default = false; + description = '' + If true, then set GRKERN_CHROOT_CHMOD + y. If enabled, this denies processes inside a + chroot from setting the suid or sgid bits using + chmod or fchmod. + + By default this protection is disabled - it makes it + impossible to use Nix to build software on your system, + which is what most users want. + + If you are using NixOps to deploy your software to a + remote machine, you're encouraged to enable this as you + won't need to compile code. + ''; + }; + + restrictProc = mkOption { + type = types.bool; + default = true; + description = '' + If true, then set GRKERN_PROC_USER + y. This restricts non-root users to only viewing + their own processes and restricts network-related + information, kernel symbols, and module information. + ''; + }; + + unrestrictProcGid = mkOption { + type = types.int; + default = config.ids.gids.grsecurity; + description = '' + If set, specifies a GID which is exempt from + /proc restrictions (set by + GRKERN_PROC_USER). By default, this is + set to the GID for grsecurity, a + predefined NixOS group, which the root + account is a member of. You may conveniently add other + users to this group if you need access to + /proc + ''; + }; + + disableRBAC = mkOption { + type = types.bool; + default = false; + description = '' + If true, then set GRKERN_NO_RBAC + y. This disables the + /dev/grsec device, which in turn + disables the RBAC system (and gradm). + ''; + }; + + verboseVersion = mkOption { + type = types.bool; + default = false; + description = "Use verbose version in kernel localversion."; + }; + + kernelExtraConfig = mkOption { + type = types.str; + default = ""; + description = "Extra kernel configuration parameters."; + }; + }; + }; + }; + + config = mkIf cfg.enable { + assertions = + [ { assertion = cfg.stable || cfg.testing; + message = '' + If grsecurity is enabled, you must select either the + stable patch (with kernel 3.2), or the testing patch (with + kernel 3.13) to continue. + ''; + } + { assertion = (cfg.stable -> !cfg.testing) || (cfg.testing -> !cfg.stable); + message = '' + You must select either the stable or testing patch, not + both. + ''; + } + { assertion = (cfg.testing -> !cfg.vserver); + message = "The vserver patches are only supported in the stable kernel."; + } + { assertion = config.boot.kernelPackages.kernel.features ? grsecurity + && config.boot.kernelPackages.kernel.features.grsecurity; + message = "grsecurity enabled, but kernel doesn't have grsec support"; + } + { assertion = elem cfg.config.mode [ "auto" "custom" ]; + message = "grsecurity mode must either be 'auto' or 'custom'."; + } + { assertion = cfg.config.mode == "auto" -> elem cfg.config.system [ "desktop" "server" ]; + message = "when using auto grsec mode, system must be either 'desktop' or 'server'"; + } + { assertion = cfg.config.mode == "auto" -> elem cfg.config.priority [ "performance" "security" ]; + message = "when using auto grsec mode, priority must be 'performance' or 'security'."; + } + { assertion = cfg.config.mode == "auto" -> elem cfg.config.virtualisationConfig [ "host" "guest" "none" ]; + message = "when using auto grsec mode, 'virt' must be 'host', 'guest' or 'none'."; + } + { assertion = (cfg.config.mode == "auto" && (elem cfg.config.virtualisationConfig [ "host" "guest" ])) -> + cfg.config.hardwareVirtualisation != null; + message = "when using auto grsec mode with virtualisation, you must specify if your hardware has virtualisation extensions"; + } + { assertion = (cfg.config.mode == "auto" && (elem cfg.config.virtualisationConfig [ "host" "guest" ])) -> + elem cfg.config.virtualisationSoftware [ "kvm" "xen" "virtualbox" "vmware" ]; + message = "virtualisation software must be 'kvm', 'xen', 'vmware' or 'virtualbox'"; + } + ]; + + systemd.services.grsec-lock = mkIf cfg.config.sysctl { + description = "grsecurity sysctl-lock Service"; + requires = [ "sysctl.service" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = "yes"; + script = '' + locked=`cat /proc/sys/kernel/grsecurity/grsec_lock` + if [ "$locked" == "0" ]; then + echo 1 > /proc/sys/kernel/grsecurity/grsec_lock + echo grsecurity sysctl lock - enabled + else + echo grsecurity sysctl lock already enabled - doing nothing + fi + ''; + }; + +# systemd.services.grsec-learn = { +# description = "grsecurity learning Service"; +# wantedBy = [ "local-fs.target" ]; +# serviceConfig = { +# Type = "oneshot"; +# RemainAfterExit = "yes"; +# ExecStart = "${pkgs.gradm}/sbin/gradm -VFL /etc/grsec/learning.logs"; +# ExecStop = "${pkgs.gradm}/sbin/gradm -D"; +# }; +# }; + + system.activationScripts.grsec = + '' + mkdir -p /etc/grsec + if [ ! -f /etc/grsec/learn_config ]; then + cp ${pkgs.gradm}/etc/grsec/learn_config /etc/grsec + fi + if [ ! -f /etc/grsec/policy ]; then + cp ${pkgs.gradm}/etc/grsec/policy /etc/grsec + fi + chmod -R 0600 /etc/grsec + ''; + + # Enable apparmor support, gradm udev rules, and utilities + security.apparmor.enable = true; + boot.kernelPackages = grsecPackage; + services.udev.packages = [ pkgs.gradm ]; + environment.systemPackages = [ pkgs.gradm pkgs.paxctl pkgs.pax-utils ]; + }; +} diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 8e3cb5f7aaa..267e5657e6c 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -18,6 +18,18 @@ let }; }; + grsecPatch = { grversion ? "3.0", kversion, revision, branch, sha256 }: + { name = "grsecurity-${grversion}-${kversion}"; + inherit grversion kversion revision; + patch = fetchurl { + url = "http://grsecurity.net/${branch}/grsecurity-${grversion}-${kversion}-${revision}.patch"; + inherit sha256; + }; + features.grsecurity = true; + # The grsec kernel patchset includes AppArmor patches + features.apparmor = true; + }; + makeAppArmorPatch = {apparmor, version}: stdenv.mkDerivation { name = "apparmor-${version}.patch"; @@ -26,6 +38,7 @@ let cat ${apparmor}/kernel-patches/${version}/* > $out ''; }; + in rec { @@ -71,31 +84,29 @@ rec { sha256 = "00b1rqgd4yr206dxp4mcymr56ymbjcjfa4m82pxw73khj032qw3j"; }; - - grsecurity_3_0_3_2_57 = - { name = "grsecurity-3.0-3.2.57"; - patch = fetchurl { - url = http://grsecurity.net/stable/grsecurity-3.0-3.2.57-201404091758.patch; - sha256 = "07rswg6vqyak9ccan954izx1fr0c6c6fn8whlzl0787dabpai3i3"; - }; - features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.2.57 - features.apparmor = true; + grsecurity_stable = grsecPatch + { kversion = "3.2.57"; + revision = "201404111812"; + branch = "stable"; + sha256 = "1kp2f5g5jdl6r833fm5l2sgf7qsjddl2br7mislc37iqgwzjmhlx"; }; - grsecurity_3_0_3_13_9 = - { name = "grsecurity-3.0-3.13.9"; - patch = fetchurl { - url = http://grsecurity.net/test/grsecurity-3.0-3.13.9-201404062127.patch; - sha256 = "0kwqgw2a44wqhwjwws63ww15apb8jki372iccq7h1w5vi551sl0m"; - }; - features.grsecurity = true; - # The grsec kernel patch seems to include the apparmor patches as of 3.0-3.13.9 - features.apparmor = true; + grsecurity_vserver = grsecPatch + { kversion = "3.2.57"; + revision = "vs2.3.2.16-201404111814"; + branch = "vserver"; + sha256 = "025kxk4j8kx7v5gmpafls67747l39ssfmzh0drg0hyg2yc0hjk2c"; }; - grsec_path = - { name = "grsec-path"; + grsecurity_unstable = grsecPatch + { kversion = "3.13.9"; + revision = "201404111815"; + branch = "test"; + sha256 = "1ikqvi0hv32m5rgxa8dpqr5v84hx7bnjfr6c1bvsfqikc818isvy"; + }; + + grsec_fix_path = + { name = "grsec-fix-path"; patch = ./grsec-path.patch; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e5ed92405ea..9295ba13645 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6907,39 +6907,6 @@ let kernelPatches = []; }; - grsecurityOverrider = args: { - # Apparently as of gcc 4.6, gcc-plugin headers (which are needed by PaX plugins) - # include libgmp headers, so we need these extra tweaks - buildInputs = args.buildInputs ++ [ gmp ]; - preConfigure = '' - ${args.preConfigure or ""} - sed -i 's|-I|-I${gmp}/include -I|' scripts/gcc-plugin.sh - sed -i 's|HOST_EXTRACFLAGS +=|HOST_EXTRACFLAGS += -I${gmp}/include|' tools/gcc/Makefile - sed -i 's|HOST_EXTRACXXFLAGS +=|HOST_EXTRACXXFLAGS += -I${gmp}/include|' tools/gcc/Makefile - ''; - }; - - # Note: grsec is not enabled automatically, you need to specify which kernel - # config options you need (e.g. by overriding extraConfig). See list of options here: - # https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options - linux_3_2_grsecurity = lowPrio (lib.addMetaAttrs { - maintainers = with lib.maintainers; [ wizeman thoughtpolice ]; - } (lib.overrideDerivation (linux_3_2.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_2_57 kernelPatches.grsec_path ]; - argsOverride = { - modDirVersion = "${linux_3_2.modDirVersion}-grsec"; - }; - })) (args: grsecurityOverrider args))); - - linux_3_13_grsecurity = lowPrio (lib.addMetaAttrs { - maintainers = with lib.maintainers; [ wizeman thoughtpolice ]; - } (lib.overrideDerivation (linux_3_13.override (args: { - kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_3_0_3_13_9 kernelPatches.grsec_path ]; - argsOverride = { - modDirVersion = "${linux_3_13.modDirVersion}-grsec"; - }; - })) (args: grsecurityOverrider args))); - linux_3_2_apparmor = lowPrio (linux_3_2.override { kernelPatches = [ kernelPatches.apparmor_3_2 ]; extraConfig = '' @@ -7104,7 +7071,6 @@ let # Build the kernel modules for the some of the kernels. linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2); linuxPackages_3_2_apparmor = linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor; - linuxPackages_3_2_grsecurity = linuxPackagesFor pkgs.linux_3_2_grsecurity linuxPackages_3_2_grsecurity; linuxPackages_3_2_xen = linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen; linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4); linuxPackages_3_4_apparmor = linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor; @@ -7112,7 +7078,6 @@ let linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); linuxPackages_3_10_tuxonice = linuxPackagesFor pkgs.linux_3_10_tuxonice linuxPackages_3_10_tuxonice; linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12 linuxPackages_3_12); - linuxPackages_3_13_grsecurity = linuxPackagesFor pkgs.linux_3_13_grsecurity linuxPackages_3_13_grsecurity; linuxPackages_3_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_13 linuxPackages_3_13); linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14); # Update this when adding a new version! From 83cb0354e9485a7d38e05072635e5437d967248a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 11 Apr 2014 10:10:24 +0200 Subject: [PATCH 697/880] clang_34: make it evaluate to 3.4 even on Darwin --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9295ba13645..fc4b1e14313 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2418,7 +2418,7 @@ let clang = wrapClang llvmPackages.clang; - clang_34 = wrapClang llvmPackages.clang; + clang_34 = wrapClang llvmPackages_34.clang; clang_33 = wrapClang (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix); clang_32 = wrapClang (clangUnwrapped llvm_32 ../development/compilers/llvm/3.2/clang.nix); clang_31 = wrapClang (clangUnwrapped llvm_31 ../development/compilers/llvm/3.1/clang.nix); From aee930586f35992a3921a6cc3e9e219fd7e69b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 12 Apr 2014 11:57:43 +0200 Subject: [PATCH 698/880] drumkv1: update from 0.4.0 to 0.4.1 --- pkgs/applications/audio/drumkv1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/drumkv1/default.nix b/pkgs/applications/audio/drumkv1/default.nix index 9a812fd261a..39f6ae0ded4 100644 --- a/pkgs/applications/audio/drumkv1/default.nix +++ b/pkgs/applications/audio/drumkv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "drumkv1-${version}"; - version = "0.4.0"; + version = "0.4.1"; src = fetchurl { url = "mirror://sourceforge/drumkv1/${name}.tar.gz"; - sha256 = "0bhj4liv6c0rw0gsh1zygj4a9vmwl3jdz2j6zzdxbqdk21xq4zpz"; + sha256 = "0wxbn5qm3dn9spwbm618flgrwvls7bipg0nhgn0lv4za2g823g56"; }; buildInputs = [ jackaudio libsndfile lv2 qt4 ]; From 440a174e2d179e78686a2b798d02fe0168bc9dfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 12 Apr 2014 11:58:13 +0200 Subject: [PATCH 699/880] samplv1: update from 0.4.0 to 0.4.1 --- pkgs/applications/audio/samplv1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/samplv1/default.nix b/pkgs/applications/audio/samplv1/default.nix index 2748dfd5db4..f1d3be317d1 100644 --- a/pkgs/applications/audio/samplv1/default.nix +++ b/pkgs/applications/audio/samplv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "samplv1-${version}"; - version = "0.4.0"; + version = "0.4.1"; src = fetchurl { url = "mirror://sourceforge/samplv1/${name}.tar.gz"; - sha256 = "04vldwpm4059czwd4i5yv07daqjnzs2zsrld779likans9ib3ri8"; + sha256 = "1cx3qs9vrdwmym2qsghqq53bshnjqgpqypsilr1m2i1cpfnfrr6x"; }; buildInputs = [ jackaudio libsndfile lv2 qt4 ]; From 02e693c400e4ec9fd644d26da3d777684d99f1bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 12 Apr 2014 11:58:29 +0200 Subject: [PATCH 700/880] synthv1: update from 0.4.0 to 0.4.1 --- pkgs/applications/audio/synthv1/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/synthv1/default.nix b/pkgs/applications/audio/synthv1/default.nix index 229d4fdac14..4037b88ecb7 100644 --- a/pkgs/applications/audio/synthv1/default.nix +++ b/pkgs/applications/audio/synthv1/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "synthv1-${version}"; - version = "0.4.0"; + version = "0.4.1"; src = fetchurl { url = "mirror://sourceforge/synthv1/${name}.tar.gz"; - sha256 = "0zyxja1s74fr95qbwsyykggs3af2ndm2hz1l0avb645xgm93vcfv"; + sha256 = "1j1x8n3rlwrh373wqmm6mj3cgyk3apvnpqygx1700fl4cf249agl"; }; buildInputs = [ qt4 jackaudio lv2 ]; From 6c1ac8159b50c1586b4d66365d31c0e5002c0526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sat, 12 Apr 2014 11:59:03 +0200 Subject: [PATCH 701/880] oxygen_gtk: update from 1.4.4 to 1.4.5 --- pkgs/misc/themes/gtk2/oxygen-gtk/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix index 1bd4d5f35b4..c3d846c566c 100644 --- a/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix +++ b/pkgs/misc/themes/gtk2/oxygen-gtk/default.nix @@ -2,12 +2,12 @@ cmake, dbus_glib, glib, gtk, gdk_pixbuf, pkgconfig, xorg }: stdenv.mkDerivation rec { - version = "1.4.4"; + version = "1.4.5"; name = "oxygen-gtk2-${version}"; src = fetchurl { url = "mirror://kde/stable/oxygen-gtk2/${version}/src/${name}.tar.bz2"; - sha256 = "1w3300v7kclpaccvd0wsajgay4mgg2fbbi1nd0zak0p5nn40sqf8"; + sha256 = "00ykq4aafakdkvww7kz84bvg9wc2gdji4m7z87f49hj1jxm84v2v"; }; buildInputs = [ cmake dbus_glib glib gtk gdk_pixbuf From c62b9e56f85a3e368308d9dab28f1f4bf12cd742 Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sat, 12 Apr 2014 14:40:03 +0200 Subject: [PATCH 702/880] perl: Finance::Quote 1.29 --- pkgs/top-level/perl-packages.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a6bd4c82e6e..c61b4c74ffc 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3667,11 +3667,11 @@ let self = _self // overrides; _self = with self; { propagatedBuildInputs = [ TestScript ]; }; - FinanceQuote = buildPerlPackage { - name = "Finance-Quote-1.19"; + FinanceQuote = buildPerlPackage rec { + name = "Finance-Quote-1.29"; src = fetchurl { - url = mirror://sourceforge/finance-quote/1.19/Finance-Quote-1.19.tar.gz; - sha256 = "0z1dqxw4by7rkwm113qp2mlhl5r0znr22kzinvr1p82svn0zvm2d"; + url = "mirror://cpan/authors/id/E/EC/ECOCODE/${name}.tar.gz"; + sha256 = "0rx8whixbhwq2imd3ffx3vcqdgfbjj6y1s01m38b52x3bjn9hw0f"; }; propagatedBuildInputs = [ CryptSSLeay HTMLTableExtract HTMLTree HTTPMessage LWP DateCalc JSON ]; meta = { From 4fea09ca4c3f8db6b95a67d2c27efd32c6f2ae7b Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 7 Apr 2014 10:36:39 -0500 Subject: [PATCH 703/880] google_api_python_client: Add package Closes #2178 Signed-off-by: Austin Seipp --- pkgs/top-level/python-packages.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4fe14a3bbe2..ecf039fed4d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3208,6 +3208,24 @@ rec { propagatedBuildInputs = [ gdata hcs_utils keyring simplejson ]; }; + google_api_python_client = buildPythonPackage rec { + name = "google-api-python-client-1.2"; + + src = fetchurl { + url = "https://google-api-python-client.googlecode.com/files/google-api-python-client-1.2.tar.gz"; + sha256 = "0xd619w71xk4ldmikxqhaaqn985rc2hy4ljgwfp50jb39afg7crw"; + }; + + propagatedBuildInputs = [ httplib2 ]; + + meta = with stdenv.lib; { + description = "The core Python library for accessing Google APIs"; + homepage = "https://code.google.com/p/google-api-python-client/"; + license = licenses.asl20; + platforms = platforms.unix; + }; + }; + greenlet = buildPythonPackage rec { name = "greenlet-0.3.1"; From 796ea8ee11ebbcbdc381b3ec7e300b8bd787069b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sat, 12 Apr 2014 16:59:29 +0200 Subject: [PATCH 704/880] haskell: add uri package --- pkgs/development/libraries/haskell/uri/default.nix | 14 ++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/libraries/haskell/uri/default.nix diff --git a/pkgs/development/libraries/haskell/uri/default.nix b/pkgs/development/libraries/haskell/uri/default.nix new file mode 100644 index 00000000000..aa94c931e54 --- /dev/null +++ b/pkgs/development/libraries/haskell/uri/default.nix @@ -0,0 +1,14 @@ +{ cabal, parsec, safe, utf8String }: + +cabal.mkDerivation (self: { + pname = "uri"; + version = "0.1.6.2"; + sha256 = "0f2ms8awm4x7pw8ms6in0mxspqmnhv8bxas0947rkrzc5m9k0h3s"; + buildDepends = [ parsec safe utf8String ]; + meta = { + homepage = "http://gitorious.org/uri"; + description = "Library for working with URIs"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 672b8ffe594..2d952056c59 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2492,6 +2492,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x unorderedContainers_0_2_3_3 = callPackage ../development/libraries/haskell/unordered-containers/0.2.3.3.nix {}; unorderedContainers = self.unorderedContainers_0_2_3_3; + uri = callPackage ../development/libraries/haskell/uri {}; + url = callPackage ../development/libraries/haskell/url {}; urlencoded = callPackage ../development/libraries/haskell/urlencoded {}; From 99d8ef06733caa60573c5bb14de889a369bfa6a1 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Fri, 11 Apr 2014 11:45:06 +0100 Subject: [PATCH 705/880] haskellPackages.snapCORS: New expression --- .../libraries/haskell/snap-cors/default.nix | 19 +++++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/libraries/haskell/snap-cors/default.nix diff --git a/pkgs/development/libraries/haskell/snap-cors/default.nix b/pkgs/development/libraries/haskell/snap-cors/default.nix new file mode 100644 index 00000000000..d805817838a --- /dev/null +++ b/pkgs/development/libraries/haskell/snap-cors/default.nix @@ -0,0 +1,19 @@ +{ cabal, attoparsec, caseInsensitive, hashable, network, snap, text +, transformers, unorderedContainers +}: + +cabal.mkDerivation (self: { + pname = "snap-cors"; + version = "1.2.2"; + sha256 = "1f32sj7y87lr0wjs3j3ynh95c4j4yx4fzizbgdfnjai1apcjkhcs"; + buildDepends = [ + attoparsec caseInsensitive hashable network snap text transformers + unorderedContainers + ]; + meta = { + homepage = "http://github.com/ocharles/snap-cors"; + description = "Add CORS headers to Snap applications"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 7f708438fc7..854af609423 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -2260,6 +2260,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x snapCore = callPackage ../development/libraries/haskell/snap/core.nix {}; + snapCORS = callPackage ../development/libraries/haskell/snap-cors {}; + snapLoaderDynamic = callPackage ../development/libraries/haskell/snap/loader-dynamic.nix {}; snapLoaderStatic = callPackage ../development/libraries/haskell/snap/loader-static.nix {}; From 3f1af5f709852baf59ea4a7bc5ac7270973fd115 Mon Sep 17 00:00:00 2001 From: Oliver Charles Date: Sat, 12 Apr 2014 16:06:35 +0100 Subject: [PATCH 706/880] haskellPackages.bert: Update to 1.2.2.2 --- pkgs/development/libraries/haskell/bert/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/haskell/bert/default.nix b/pkgs/development/libraries/haskell/bert/default.nix index e2d482b364e..96c421b708d 100644 --- a/pkgs/development/libraries/haskell/bert/default.nix +++ b/pkgs/development/libraries/haskell/bert/default.nix @@ -1,14 +1,14 @@ -{ cabal, async, binary, binaryConduit, conduit, mtl, network -, networkConduit, parsec, smallcheck, tasty, tastyHunit -, tastySmallcheck, time, void +{ cabal, async, binary, binaryConduit, conduit, conduitExtra, mtl +, network, parsec, smallcheck, tasty, tastyHunit, tastySmallcheck +, time, void }: cabal.mkDerivation (self: { pname = "bert"; - version = "1.2.2.1"; - sha256 = "1x23grykamyclx6a5jzyqwp3hwr2ma61zvmz89f3cj06sa49cgs0"; + version = "1.2.2.2"; + sha256 = "0bjrqgm0dpsrk1nivxmw2wvx33v7z7swgy3p5fb51vg7y81776cz"; buildDepends = [ - binary binaryConduit conduit mtl network networkConduit parsec time + binary binaryConduit conduit conduitExtra mtl network parsec time void ]; testDepends = [ From 0ef3c4777825d3afc1ea59e6ab83b02523bcb917 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sat, 12 Apr 2014 10:15:39 -0500 Subject: [PATCH 707/880] Add recipes for a few Haskell libraries --- .../haskell/data-ordlist/default.nix | 12 ++++++++++++ .../libraries/haskell/logging/default.nix | 19 +++++++++++++++++++ .../haskell/missing-foreign/default.nix | 12 ++++++++++++ .../haskell/time-recurrence/default.nix | 19 +++++++++++++++++++ .../libraries/haskell/timeparsers/default.nix | 13 +++++++++++++ pkgs/top-level/haskell-packages.nix | 10 ++++++++++ 6 files changed, 85 insertions(+) create mode 100644 pkgs/development/libraries/haskell/data-ordlist/default.nix create mode 100644 pkgs/development/libraries/haskell/logging/default.nix create mode 100644 pkgs/development/libraries/haskell/missing-foreign/default.nix create mode 100644 pkgs/development/libraries/haskell/time-recurrence/default.nix create mode 100644 pkgs/development/libraries/haskell/timeparsers/default.nix diff --git a/pkgs/development/libraries/haskell/data-ordlist/default.nix b/pkgs/development/libraries/haskell/data-ordlist/default.nix new file mode 100644 index 00000000000..ca506bc01e9 --- /dev/null +++ b/pkgs/development/libraries/haskell/data-ordlist/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "data-ordlist"; + version = "0.4.6"; + sha256 = "13gsvqifwlxcz10x704fy26288l0km2kfdlh4w9hl31a9vd427sx"; + meta = { + description = "Set and bag operations on ordered lists"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/logging/default.nix b/pkgs/development/libraries/haskell/logging/default.nix new file mode 100644 index 00000000000..1c7323f54cf --- /dev/null +++ b/pkgs/development/libraries/haskell/logging/default.nix @@ -0,0 +1,19 @@ +{ cabal, binary, fastLogger, hspec, liftedBase, monadControl +, monadLogger, pcreLight, text, thyme, transformers, vectorSpace +}: + +cabal.mkDerivation (self: { + pname = "logging"; + version = "1.3.0"; + sha256 = "1d2is6p828xvh59f9b971xf0w2l229652rniccxpm2mcfs893c79"; + buildDepends = [ + binary fastLogger liftedBase monadControl monadLogger pcreLight + text thyme transformers vectorSpace + ]; + testDepends = [ hspec monadLogger ]; + meta = { + description = "Simplified logging in IO for application writers"; + license = self.stdenv.lib.licenses.mit; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/missing-foreign/default.nix b/pkgs/development/libraries/haskell/missing-foreign/default.nix new file mode 100644 index 00000000000..9ffbc37468a --- /dev/null +++ b/pkgs/development/libraries/haskell/missing-foreign/default.nix @@ -0,0 +1,12 @@ +{ cabal }: + +cabal.mkDerivation (self: { + pname = "missing-foreign"; + version = "0.1.1"; + sha256 = "11f8pknbarlj956nmalqhd2v704z7d7xbi61hs1q8vb2p36kc6wy"; + meta = { + description = "Convenience functions for FFI work"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/time-recurrence/default.nix b/pkgs/development/libraries/haskell/time-recurrence/default.nix new file mode 100644 index 00000000000..0e23f84ebfc --- /dev/null +++ b/pkgs/development/libraries/haskell/time-recurrence/default.nix @@ -0,0 +1,19 @@ +{ cabal, dataOrdlist, HUnit, mtl, testFramework, testFrameworkHunit +, time +}: + +cabal.mkDerivation (self: { + pname = "time-recurrence"; + version = "0.9.2"; + sha256 = "1arqmkagmswimbh78qfz5bcilk9i14w29j4vf4i89d00vac3vrzm"; + buildDepends = [ dataOrdlist mtl time ]; + testDepends = [ + dataOrdlist HUnit mtl testFramework testFrameworkHunit time + ]; + meta = { + homepage = "http://github.com/hellertime/time-recurrence"; + description = "Generate recurring dates"; + license = self.stdenv.lib.licenses.gpl3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/development/libraries/haskell/timeparsers/default.nix b/pkgs/development/libraries/haskell/timeparsers/default.nix new file mode 100644 index 00000000000..57c9c7e3da7 --- /dev/null +++ b/pkgs/development/libraries/haskell/timeparsers/default.nix @@ -0,0 +1,13 @@ +{ cabal, attoparsec, convertible, mtl, time }: + +cabal.mkDerivation (self: { + pname = "timeparsers"; + version = "0.3.2"; + sha256 = "1dicp58f2amn5rgmnlfjpv4aj7ak6jrdlba2marglddvj4ycq1h7"; + buildDepends = [ attoparsec convertible mtl time ]; + meta = { + description = "Attoparsec parsers for various Date/Time formats"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 203847bcb00..fcf14325a82 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -923,6 +923,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x dataMemocombinators = callPackage ../development/libraries/haskell/data-memocombinators {}; + dataOrdlist = callPackage ../development/libraries/haskell/data-ordlist {}; + dataPprint = callPackage ../development/libraries/haskell/data-pprint {}; dataReify = callPackage ../development/libraries/haskell/data-reify {}; @@ -1689,6 +1691,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x logfloat = callPackage ../development/libraries/haskell/logfloat {}; + logging = callPackage ../development/libraries/haskell/logging {}; + logict = callPackage ../development/libraries/haskell/logict {}; lushtags = callPackage ../development/libraries/haskell/lushtags {}; @@ -1729,6 +1733,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x misfortune = callPackage ../development/libraries/haskell/misfortune {}; + missingForeign = callPackage ../development/libraries/haskell/missing-foreign {}; + MissingH = callPackage ../development/libraries/haskell/MissingH { testpack = null; }; @@ -2526,6 +2532,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x # pass it explicitly in rare circumstances. time = null; + timeparsers = callPackage ../development/libraries/haskell/timeparsers {}; + + timeRecurrence = callPackage ../development/libraries/haskell/time-recurrence {}; + timezoneOlson = callPackage ../development/libraries/haskell/timezone-olson {}; timezoneSeries = callPackage ../development/libraries/haskell/timezone-series {}; From c4eadfbac59c0ed4646c6da0a6305424a010d92e Mon Sep 17 00:00:00 2001 From: taku0 Date: Sun, 13 Apr 2014 00:29:14 +0900 Subject: [PATCH 708/880] add thunderbird-bin: the binary package for Thunderbird mail client --- .../mailreaders/thunderbird-bin/default.nix | 264 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 8 + 2 files changed, 272 insertions(+) create mode 100644 pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix new file mode 100644 index 00000000000..1e8a7e301ed --- /dev/null +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix @@ -0,0 +1,264 @@ +{ stdenv, fetchurl, config +, gconf +, alsaLib +, at_spi2_atk +, atk +, cairo +, cups +, curl +, dbus_glib +, dbus_libs +, fontconfig +, freetype +, gdk_pixbuf +, glib +, glibc +, gst_plugins_base +, gstreamer +, gtk +, kerberos +, libX11 +, libXScrnSaver +, libXext +, libXinerama +, libXrender +, libXt +, libcanberra +, libgnome +, libgnomeui +, mesa +, nspr +, nss +, pango +}: + +let + version = "24.4.0"; + + sources = [ + { locale = "ar"; arch = "linux-x86_64"; sha256 = "dd570da273c047e0b4bf29a7ed4bb4356dcbdd8de62ecb65fcddfecaf156966f"; } + { locale = "ar"; arch = "linux-i686"; sha256 = "f96c30ad874adf10608f818e0d986070b2a577de4d9aeb6c8dc7ea1ccd6e72f1"; } + { locale = "ast"; arch = "linux-x86_64"; sha256 = "8a50ff6a4f0d2bf68f989c2d3e0bca75c9fbcfc73c37b6cc16d935c1e3c1a9cf"; } + { locale = "ast"; arch = "linux-i686"; sha256 = "ace08104be64c038f5337e5178a79cb3f909c233f8722f7d54db04aef87935f9"; } + { locale = "be"; arch = "linux-x86_64"; sha256 = "793c07b33e861a5e29ce906a9764d980a82238b7c078391b96480592f526f323"; } + { locale = "be"; arch = "linux-i686"; sha256 = "98f2a5390572df625e0600ab224d5171d0357e187a3743ad72ec94d31533d993"; } + { locale = "bg"; arch = "linux-i686"; sha256 = "7d2fbb1ecad6e7a81c481a6697429809dc76809bba537ab8bc576b19ba5938f5"; } + { locale = "bg"; arch = "linux-x86_64"; sha256 = "a0a551d1790969b11ad2dcfc277f487645abff2497f2e9104235e77c45e5120c"; } + { locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "cb2a5549c3cdc9e159181cb9417c7f53158820f722e48d3ce2e4dcf10dea32d2"; } + { locale = "bn-BD"; arch = "linux-i686"; sha256 = "e395d07fb7b13443ccc97433d38a8845969cf854ace807950a364319c17861d6"; } + { locale = "br"; arch = "linux-i686"; sha256 = "8637d47dfb9b685a1034f5449d3481a5c62f74158f1a6318fe94504ad779dbb2"; } + { locale = "br"; arch = "linux-x86_64"; sha256 = "f36f6d2041a110ffc621249e6d92ec09f3b2bb7a1cf08b7892a0eb998b8a2bb3"; } + { locale = "ca"; arch = "linux-x86_64"; sha256 = "427a09458fe0d631a360b871db637d33bc0ad443ec443b7193db409321ab72da"; } + { locale = "ca"; arch = "linux-i686"; sha256 = "8531078cb31cb3035fdfd7397159cd42a6439868e954e1c9bd6eb7f9cd564bdb"; } + { locale = "cs"; arch = "linux-x86_64"; sha256 = "6fea39c9416357ec2902ed3dff84650a683dbe136790fa83cbca5d8bf869dc48"; } + { locale = "cs"; arch = "linux-i686"; sha256 = "c9e8d50e04dccd647ef7a566e68a3fe8374f86e9c1b7fe2001e3690270c5e7b9"; } + { locale = "da"; arch = "linux-x86_64"; sha256 = "41debf8c221063c4a5eafc3b769aabada6f3cebf35a354b7837c2ad737fa9b0f"; } + { locale = "da"; arch = "linux-i686"; sha256 = "77aa022e8c58dc60595f4600849da795faea4c20da6d5514f57e1b0033cda27c"; } + { locale = "de"; arch = "linux-x86_64"; sha256 = "05ec3d776de6060a82eea595b022b73c05ab7016419be5989929bd10ae282d27"; } + { locale = "de"; arch = "linux-i686"; sha256 = "471288d8660536508fe04b236eb72a7c245d27cadd59841a9bab0e73db271005"; } + { locale = "el"; arch = "linux-x86_64"; sha256 = "901c0097fb8072a37787a77758a0d6a2ced66acdf5a3588a0a6df3584034c309"; } + { locale = "el"; arch = "linux-i686"; sha256 = "da658a5f18a7162d513f8e0aac8d1648b18404bac7888a2f66c850f2084a54c5"; } + { locale = "en-GB"; arch = "linux-i686"; sha256 = "61c637e3b63a10d3c3eff91e9dcbd8558887a41d8e359aa637541bc4424a328a"; } + { locale = "en-GB"; arch = "linux-x86_64"; sha256 = "dcf399192062a7e3075125f550b0889fb4943c595814b8f6e755e9aa7e4656b1"; } + { locale = "en-US"; arch = "linux-i686"; sha256 = "376ab51e3c424db7e235b2e94494d48ce2fa9a8f1fbf5ef5cf9e367bbaf7422d"; } + { locale = "en-US"; arch = "linux-x86_64"; sha256 = "57917aa608131da4d569e791fc8167f4df54975b74c64d6df641858400dd4c1b"; } + { locale = "es-AR"; arch = "linux-x86_64"; sha256 = "47ecdb633bf1b246df84e796395a668fd98ac52a82177507da010b0174aa74d8"; } + { locale = "es-AR"; arch = "linux-i686"; sha256 = "9155d96fb14795bc5a22e10105ba0226a7b9c87a4d6ffa5cf7835dc77d69fa30"; } + { locale = "es-ES"; arch = "linux-i686"; sha256 = "3c41656512f1859b28abdf81d356dd90b720efd489d7021270114a9d28c54b38"; } + { locale = "es-ES"; arch = "linux-x86_64"; sha256 = "bad476b65d71744b9562a8548ca6cd608da92e62f45057688fef29ac77eb060e"; } + { locale = "et"; arch = "linux-i686"; sha256 = "06fdb2df4bcca189736fc6ae2fee6ba87f6b19d0b64f21bdb2b07e478fe6a0ba"; } + { locale = "et"; arch = "linux-x86_64"; sha256 = "f110d0940905e2cbe4ab14c1370ff88e533e030fb5a408bf4f06f517351d5979"; } + { locale = "eu"; arch = "linux-x86_64"; sha256 = "02bbb72fea711772d0dba0137641acb9f0293313a552e554443118324737fba4"; } + { locale = "eu"; arch = "linux-i686"; sha256 = "3a94fc161e98282691d668b68b3a8e7bf035dc87ec0d07be6eb1844b2a79cd39"; } + { locale = "fi"; arch = "linux-i686"; sha256 = "3f9c44306991554cf48fee4da86dec6ab06cb863baa8157d7adf29f6f8b0119f"; } + { locale = "fi"; arch = "linux-x86_64"; sha256 = "9883bfa54e331c17338bdf7e835a0a0f71a9366ad99ddc0fda12fd9d062f071b"; } + { locale = "fr"; arch = "linux-x86_64"; sha256 = "60e59c9b9ac78cba5604a051784a8721f84bfd10899d9575a4591ae4e5c48afc"; } + { locale = "fr"; arch = "linux-i686"; sha256 = "d16908d799fe667032d317b01db91cdfcd0b23654061203df84f5cb67d6ae837"; } + { locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "21e209179135fd97207e878c415d112e6c01bd7686f45eef2891cd8508dd8f9c"; } + { locale = "fy-NL"; arch = "linux-i686"; sha256 = "c8463a38d5fc454ad80a519a9828c1c8808688aa140b5d5276b53a659ae7bf7d"; } + { locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "22d6d90cd7490e36ef5df2106ba84bcd49038cecf70a60cebd4bf552a01bfdd7"; } + { locale = "ga-IE"; arch = "linux-i686"; sha256 = "5a7fcc013bcd09d327e40e5b0001057067f9e509e52f38681893f1a16cf8520a"; } + { locale = "gd"; arch = "linux-i686"; sha256 = "14c7d9a846a5d2a409089a16afdc97309d6818f97097d73757245b29cdeb73ae"; } + { locale = "gd"; arch = "linux-x86_64"; sha256 = "e4d3b093da2d80e2a2c02be8d03831c6a89e8969d3261a39f153a6d96f20c7eb"; } + { locale = "gl"; arch = "linux-i686"; sha256 = "73515b65314f8aa28fdb8708e821c01ba6edab5474e5140266b8ee8c0206807f"; } + { locale = "gl"; arch = "linux-x86_64"; sha256 = "7dd646cde4969243178237ea7fdf7b3c7c369e735a42f21292e8fcc3bce2c6ac"; } + { locale = "he"; arch = "linux-x86_64"; sha256 = "3fdf3750727f47628ffe4e7b28e8b7f180194be5985f4a10c703d3322a563e55"; } + { locale = "he"; arch = "linux-i686"; sha256 = "e4385cded8a13776890320780c6aa265c9562a6301f8f5ee7f4fbeb4aa54acf8"; } + { locale = "hr"; arch = "linux-x86_64"; sha256 = "ada94d6612f20642e6294a17334afb8d31b419132e725618a376728a6028454e"; } + { locale = "hr"; arch = "linux-i686"; sha256 = "bcbb85910f983145ff8df79574087cebaac6537600aa9a479f55298a7d6bc1c2"; } + { locale = "hu"; arch = "linux-i686"; sha256 = "0f41a925ee5c3ad59f24a6b59eed066d1fb37ea8ec81ab4bac70280437be2589"; } + { locale = "hu"; arch = "linux-x86_64"; sha256 = "9038e0358bb63a147835cacf91a7e7db888fc7b93662cca4919110e2a5daed76"; } + { locale = "hy-AM"; arch = "linux-i686"; sha256 = "24af2ffa71d5810f8e947de27e77a70310c22dc1cc89640b67416fe74a4a14b3"; } + { locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "62cfce68247f5afd2c68a97ed230b515c1515ecd279a753bf9c728c552683f6c"; } + { locale = "id"; arch = "linux-i686"; sha256 = "a5e2d72cb0841848cd5a947d4cda2e84db1eae97a0735974690176ccd966eeea"; } + { locale = "id"; arch = "linux-x86_64"; sha256 = "f1d539fe69b8121205c5411096554cab41ae4f42a2018af6ba020a2d8fe660dc"; } + { locale = "is"; arch = "linux-i686"; sha256 = "6eacbd0b4b9f47f67818d6021600b5dddc79d2a38edac5c47f61ac039ed5cdb6"; } + { locale = "is"; arch = "linux-x86_64"; sha256 = "fcc86ac738b190012d38d32c6cee3c35d57f6a3b80867c0107f4b8a2717961bb"; } + { locale = "it"; arch = "linux-x86_64"; sha256 = "9b668a501c7da55c630761dbf89ae8fe2e32038af8ce4c10fc646eae7c2d08e2"; } + { locale = "it"; arch = "linux-i686"; sha256 = "f610b7d4a34635e7c3b5c355873b65558537224d5a241b92605a49499ba4d5e6"; } + { locale = "ja"; arch = "linux-i686"; sha256 = "185ee26eb9a33ba534805b5b3547b3524bf11c94614adc252f7d17b41279d312"; } + { locale = "ja"; arch = "linux-x86_64"; sha256 = "1be85c39fa8b09a6bc2b11a47d04f0447628c3ed8a775d27c8e04577627ed63e"; } + { locale = "ko"; arch = "linux-i686"; sha256 = "e868d431d77b419bae6fcc7e1e137815ca8cbad6673074469005c606023d7983"; } + { locale = "ko"; arch = "linux-x86_64"; sha256 = "fa4db6ff8047a5e11411e507df4f84baac5511a1709d5685a2a6e8da0d2e1f25"; } + { locale = "lt"; arch = "linux-i686"; sha256 = "40c1eeabbd9d877750bee7f5f4a6b6f2108aa364ace8eefff26806a5bafca5eb"; } + { locale = "lt"; arch = "linux-x86_64"; sha256 = "4bdff4418bc0c9acc7d3b00ccc6500d51e65a501c2438e99e22c03bbeb36dfff"; } + { locale = "nb-NO"; arch = "linux-i686"; sha256 = "541b5f434e6354bb6a4c50abb828a49383b1d1a9fb31d6b99c1f052ef73bc2f2"; } + { locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "9e954408406762e55fd40487cad589c876285145931f8a12ff6ced29d9583cde"; } + { locale = "nl"; arch = "linux-i686"; sha256 = "06a57772563456d5283b9a36b9e6cbb5efb4f33e4ea29ac2446055e0a965b8c9"; } + { locale = "nl"; arch = "linux-x86_64"; sha256 = "42a8d995ac906c7fb4a1952db62d1717aa7c4660a2e7e794da3aae6aaac6f9c9"; } + { locale = "nn-NO"; arch = "linux-i686"; sha256 = "6fed1e74c6323d2909caf471ca733df46224afcb0c632d5fa0f0d80d6157efd3"; } + { locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "c29d8ff69ec2a8b5f508b7c56cd8679fe3b322f7e2e87f10303fd8bca1b93230"; } + { locale = "pa-IN"; arch = "linux-i686"; sha256 = "a69a7ceb4fa85cc43c367f1ddebafa76808e83d3044c158287a5923b82fc3093"; } + { locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "e38e75976891204fde647d389b6c89c807d378a534d6e04582024755a3cb6139"; } + { locale = "pl"; arch = "linux-x86_64"; sha256 = "39a0d3f865c462b5d3ae569825befd61dbf3ee5a6b2b81d3b9d31f4c98cf7b72"; } + { locale = "pl"; arch = "linux-i686"; sha256 = "3ccedf1ad79135d825f762dd09da88be23901591b27ea7e61a887d5398284a46"; } + { locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "ea29e40d41442ab373855acd7b40927fc5a0408f9d3bb4a0c6a2021cd8b0fca2"; } + { locale = "pt-BR"; arch = "linux-i686"; sha256 = "f6170909b6527e935584673a17d1245c33142a755a9db45dda2de240871fc6c0"; } + { locale = "pt-PT"; arch = "linux-i686"; sha256 = "15531f4e4652d533fd8cb8d3be8b5e24717240160d885629eecc7f08d8cd0701"; } + { locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "9100cdf6ba87959dfbdf756c925f6a2f35fc0c6ed453625a23eccc48f0bdf331"; } + { locale = "rm"; arch = "linux-x86_64"; sha256 = "9bd00e4e2634e9f922d6c1d4ef82dcba53f88fa6d7d1986037665a42109d39d2"; } + { locale = "rm"; arch = "linux-i686"; sha256 = "e2ca3832625efa908c6d88627960e1d98255d14095a36033cddaa50065172da0"; } + { locale = "ro"; arch = "linux-x86_64"; sha256 = "676120061a33c1bbbd381ea1d84b271c6e21d4a531ba776f67f7a02fd91fb99e"; } + { locale = "ro"; arch = "linux-i686"; sha256 = "c69d6b8a8de474e460c89ba442e25aa39fe761225f7c4b12eb1df88021a6b6c3"; } + { locale = "ru"; arch = "linux-x86_64"; sha256 = "5a6af10060b8ea8acd3955a4056765574873e9341e4627ddcbf9811724f5eac0"; } + { locale = "ru"; arch = "linux-i686"; sha256 = "92ce7cb5db9d94e291d7275b8817640c68dc061a3947317cba76ceb263a4b614"; } + { locale = "si"; arch = "linux-i686"; sha256 = "39849a4d38a96ebca9727b65093c36d8d50cadddcdea7ea404ee4aeff10fec0d"; } + { locale = "si"; arch = "linux-x86_64"; sha256 = "fa42ef419e173181166c6797e37571df6b7c25797a5caf8ca44c34b4f2faacdb"; } + { locale = "sk"; arch = "linux-x86_64"; sha256 = "2c9c81db8c15116e6061de0b44dcb34579ce305ca30af284cf9eac52630fef55"; } + { locale = "sk"; arch = "linux-i686"; sha256 = "b253607b29565169d74c491772ba2887c3e2c0dfcc3a7cedf91afa0bb073ff72"; } + { locale = "sl"; arch = "linux-x86_64"; sha256 = "03e7781cd0c3fef0596e55ba8a711ef8b8f300e48297ef3cad7885b2b118864f"; } + { locale = "sl"; arch = "linux-i686"; sha256 = "18fe799b1b675e5513ddf9edbe845bfaaafd67162e9d34250a31d0ee05bc9bba"; } + { locale = "sq"; arch = "linux-i686"; sha256 = "4fd1be2d2c6a703544b82bf977ea63df3e295c16c9ea97573ee57945e07639ee"; } + { locale = "sq"; arch = "linux-x86_64"; sha256 = "e96f7302d47897c3fc58a2777aed666aca29641500e912cee1bc59406df8e500"; } + { locale = "sr"; arch = "linux-x86_64"; sha256 = "ede709c9e6014edbc543511d99a61acfb0d40b796ed5ab42267ae7f8efb6583c"; } + { locale = "sr"; arch = "linux-i686"; sha256 = "fbfc0d476817c7076a72fd6fe2519c6a347fb062f696a8fe0c969182750d1d11"; } + { locale = "sv-SE"; arch = "linux-i686"; sha256 = "d30dda991111ae5bbf7252d889cef53258317d3570e56360db3d7676a8fc7602"; } + { locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "eba61a1417ba4cb4885732d2eb621f5a385b4b433f706d52bd1b401d2298985e"; } + { locale = "ta-LK"; arch = "linux-i686"; sha256 = "92dc3a2aaf30c5bb16462ee7d73a5df6f8b5d2d1530f5d1fb4b90460e84dc77f"; } + { locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "e5db15f32c819d3b0e670ac975d7afc118915abeaf4a9f0a02a5b67c490605d7"; } + { locale = "tr"; arch = "linux-x86_64"; sha256 = "0c689f622a0770a0b0d8f87d35513f9fbc110ca507d0b8b3bd426f763a0f77c4"; } + { locale = "tr"; arch = "linux-i686"; sha256 = "f49e5f3bf1b4616f52e82c480f9a4752269f393d79de2274fc0562cfe9fef1ea"; } + { locale = "uk"; arch = "linux-x86_64"; sha256 = "06100c2a82b3c31ea85f1f1d8856db62f2a73142fd1263e3db5df679f8843d8f"; } + { locale = "uk"; arch = "linux-i686"; sha256 = "8358a935935215fea5eb75c69cf63bb5fc5c22bcce76939cfb804f3ee9f89e54"; } + { locale = "vi"; arch = "linux-i686"; sha256 = "16a0f71efcf71640234501e3c8a3bd1befe15e1bb0bacc83ff590d6c780a0e5b"; } + { locale = "vi"; arch = "linux-x86_64"; sha256 = "d5d0371ade5603cb725d6677983df037da06acb13207550b8a1a88c2948e992b"; } + { locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "287b1fda3bb2d8d27ea22ea4c8c21d7ee0b3a5d439ea32e72dfc882fd64c5765"; } + { locale = "zh-CN"; arch = "linux-i686"; sha256 = "3bddd9f4e742ad80bb6d35f3db8ea50cd496ad1be06003e67b4fcc290945bab8"; } + { locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "5a5cb16f45d1c3ccd9e0fd0b21a7b55e90b49f0b37cd550bd89cb6c00d92046c"; } + { locale = "zh-TW"; arch = "linux-i686"; sha256 = "aea52fd5f8d8d5b720e1fde907b9a7b7638b384b71d01295b08749df06c578bc"; } + ]; + + arch = if stdenv.system == "i686-linux" + then "linux-i686" + else "linux-x86_64"; + + isPrefixOf = prefix: string: + builtins.substring 0 (builtins.stringLength prefix) string == prefix; + + sourceMatches = locale: source: + (isPrefixOf source.locale locale) && source.arch == arch; + + systemLocale = config.i18n.defaultLocale or "en-US"; + + defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources; + + source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources; + +in + +stdenv.mkDerivation { + name = "thunderbird-bin-${version}"; + + src = fetchurl { + url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2"; + inherit (source) sha256; + }; + + phases = "unpackPhase installPhase"; + + libPath = stdenv.lib.makeLibraryPath + [ stdenv.gcc.gcc + gconf + alsaLib + at_spi2_atk + atk + cairo + cups + curl + dbus_glib + dbus_libs + fontconfig + freetype + gdk_pixbuf + glib + glibc + gst_plugins_base + gstreamer + gtk + kerberos + libX11 + libXScrnSaver + libXext + libXinerama + libXrender + libXt + libcanberra + libgnome + libgnomeui + mesa + nspr + nss + pango + ] + ":" + stdenv.lib.makeSearchPath "lib64" [ + stdenv.gcc.gcc + ]; + + installPhase = + '' + mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}" + cp -r * "$prefix/usr/lib/thunderbird-bin-${version}" + + mkdir -p "$out/bin" + ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/" + + for executable in \ + thunderbird mozilla-xremote-client thunderbird-bin plugin-container \ + updater + do + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + "$out/usr/lib/thunderbird-bin-${version}/$executable" + done + + for executable in \ + thunderbird mozilla-xremote-client thunderbird-bin plugin-container \ + updater libxul.so + do + patchelf --set-rpath "$libPath" \ + "$out/usr/lib/thunderbird-bin-${version}/$executable" + done + + # Create a desktop item. + mkdir -p $out/share/applications + cat > $out/share/applications/thunderbird.desktop < Date: Sat, 12 Apr 2014 19:27:26 +0400 Subject: [PATCH 709/880] Update MDBTools Git version --- pkgs/tools/misc/mdbtools/git.nix | 15 +++++++++------ pkgs/top-level/all-packages.nix | 4 +++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix index e7342d9b3e6..2805514965e 100644 --- a/pkgs/tools/misc/mdbtools/git.nix +++ b/pkgs/tools/misc/mdbtools/git.nix @@ -1,22 +1,25 @@ { stdenv, fetchurl, fetchgit, glib, readline, bison, flex, pkgconfig, - libiconv, autoconf, automake, libtool }: + libiconv, autoconf, automake, libtool, which, txt2man, gnome_doc_utils, + scrollkeeper}: stdenv.mkDerivation { name = "mdbtools-git"; src = fetchgit { url = "http://github.com/brianb/mdbtools.git"; - rev = "5ac44b69d9375cca3e1055b70fd22abf7fbf17ab"; - sha256 = "094e6b480c6fda3a000d0d8539b209d2d7c204a440660a21c11f2e1c9b3aa345"; + rev = "dfd752ec022097ee1e0999173aa604d8a0c0ca8b"; + sha256 = "0ibj36yxlhwjgi7cj170lwpbzdbgidkq5p8raa59v76bdrxwmb0n"; }; buildInputs = [glib readline bison flex pkgconfig libiconv autoconf automake - libtool]; + libtool which txt2man gnome_doc_utils scrollkeeper ]; preConfigure = '' sed -e 's@static \(GHashTable [*]mdb_backends;\)@\1@' -i src/libmdb/backend.c - export NIX_LDFLAGS="$NIX_LDFLAGS -liconv" - ./autogen.sh + sed -e '/ENABLE_GTK_DOC/aAM_CONDITIONAL(HAVE_GNOME_DOC_UTILS, test x$enable_gtk_doc = xyes)' \ + -e '/ENABLE_GTK_DOC/aAM_CONDITIONAL(ENABLE_SK, test x$enable_scrollkeeper = xyes)' \ + -i configure.ac + autoreconf -i -f ''; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fc4b1e14313..888f62d0f06 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1394,7 +1394,9 @@ let mdbtools = callPackage ../tools/misc/mdbtools { }; - mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { }; + mdbtools_git = callPackage ../tools/misc/mdbtools/git.nix { + inherit (gnome) scrollkeeper; + }; megacli = callPackage ../tools/misc/megacli { }; From c3efd1a3f759b026b664a01a641f9e9028134fb5 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sat, 12 Apr 2014 10:50:57 -0500 Subject: [PATCH 710/880] Update httrack recipe Closes #2222 Signed-off-by: Austin Seipp --- pkgs/tools/backup/httrack/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/httrack/default.nix b/pkgs/tools/backup/httrack/default.nix index 4fa3345d220..a77689c85fc 100644 --- a/pkgs/tools/backup/httrack/default.nix +++ b/pkgs/tools/backup/httrack/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, zlib, openssl }: stdenv.mkDerivation rec { - version = "3.47.27"; + version = "3.48.3"; name = "httrack-${version}"; src = fetchurl { url = "http://mirror.httrack.com/httrack-${version}.tar.gz"; - sha256 = "1qgrs9wdqq4v9ywlb1b89i95w4a36y741l49xbpmb7mb7nvbz5kw"; + sha256 = "1lg5rrql01q3z7fwcij5p64r22x4vbswcky80gajx5f62kxlxn0r"; }; buildInputs = [ zlib openssl ]; From b296895abe8ed8bd89ed9d0d7e3bf9ba3168180c Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sat, 12 Apr 2014 11:05:25 -0500 Subject: [PATCH 711/880] Allow lsof to build on darwin (fixes #2219) Closes #2219, closes #2223 Signed-off-by: Austin Seipp --- pkgs/development/tools/misc/lsof/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix index 2469a0210b3..ec3a5e9bcbf 100644 --- a/pkgs/development/tools/misc/lsof/default.nix +++ b/pkgs/development/tools/misc/lsof/default.nix @@ -12,7 +12,9 @@ stdenv.mkDerivation { preBuild = "sed -i Makefile -e 's/^CFGF=/& -DHASIPv6=1/;';"; - configurePhase = "./Configure -n linux;"; + configurePhase = if stdenv.isDarwin + then "./Configure -n darwin;" + else "./Configure -n linux;"; installPhase = '' mkdir -p $out/bin $out/man/man8 From 64efd184ed389527bcfbe2f71c312546431f0261 Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sat, 12 Apr 2014 11:16:03 -0500 Subject: [PATCH 712/880] grsecurity: Fix GRKERNSEC_PROC restrictions Previously we were setting GRKERNSEC_PROC_USER y, which was a little bit too strict. It doesn't allow a special group (e.g. the grsecurity group users) to access /proc information - this requires GRKERNSEC_PROC_USERGROUP y, and the two are mutually exclusive. This was also not in line with the default automatic grsecurity configuration - it actually defaults to USERGROUP (although it has a default GID of 1001 instead of ours), not USER. This introduces a new option restrictProcWithGroup - enabled by default - which turns on GRKERNSEC_PROC_USERGROUP instead. It also turns off restrictProc by default and makes sure both cannot be enabled. Signed-off-by: Austin Seipp --- nixos/modules/security/grsecurity.nix | 42 ++++++++++++++++++++------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix index 1759413c558..913a0afc452 100644 --- a/nixos/modules/security/grsecurity.nix +++ b/nixos/modules/security/grsecurity.nix @@ -78,9 +78,14 @@ let GRKERNSEC y ${grsecMainConfig} - GRKERNSEC_PROC_USER ${boolToKernOpt cfg.config.restrictProc} - ${if !cfg.config.restrictProc then "" - else "GRKERNSEC_PROC_GID "+(toString cfg.config.unrestrictProcGid)} + ${if cfg.config.restrictProc then + "GRKERNSEC_PROC_USER y" + else + optionalString cfg.config.restrictProcWithGroup '' + GRKERNSEC_PROC_USERGROUP y + GRKERNSEC_PROC_GID ${toString cfg.config.unrestrictProcGid} + '' + } GRKERNSEC_SYSCTL ${boolToKernOpt cfg.config.sysctl} GRKERNSEC_CHROOT_CHMOD ${boolToKernOpt cfg.config.denyChrootChmod} @@ -278,7 +283,7 @@ in restrictProc = mkOption { type = types.bool; - default = true; + default = false; description = '' If true, then set GRKERN_PROC_USER y. This restricts non-root users to only viewing @@ -287,18 +292,31 @@ in ''; }; + restrictProcWithGroup = mkOption { + type = types.bool; + default = true; + description = '' + If true, then set GRKERN_PROC_USERGROUP + y. This is similar to + restrictProc except it allows a special + group (specified by unrestrictProcGid) + to still access otherwise classified information in + /proc. + ''; + }; + unrestrictProcGid = mkOption { type = types.int; default = config.ids.gids.grsecurity; description = '' If set, specifies a GID which is exempt from /proc restrictions (set by - GRKERN_PROC_USER). By default, this is - set to the GID for grsecurity, a - predefined NixOS group, which the root - account is a member of. You may conveniently add other - users to this group if you need access to - /proc + GRKERN_PROC_USERGROUP). By default, + this is set to the GID for grsecurity, + a predefined NixOS group, which the + root account is a member of. You may + conveniently add other users to this group if you need + access to /proc ''; }; @@ -346,6 +364,10 @@ in { assertion = (cfg.testing -> !cfg.vserver); message = "The vserver patches are only supported in the stable kernel."; } + { assertion = (cfg.config.restrictProc -> !cfg.config.restrictProcWithGroup) || + (cfg.config.restrictProcWithGroup -> !cfg.config.restrictProc); + message = "You cannot enable both restrictProc and restrictProcWithGroup"; + } { assertion = config.boot.kernelPackages.kernel.features ? grsecurity && config.boot.kernelPackages.kernel.features.grsecurity; message = "grsecurity enabled, but kernel doesn't have grsec support"; From 1ae918b0d2f6192bb07fc457b6bda89bba38a6c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 12 Apr 2014 20:24:43 +0200 Subject: [PATCH 713/880] gtk3: bugfix update 3.12.0 -> .1 --- pkgs/development/libraries/gtk+/3.x.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index c8e4299e1a7..82e2e41aff8 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -10,7 +10,7 @@ assert cupsSupport -> cups != null; let ver_maj = "3.12"; - ver_min = "0"; + ver_min = "1"; version = "${ver_maj}.${ver_min}"; in stdenv.mkDerivation rec { @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz"; - sha256 = "0jvf9dawq82x1xsr2f56fw3y7yfwapgdj16gr4d5m6q2shf78sgb"; + sha256 = "1kbp0bmyzh7lbxv9y349vrj3d0n0hn68r5kyvg5683snvdgsx6ki"; }; nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ]; From 2fd160f02731745ff1d258003793649b8ee182d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sat, 12 Apr 2014 17:18:50 +0200 Subject: [PATCH 714/880] haskell: update yi to 0.8.1 --- pkgs/applications/editors/yi/yi-contrib.nix | 10 +++++--- pkgs/applications/editors/yi/yi.nix | 27 ++++++++++----------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix index 6dd75301187..c7d3f094016 100644 --- a/pkgs/applications/editors/yi/yi-contrib.nix +++ b/pkgs/applications/editors/yi/yi-contrib.nix @@ -1,10 +1,12 @@ -{ cabal, dataAccessor, filepath, mtl, split, yi }: +{ cabal, filepath, lens, mtl, split, time, transformersBase, yi }: cabal.mkDerivation (self: { pname = "yi-contrib"; - version = "0.7.2"; - sha256 = "074cq1y0pp66r2fqqszd8w2pws8jbfwq9g39w3rsgjnw83058fr8"; - buildDepends = [ dataAccessor filepath mtl split yi ]; + version = "0.8.1"; + sha256 = "0jsbga30x302mr708vj5y7cpc961vh85dshpq2zlrf44dh0kmpvf"; + buildDepends = [ + filepath lens mtl split time transformersBase yi + ]; meta = { homepage = "http://haskell.org/haskellwiki/Yi"; description = "Add-ons to Yi, the Haskell-Scriptable Editor"; diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix index b358f5488dc..96e4a06965c 100644 --- a/pkgs/applications/editors/yi/yi.nix +++ b/pkgs/applications/editors/yi/yi.nix @@ -1,31 +1,30 @@ { cabal, alex, binary, Cabal, cautiousFile, concreteTyperep -, dataAccessor, dataAccessorMtl, dataAccessorTemplate, derive, Diff -, dlist, dyre, filepath, fingertree, glib, gtk, hashable, hint -, HUnit, mtl, pango, parsec, pointedlist, QuickCheck, random -, regexBase, regexTdfa, split, testFramework, testFrameworkHunit -, time, uniplate, unixCompat, unorderedContainers, utf8String, vty +, dataDefault, derive, Diff, dlist, dyre, filepath, fingertree +, glib, gtk, hashable, hint, HUnit, lens, mtl, pango, parsec +, pointedlist, QuickCheck, random, regexBase, regexTdfa, safe +, split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase +, uniplate, unixCompat, unorderedContainers, utf8String, vty , xdgBasedir }: cabal.mkDerivation (self: { pname = "yi"; - version = "0.7.2"; - sha256 = "0g0hvr4zqcrmdl6mbdmrfxd5m51fhkhslvl9piwq83g2wirxqbvm"; + version = "0.8.1"; + sha256 = "1hyqlydc0na9pkb3fkbp13c6vnp4f80z8237bvrv12wkk5syyn23"; isLibrary = true; isExecutable = true; buildDepends = [ - binary Cabal cautiousFile concreteTyperep dataAccessor - dataAccessorMtl dataAccessorTemplate derive Diff dlist dyre - filepath fingertree glib gtk hashable hint mtl pango parsec - pointedlist QuickCheck random regexBase regexTdfa split time - uniplate unixCompat unorderedContainers utf8String vty xdgBasedir + binary Cabal cautiousFile concreteTyperep dataDefault derive Diff + dlist dyre filepath fingertree glib gtk hashable hint lens mtl + pango parsec pointedlist QuickCheck random regexBase regexTdfa safe + split time transformersBase uniplate unixCompat unorderedContainers + utf8String vty xdgBasedir ]; testDepends = [ - filepath HUnit QuickCheck testFramework testFrameworkHunit + filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck ]; buildTools = [ alex ]; configureFlags = "-fpango"; - jailbreak = true; doCheck = false; meta = { homepage = "http://haskell.org/haskellwiki/Yi"; From 010132e302d390676da456ed75e20018b1379cd9 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sat, 12 Apr 2014 11:37:45 -0500 Subject: [PATCH 715/880] Change several package constraints from linux to unix They all build on Darwin. --- .../version-management/git-and-tools/tig/default.nix | 2 +- pkgs/development/tools/build-managers/ninja/default.nix | 2 +- pkgs/development/tools/misc/global/default.nix | 2 +- pkgs/tools/networking/iperf/default.nix | 2 +- pkgs/tools/networking/mosh/default.nix | 2 +- pkgs/tools/networking/pdnsd/default.nix | 2 +- pkgs/tools/networking/socat/default.nix | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix index 23009efdbd5..fd9011130e3 100644 --- a/pkgs/applications/version-management/git-and-tools/tig/default.nix +++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix @@ -26,6 +26,6 @@ stdenv.mkDerivation rec { description = "Text-mode interface for git"; maintainers = with maintainers; [ garbas bjornfor iElectric ]; license = licenses.gpl2; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/development/tools/build-managers/ninja/default.nix b/pkgs/development/tools/build-managers/ninja/default.nix index b5c0b0a03da..75c2da8a28d 100644 --- a/pkgs/development/tools/build-managers/ninja/default.nix +++ b/pkgs/development/tools/build-managers/ninja/default.nix @@ -36,7 +36,7 @@ stdenv.mkDerivation rec { ''; homepage = http://martine.github.io/ninja/; license = licenses.asl20; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix index 4048d21c8f7..fdb5f72af83 100644 --- a/pkgs/development/tools/misc/global/default.nix +++ b/pkgs/development/tools/misc/global/default.nix @@ -42,6 +42,6 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/global/; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/tools/networking/iperf/default.nix b/pkgs/tools/networking/iperf/default.nix index 2ee8a90cb4a..33d8ee2fd63 100644 --- a/pkgs/tools/networking/iperf/default.nix +++ b/pkgs/tools/networking/iperf/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = "http://sourceforge.net/projects/iperf/"; description = "Tool to measure IP bandwidth using UDP or TCP"; - platforms = platforms.linux; + platforms = platforms.unix; license = "as-is"; }; } diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix index 2708210af80..e781af7c235 100644 --- a/pkgs/tools/networking/mosh/default.nix +++ b/pkgs/tools/networking/mosh/default.nix @@ -28,6 +28,6 @@ stdenv.mkDerivation rec { ''; license = "GPLv3+"; maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/tools/networking/pdnsd/default.nix b/pkgs/tools/networking/pdnsd/default.nix index 4b111475e69..14f57b61a2f 100644 --- a/pkgs/tools/networking/pdnsd/default.nix +++ b/pkgs/tools/networking/pdnsd/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { description = "Permanent DNS caching"; homepage = http://www.phys.uu.nl/~rombouts/pdnsd.html; license = "GPLv3+"; - platforms = with stdenv.lib.platforms; linux; + platforms = stdenv.lib.platforms.unix; maintainers = with stdenv.lib.maintainers; [viric]; }; } diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix index 7da82796b1c..84ba2106a26 100644 --- a/pkgs/tools/networking/socat/default.nix +++ b/pkgs/tools/networking/socat/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { description = "A utility for bidirectional data transfer between two independent data channels"; homepage = http://www.dest-unreach.org/socat/; repositories.git = git://repo.or.cz/socat.git; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; license = stdenv.lib.licenses.gpl2; maintainers = stdenv.lib.maintainers.eelco; }; From a0886ae0243229e71e147c759efabb61c056ac5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertugrul=20S=C3=B6ylemez?= Date: Sun, 13 Apr 2014 03:28:20 +0200 Subject: [PATCH 716/880] keepassx: Renamed KeePassX 2.0 to keepassx2. --- pkgs/applications/misc/keepassx/2.0.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/keepassx/2.0.nix b/pkgs/applications/misc/keepassx/2.0.nix index 6d54032bb38..1a79af7cb57 100644 --- a/pkgs/applications/misc/keepassx/2.0.nix +++ b/pkgs/applications/misc/keepassx/2.0.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, cmake, libgcrypt, qt4, xlibs, ... }: stdenv.mkDerivation { - name = "keepassx-2.0alpha5"; + name = "keepassx2-2.0alpha5"; src = fetchurl { url = "https://github.com/keepassx/keepassx/archive/2.0-alpha5.tar.gz"; sha256 = "1vxj306zhrr38mvsy3vpjlg6d0xwlcvsi3l69nhhwzkccsc4smfm"; From a3155a0e2ac7bc875e6bdbcbd44c336714cfc0da Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sat, 12 Apr 2014 21:20:16 -0500 Subject: [PATCH 717/880] nixos: add a UID for Hydra Otherwise the Hydra module can't be used when mutableUsers = false; Signed-off-by: Austin Seipp --- nixos/modules/misc/ids.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index c6581fee551..664aed7fbc9 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -129,6 +129,7 @@ foundationdb = 118; newrelic = 119; starbound = 120; + hydra = 121; # When adding a uid, make sure it doesn't match an existing gid. From 324ade465805466be9bcfa5b29dcfa7af60505c9 Mon Sep 17 00:00:00 2001 From: James Cook Date: Fri, 11 Apr 2014 11:31:50 -0700 Subject: [PATCH 718/880] Patch python27 for CVE-2014-1912. --- .../python/2.7/CVE-2014-1912.patch | 57 +++++++++++++++++++ .../interpreters/python/2.7/default.nix | 4 ++ 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch diff --git a/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch b/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch new file mode 100644 index 00000000000..95399bf7607 --- /dev/null +++ b/pkgs/development/interpreters/python/2.7/CVE-2014-1912.patch @@ -0,0 +1,57 @@ +# Edited from Mercurial patch: deleted the NEWS hunk, since it didn't apply cleanly. +# It added the following line to NEWS: +# - Issue #20246: Fix buffer overflow in socket.recvfrom_into. + +# HG changeset patch +# User Benjamin Peterson +# Date 1389671978 18000 +# Node ID 87673659d8f7ba1623cd4914f09ad3d2ade034e9 +# Parent 2631d33ee7fbd5f0288931ef37872218d511d2e8 +complain when nbytes > buflen to fix possible buffer overflow (closes #20246) + +diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py +--- a/Lib/test/test_socket.py ++++ b/Lib/test/test_socket.py +@@ -1620,6 +1620,16 @@ class BufferIOTest(SocketConnectedTest): + + _testRecvFromIntoMemoryview = _testRecvFromIntoArray + ++ def testRecvFromIntoSmallBuffer(self): ++ # See issue #20246. ++ buf = bytearray(8) ++ self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024) ++ ++ def _testRecvFromIntoSmallBuffer(self): ++ with test_support.check_py3k_warnings(): ++ buf = buffer(MSG*2048) ++ self.serv_conn.send(buf) ++ + + TIPC_STYPE = 2000 + TIPC_LOWER = 200 +diff --git a/Misc/ACKS b/Misc/ACKS +--- a/Misc/ACKS ++++ b/Misc/ACKS +@@ -979,6 +979,7 @@ Eric V. Smith + Christopher Smith + Gregory P. Smith + Roy Smith ++Ryan Smith-Roberts + Rafal Smotrzyk + Dirk Soede + Paul Sokolovsky +diff --git a/Misc/NEWS b/Misc/NEWS +--- a/Modules/socketmodule.c ++++ b/Modules/socketmodule.c +@@ -2742,6 +2742,10 @@ sock_recvfrom_into(PySocketSockObject *s + if (recvlen == 0) { + /* If nbytes was not specified, use the buffer's length */ + recvlen = buflen; ++ } else if (recvlen > buflen) { ++ PyErr_SetString(PyExc_ValueError, ++ "nbytes is greater than the length of the buffer"); ++ goto error; + } + + readlen = sock_recvfrom_guts(s, buf.buf, recvlen, flags, &addr); + diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index e9277ce2daf..eeadc3c8cc7 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -28,6 +28,10 @@ let # patch python to put zero timestamp into pyc # if DETERMINISTIC_BUILD env var is set ./deterministic-build.patch + + # See http://bugs.python.org/issue20246 + # This will be fixed in 2.7.7. + ./CVE-2014-1912.patch ]; postPatch = stdenv.lib.optionalString (stdenv.gcc.libc != null) '' From 21cb9c24f00f78862920a58e1936a4ee1e1eeba5 Mon Sep 17 00:00:00 2001 From: James Cook Date: Sat, 12 Apr 2014 15:49:02 -0700 Subject: [PATCH 719/880] Patch python32 for CVE-2014-1912. --- .../python/3.2/CVE-2014-1912.patch | 57 +++++++++++++++++++ .../interpreters/python/3.2/default.nix | 6 ++ 2 files changed, 63 insertions(+) create mode 100644 pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch diff --git a/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch b/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch new file mode 100644 index 00000000000..c69efd17f96 --- /dev/null +++ b/pkgs/development/interpreters/python/3.2/CVE-2014-1912.patch @@ -0,0 +1,57 @@ +# Edited from Mercurial patch: deleted the NEWS hunk, since it didn't apply cleanly. +# It added the following line to NEWS: +# - Issue #20246: Fix buffer overflow in socket.recvfrom_into. + + +# HG changeset patch +# User Benjamin Peterson +# Date 1389671978 18000 +# Node ID 9c56217e5c793685eeaf0ee224848c402bdf1e4c +# Parent 2b5cd6d4d149dea6c6941b7e07ada248b29fc9f6 +complain when nbytes > buflen to fix possible buffer overflow (closes #20246) + +diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py +--- a/Lib/test/test_socket.py ++++ b/Lib/test/test_socket.py +@@ -1968,6 +1968,14 @@ class BufferIOTest(SocketConnectedTest): + + _testRecvFromIntoMemoryview = _testRecvFromIntoArray + ++ def testRecvFromIntoSmallBuffer(self): ++ # See issue #20246. ++ buf = bytearray(8) ++ self.assertRaises(ValueError, self.cli_conn.recvfrom_into, buf, 1024) ++ ++ def _testRecvFromIntoSmallBuffer(self): ++ self.serv_conn.send(MSG*2048) ++ + + TIPC_STYPE = 2000 + TIPC_LOWER = 200 +diff --git a/Misc/ACKS b/Misc/ACKS +--- a/Misc/ACKS ++++ b/Misc/ACKS +@@ -1020,6 +1020,7 @@ Eric V. Smith + Christopher Smith + Gregory P. Smith + Roy Smith ++Ryan Smith-Roberts + Rafal Smotrzyk + Dirk Soede + Paul Sokolovsky +diff --git a/Misc/NEWS b/Misc/NEWS +--- a/Modules/socketmodule.c ++++ b/Modules/socketmodule.c +@@ -2598,6 +2598,11 @@ sock_recvfrom_into(PySocketSockObject *s + if (recvlen == 0) { + /* If nbytes was not specified, use the buffer's length */ + recvlen = buflen; ++ } else if (recvlen > buflen) { ++ PyBuffer_Release(&pbuf); ++ PyErr_SetString(PyExc_ValueError, ++ "nbytes is greater than the length of the buffer"); ++ return NULL; + } + + readlen = sock_recvfrom_guts(s, buf, recvlen, flags, &addr); + diff --git a/pkgs/development/interpreters/python/3.2/default.nix b/pkgs/development/interpreters/python/3.2/default.nix index 03f2d392bd1..c103b0f59cd 100644 --- a/pkgs/development/interpreters/python/3.2/default.nix +++ b/pkgs/development/interpreters/python/3.2/default.nix @@ -32,6 +32,12 @@ stdenv.mkDerivation { sha256 = "0pxs234g08v3lar09lvzxw4vqdpwkbqmvkv894j2w7aklskcjd6v"; }; + patches = + [ + # See http://bugs.python.org/issue20246 + ./CVE-2014-1912.patch + ]; + NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; preConfigure = '' From 2661400d2a404581556d09f06e988fcfe5e0805d Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sun, 13 Apr 2014 00:47:14 -0500 Subject: [PATCH 720/880] cgit: bump git version to 1.9.2 This also updates the download URL to use kernel.org Signed-off-by: Austin Seipp --- .../version-management/git-and-tools/cgit/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix index 8a1201815ae..47fa80cb901 100644 --- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix +++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix @@ -4,7 +4,8 @@ }: stdenv.mkDerivation rec { - name = "cgit-0.10.1"; + name = "cgit-${version}"; + version = "0.10.1"; src = fetchurl { url = "http://git.zx2c4.com/cgit/snapshot/${name}.tar.xz"; @@ -15,9 +16,11 @@ stdenv.mkDerivation rec { # The cgit-0.10 Makefile has GIT_VER = 1.8.5, so use that version. # IMPORTANT: Remember to check which git version cgit needs on every version # bump. + # NOTE: as of 0.10.1, the git version is compatible from 1.9.0 to + # 1.9.2 (see the repository history) gitSrc = fetchurl { - url = https://git-core.googlecode.com/files/git-1.8.5.tar.gz; - sha256 = "08vbq8y3jx1da417hkqmrkdkysac1sqjvrjmaj1v56dmkghm43w7"; + url = "https://www.kernel.org/pub/software/scm/git/git-1.9.2.tar.xz"; + sha256 = "1x4rb06vw4ckdflmn01r5l9spvn7cng4i5mm3sbd0n8cz0n6xz13"; }; buildInputs = [ From 7fed418b249a33d96cd4d657099e7438515408ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 13 Apr 2014 10:19:30 +0200 Subject: [PATCH 721/880] haskell: add monad-extras --- .../libraries/haskell/monad-extras/default.nix | 17 +++++++++++++++++ pkgs/top-level/haskell-packages.nix | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/development/libraries/haskell/monad-extras/default.nix diff --git a/pkgs/development/libraries/haskell/monad-extras/default.nix b/pkgs/development/libraries/haskell/monad-extras/default.nix new file mode 100644 index 00000000000..9a66c5ab983 --- /dev/null +++ b/pkgs/development/libraries/haskell/monad-extras/default.nix @@ -0,0 +1,17 @@ +{ cabal, mmorph, monadControl, stm, transformers, transformersBase +}: + +cabal.mkDerivation (self: { + pname = "monad-extras"; + version = "0.5.7"; + sha256 = "0dqj3n3ki679b6z5y7qw084chbahlqmj2vgj7yx0v552bl0ylzyj"; + buildDepends = [ + mmorph monadControl stm transformers transformersBase + ]; + meta = { + homepage = "http://github.com/jwiegley/monad-extras"; + description = "Extra utility functions for working with monads"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + }; +}) diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 7f708438fc7..22b9be810be 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1745,6 +1745,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.finalReturn x monadcryptorandom = callPackage ../development/libraries/haskell/monadcryptorandom {}; + monadExtras = callPackage ../development/libraries/haskell/monad-extras {}; + monadloc = callPackage ../development/libraries/haskell/monadloc {}; monadLoops = callPackage ../development/libraries/haskell/monad-loops {}; From d1f875c6af7240e63a6ad765b323e8a1c92d31af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 10:46:10 +0200 Subject: [PATCH 722/880] lttng project: update from 2.3.0 to 2.4.1 (And update liburcu to 0.8.4 according to release notes for lttng 2.4.x.) In addition to new features and bug fixes, version 2.4.x is needed to build against Linux 3.12 (our new stable kernel). --- pkgs/development/libraries/liburcu/default.nix | 4 ++-- pkgs/development/tools/misc/lttng-tools/default.nix | 4 ++-- pkgs/development/tools/misc/lttng-ust/default.nix | 4 ++-- pkgs/os-specific/linux/lttng-modules/default.nix | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix index 44daabe6a73..e7f627f62f7 100644 --- a/pkgs/development/libraries/liburcu/default.nix +++ b/pkgs/development/libraries/liburcu/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - version = "0.8.1"; + version = "0.8.4"; name = "liburcu-${version}"; src = fetchurl { url = "http://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2"; - sha256 = "07p0lh43j7i1606m4l1dxm195z6fcfz74fmx7q2d7mrhn2bzc240"; + sha256 = "04py48xphylb246mpkzvld0yprj5h7cyv6pydr8b25aax5bs3h4n"; }; meta = with stdenv.lib; { diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix index 1d223d83a65..541385d8bec 100644 --- a/pkgs/development/tools/misc/lttng-tools/default.nix +++ b/pkgs/development/tools/misc/lttng-tools/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, popt, libuuid, liburcu, lttngUst, kmod }: stdenv.mkDerivation rec { - name = "lttng-tools-2.3.0"; + name = "lttng-tools-2.4.1"; src = fetchurl { url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2"; - sha256 = "16j55xqrh00mjbcvdmdkfxchavi7jsxlpnfjqc1g1d3x65ss9wri"; + sha256 = "1v9f7a3c2shwgn4g759bblgr27h9ql9sfq71r1mbkf8rd235g2jr"; }; buildInputs = [ popt libuuid liburcu lttngUst ]; diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix index 014a97a9158..0cba211f28b 100644 --- a/pkgs/development/tools/misc/lttng-ust/default.nix +++ b/pkgs/development/tools/misc/lttng-ust/default.nix @@ -12,11 +12,11 @@ # Debian builds with std.h (systemtap). stdenv.mkDerivation rec { - name = "lttng-ust-2.3.0"; + name = "lttng-ust-2.4.1"; src = fetchurl { url = "https://lttng.org/files/lttng-ust/${name}.tar.bz2"; - sha256 = "1hazjybrppyaakvfp1bs92vx0n2sgcsw0m6i5hwq7xq8vij7cj4q"; + sha256 = "1nx9b1haiylajzjy03wgfcy85nwg578c6gy8ip55y8cabjrw0hp1"; }; buildInputs = [ liburcu ]; diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix index 1673472036f..8e20bf1e3d3 100644 --- a/pkgs/os-specific/linux/lttng-modules/default.nix +++ b/pkgs/os-specific/linux/lttng-modules/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, kernel }: stdenv.mkDerivation rec { - pname = "lttng-modules-2.3.0"; + pname = "lttng-modules-2.4.1"; name = "${pname}-${kernel.version}"; src = fetchurl { url = "https://lttng.org/files/lttng-modules/${pname}.tar.bz2"; - sha256 = "0l9fbmpsjvm5pbrc6axy8chdp21j4b8fm0hmjhpk658ll0iixmpb"; + sha256 = "1qn1qm8lwqw9ri9wfkf6k3d58gl9rwffmpbpkwx21v1fw95zi92k"; }; patches = [ ./lttng-fix-build-error-on-linux-3.2.patch ]; From 6989b9a3f90949f5e14bd946b7aa4e1ea658bb5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 10:46:14 +0200 Subject: [PATCH 723/880] babeltrace: update from 1.1.1 to 1.2.1 --- pkgs/development/tools/misc/babeltrace/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/babeltrace/default.nix b/pkgs/development/tools/misc/babeltrace/default.nix index d19bb24eb37..aa8e70b5edc 100644 --- a/pkgs/development/tools/misc/babeltrace/default.nix +++ b/pkgs/development/tools/misc/babeltrace/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, libuuid, popt }: stdenv.mkDerivation rec { - name = "babeltrace-1.1.1"; + name = "babeltrace-1.2.1"; src = fetchurl { url = "http://www.efficios.com/files/babeltrace/${name}.tar.bz2"; - sha256 = "04jc1yd3aaq59fmpzswzc78cywpq7wzjfqdlsg7xc76ivb8cggfz"; + sha256 = "1pwg0y57iy4c8wynb6bj7f6bxaiclmxcm4f3nllpw9brhbdzygc1"; }; buildInputs = [ pkgconfig glib libuuid popt ]; From 0096bb677a391151c3864c927fc26f37c397d30f Mon Sep 17 00:00:00 2001 From: Roelof Wobben Date: Sun, 13 Apr 2014 11:19:02 +0200 Subject: [PATCH 724/880] new package: cinnamon-settings-daemon (close #2205) With tiny changes from @vcunat. --- pkgs/desktops/cinnamon/automount-plugin.patch | 448 ++ .../cinnamon/cinnamon-settings-daemon.nix | 52 + pkgs/desktops/cinnamon/dpms.patch | 30 + pkgs/desktops/cinnamon/keyboard.patch | 4729 +++++++++++++++++ pkgs/desktops/cinnamon/systemd-support.patch | 536 ++ pkgs/top-level/all-packages.nix | 4 +- 6 files changed, 5798 insertions(+), 1 deletion(-) create mode 100644 pkgs/desktops/cinnamon/automount-plugin.patch create mode 100644 pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix create mode 100644 pkgs/desktops/cinnamon/dpms.patch create mode 100644 pkgs/desktops/cinnamon/keyboard.patch create mode 100644 pkgs/desktops/cinnamon/systemd-support.patch diff --git a/pkgs/desktops/cinnamon/automount-plugin.patch b/pkgs/desktops/cinnamon/automount-plugin.patch new file mode 100644 index 00000000000..3d90da99f08 --- /dev/null +++ b/pkgs/desktops/cinnamon/automount-plugin.patch @@ -0,0 +1,448 @@ + +diff -Naur cinnamon-settings-daemon-2.0.1.orig/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in cinnamon-settings-daemon-2.0.1/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in +--- cinnamon-settings-daemon-2.0.6.orig/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in 2013-11-03 10:50:04.000000000 -0500 ++++ cinnamon-settings-daemon-2.0.6/data/org.cinnamon.settings-daemon.plugins.gschema.xml.in.in 2013-11-05 15:33:21.112912392 -0500 +@@ -2,6 +2,7 @@ + + + ++ + + + +@@ -42,6 +43,18 @@ + <_summary>Priority to use for this plugin + <_description>Priority to use for this plugin in cinnamon-settings-daemon startup queue + ++ ++ ++ ++ true ++ <_summary>Activation of this plugin ++ <_description>Whether this plugin would be activated by cinnamon-settings-daemon or not ++ ++ ++ 97 ++ <_summary>Priority to use for this plugin ++ <_description>Priority to use for this plugin in cinnamon-settings-daemon startup queue ++ + + + +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/automount.cinnamon-settings-plugin.in cinnamon-settings-daemon-2.0.1/plugins/automount/automount.cinnamon-settings-plugin.in +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/automount.cinnamon-settings-plugin.in 1970-01-01 01:00:00.000000000 +0100 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/automount.cinnamon-settings-plugin.in 2013-10-08 22:35:10.771472456 +0200 +@@ -0,0 +1,8 @@ ++[Cinnamon Settings Plugin] ++Module=automount ++IAge=0 ++_Name=Automount ++_Description=Automounter plugin ++Authors=Tomas Bzatek ++Copyright=Copyright © 2010 Red Hat, Inc. ++Website= +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.c cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.c +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.c 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,65 +0,0 @@ +-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +- * +- * Copyright (C) 2010 Red Hat, Inc. +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA +- * +- * Author: Tomas Bzatek +- */ +- +-#include "config.h" +- +-#include +-#include +-#include +-#include +- +-#include "csd-automount-manager.h" +- +-int +-main (int argc, +- char **argv) +-{ +- GMainLoop *loop; +- CsdAutomountManager *manager; +- GError *error = NULL; +- +- g_type_init (); +- gtk_init (&argc, &argv); +- +- bindtextdomain (GETTEXT_PACKAGE, CINNAMON_SETTINGS_LOCALEDIR); +- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); +- textdomain (GETTEXT_PACKAGE); +- +- loop = g_main_loop_new (NULL, FALSE); +- manager = csd_automount_manager_new (); +- +- csd_automount_manager_start (manager, &error); +- +- if (error != NULL) { +- g_printerr ("Unable to start the mount manager: %s", +- error->message); +- +- g_error_free (error); +- _exit (1); +- } +- +- g_main_loop_run (loop); +- +- csd_automount_manager_stop (manager); +- g_main_loop_unref (loop); +- +- return 0; +-} +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in 1970-01-01 01:00:00.000000000 +0100 +@@ -1,12 +0,0 @@ +-[Desktop Entry] +-_Name=Mount Helper +-_Comment=Automount and autorun plugged devices +-Exec=@LIBEXECDIR@/cinnamon-fallback-mount-helper +-Icon=drive-optical +-Terminal=false +-Type=Application +-Categories= +-NoDisplay=true +-OnlyShowIn=GNOME; +-X-GNOME-Autostart-Notify=true +- +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.c cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.c +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.c 1970-01-01 01:00:00.000000000 +0100 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.c 2013-10-08 22:35:10.771472456 +0200 +@@ -0,0 +1,106 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2010 Red Hat, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * Author: Tomas Bzatek ++ */ ++ ++#include "config.h" ++ ++#include ++#include ++ ++#include "cinnamon-settings-plugin.h" ++#include "csd-automount-plugin.h" ++#include "csd-automount-manager.h" ++ ++struct CsdAutomountPluginPrivate { ++ CsdAutomountManager *manager; ++}; ++ ++#define CSD_AUTOMOUNT_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginPrivate)) ++ ++CINNAMON_SETTINGS_PLUGIN_REGISTER (CsdAutomountPlugin, csd_automount_plugin) ++ ++static void ++csd_automount_plugin_init (CsdAutomountPlugin *plugin) ++{ ++ plugin->priv = CSD_AUTOMOUNT_PLUGIN_GET_PRIVATE (plugin); ++ ++ g_debug ("Automount plugin initializing"); ++ ++ plugin->priv->manager = csd_automount_manager_new (); ++} ++ ++static void ++csd_automount_plugin_finalize (GObject *object) ++{ ++ CsdAutomountPlugin *plugin; ++ ++ g_return_if_fail (object != NULL); ++ g_return_if_fail (CSD_IS_AUTOMOUNT_PLUGIN (object)); ++ ++ g_debug ("Automount plugin finalizing"); ++ ++ plugin = CSD_AUTOMOUNT_PLUGIN (object); ++ ++ g_return_if_fail (plugin->priv != NULL); ++ ++ if (plugin->priv->manager != NULL) { ++ g_object_unref (plugin->priv->manager); ++ } ++ ++ G_OBJECT_CLASS (csd_automount_plugin_parent_class)->finalize (object); ++} ++ ++static void ++impl_activate (CinnamonSettingsPlugin *plugin) ++{ ++ gboolean res; ++ GError *error; ++ ++ g_debug ("Activating automount plugin"); ++ ++ error = NULL; ++ res = csd_automount_manager_start (CSD_AUTOMOUNT_PLUGIN (plugin)->priv->manager, &error); ++ if (! res) { ++ g_warning ("Unable to start automount manager: %s", error->message); ++ g_error_free (error); ++ } ++} ++ ++static void ++impl_deactivate (CinnamonSettingsPlugin *plugin) ++{ ++ g_debug ("Deactivating automount plugin"); ++ csd_automount_manager_stop (CSD_AUTOMOUNT_PLUGIN (plugin)->priv->manager); ++} ++ ++static void ++csd_automount_plugin_class_init (CsdAutomountPluginClass *klass) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ CinnamonSettingsPluginClass *plugin_class = CINNAMON_SETTINGS_PLUGIN_CLASS (klass); ++ ++ object_class->finalize = csd_automount_plugin_finalize; ++ ++ plugin_class->activate = impl_activate; ++ plugin_class->deactivate = impl_deactivate; ++ ++ g_type_class_add_private (klass, sizeof (CsdAutomountPluginPrivate)); ++} ++ +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.h cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.h +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/csd-automount-plugin.h 1970-01-01 01:00:00.000000000 +0100 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/csd-automount-plugin.h 2013-10-08 22:35:10.771472456 +0200 +@@ -0,0 +1,60 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2010 Red Hat, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * Author: Tomas Bzatek ++ */ ++ ++#ifndef __CSD_AUTOMOUNT_PLUGIN_H__ ++#define __CSD_AUTOMOUNT_PLUGIN_H__ ++ ++#include ++#include ++#include ++ ++#include "cinnamon-settings-plugin.h" ++ ++G_BEGIN_DECLS ++ ++#define CSD_TYPE_AUTOMOUNT_PLUGIN (csd_automount_plugin_get_type ()) ++#define CSD_AUTOMOUNT_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPlugin)) ++#define CSD_AUTOMOUNT_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginClass)) ++#define CSD_IS_AUTOMOUNT_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CSD_TYPE_AUTOMOUNT_PLUGIN)) ++#define CSD_IS_AUTOMOUNT_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CSD_TYPE_AUTOMOUNT_PLUGIN)) ++#define CSD_AUTOMOUNT_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CSD_TYPE_AUTOMOUNT_PLUGIN, CsdAutomountPluginClass)) ++ ++typedef struct CsdAutomountPluginPrivate CsdAutomountPluginPrivate; ++ ++typedef struct ++{ ++ CinnamonSettingsPlugin parent; ++ CsdAutomountPluginPrivate *priv; ++} CsdAutomountPlugin; ++ ++typedef struct ++{ ++ CinnamonSettingsPluginClass parent_class; ++} CsdAutomountPluginClass; ++ ++GType csd_automount_plugin_get_type (void) G_GNUC_CONST; ++ ++/* All the plugins must implement this function */ ++G_MODULE_EXPORT GType register_cinnamon_settings_plugin (GTypeModule *module); ++ ++G_END_DECLS ++ ++#endif /* __CSD_AUTOMOUNT_PLUGIN_H__ */ +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/Makefile.am cinnamon-settings-daemon-2.0.1/plugins/automount/Makefile.am +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/Makefile.am 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/Makefile.am 2013-10-08 22:48:19.240865461 +0200 +@@ -1,38 +1,87 @@ +-libexec_PROGRAMS = cinnamon-fallback-mount-helper ++NULL = + +-cinnamon_fallback_mount_helper_SOURCES = \ +- cinnamon-fallback-mount-helper.c \ +- csd-automount-manager.c \ +- csd-automount-manager.h \ +- csd-autorun.c \ +- csd-autorun.h ++plugin_name = automount + +-cinnamon_fallback_mount_helper_CPPFLAGS = \ ++libexec_PROGRAMS = csd-test-automount ++ ++csd_test_automount_SOURCES = \ ++ test-automount.c \ ++ csd-automount-manager.h \ ++ csd-automount-manager.c \ ++ csd-autorun.c \ ++ csd-autorun.h \ ++ $(NULL) ++ ++csd_test_automount_CPPFLAGS = \ + -I$(top_srcdir)/cinnamon-settings-daemon \ ++ -I$(top_srcdir)/plugins/common \ + -DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \ + $(AM_CPPFLAGS) + +-cinnamon_fallback_mount_helper_CFLAGS = \ ++csd_test_automount_CFLAGS = \ ++ $(PLUGIN_CFLAGS) \ + $(SETTINGS_PLUGIN_CFLAGS) \ + $(SYSTEMD_CFLAGS) \ + $(AUTOMOUNT_CFLAGS) ++ $(AM_CFLAGS) ++ ++csd_test_automount_LDADD = \ ++ $(top_builddir)/cinnamon-settings-daemon/libcsd.la \ ++ $(SETTINGS_PLUGIN_LIBS) \ ++ $(SYSTEMD_LIBS) \ ++ $(AUTOMOUNT_LIBS) \ ++ $(NULL) ++ ++plugin_LTLIBRARIES = \ ++ libautomount.la \ ++ $(NULL) ++ ++libautomount_la_SOURCES = \ ++ csd-automount-plugin.h \ ++ csd-automount-plugin.c \ ++ csd-automount-manager.h \ ++ csd-automount-manager.c \ ++ csd-autorun.c \ ++ csd-autorun.h \ ++ $(NULL) ++ ++libautomount_la_CPPFLAGS = \ ++ -I$(top_srcdir)/cinnamon-settings-daemon \ ++ -DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \ ++ $(AM_CPPFLAGS) ++ ++libautomount_la_CFLAGS = \ ++ $(SETTINGS_PLUGIN_CFLAGS) \ ++ $(SYSTEMD_CFLAGS) \ ++ $(AUTOMOUNT_CFLAGS) \ ++ $(AM_CFLAGS) ++ ++libautomount_la_LDFLAGS = \ ++ $(CSD_PLUGIN_LDFLAGS) \ ++ $(NULL) + +-cinnamon_fallback_mount_helper_LDADD = \ ++libautomount_la_LIBADD = \ + $(SETTINGS_PLUGIN_LIBS) \ + $(SYSTEMD_LIBS) \ + $(AUTOMOUNT_LIBS) \ +- $(top_builddir)/cinnamon-settings-daemon/libcsd.la ++ $(NULL) + +-autostartdir = $(datadir)/applications +-autostart_in_files = cinnamon-fallback-mount-helper.desktop.in +-autostart_in_in_files = cinnamon-fallback-mount-helper.desktop.in.in +-autostart_DATA = $(autostart_in_files:.desktop.in=.desktop) ++plugin_in_files = \ ++ automount.cinnamon-settings-plugin.in \ ++ $(NULL) + +-$(autostart_in_files): $(autostart_in_in_files) +- @sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@ ++plugin_DATA = $(plugin_in_files:.cinnamon-settings-plugin.in=.cinnamon-settings-plugin) + +-@INTLTOOL_DESKTOP_RULE@ ++EXTRA_DIST = \ ++ $(plugin_in_files) \ ++ $(NULL) + +-EXTRA_DIST = $(autostart_in_in_files) ++CLEANFILES = \ ++ $(plugin_DATA) \ ++ $(NULL) + +-CLEANFILES = $(autostart_DATA) $(autostart_in_files) ++DISTCLEANFILES = \ ++ $(plugin_DATA) \ ++ $(NULL) ++ ++@CSD_INTLTOOL_PLUGIN_RULE@ +diff -Naur cinnamon-settings-daemon-2.0.1.orig/plugins/automount/test-automount.c cinnamon-settings-daemon-2.0.1/plugins/automount/test-automount.c +--- cinnamon-settings-daemon-2.0.1.orig/plugins/automount/test-automount.c 1970-01-01 01:00:00.000000000 +0100 ++++ cinnamon-settings-daemon-2.0.1/plugins/automount/test-automount.c 2013-10-08 22:42:53.759486525 +0200 +@@ -0,0 +1,7 @@ ++#define NEW csd_automount_manager_new ++#define START csd_automount_manager_start ++#define STOP csd_automount_manager_stop ++#define MANAGER CsdAutomountManager ++#include "csd-automount-manager.h" ++ ++#include "test-plugin.h" +diff -Naur cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.in cinnamon-settings-daemon-2.0.1/po/POTFILES.in +--- cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.in 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/po/POTFILES.in 2013-10-08 22:35:10.771472456 +0200 +@@ -18,8 +18,9 @@ + plugins/a11y-keyboard/csd-a11y-preferences-dialog.c + [type: gettext/glade]plugins/a11y-keyboard/csd-a11y-preferences-dialog.ui + [type: gettext/ini]plugins/a11y-settings/a11y-settings.cinnamon-settings-plugin.in +-plugins/automount/cinnamon-fallback-mount-helper.desktop.in.in ++[type: gettext/ini]plugins/automount/automount.cinnamon-settings-plugin.in + plugins/automount/csd-automount-manager.c ++plugins/automount/csd-automount-plugin.c + plugins/automount/csd-autorun.c + [type: gettext/ini]plugins/background/background.cinnamon-settings-plugin.in + [type: gettext/ini]plugins/clipboard/clipboard.cinnamon-settings-plugin.in +diff -Naur cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.skip cinnamon-settings-daemon-2.0.1/po/POTFILES.skip +--- cinnamon-settings-daemon-2.0.1.orig/po/POTFILES.skip 2013-10-02 16:13:56.000000000 +0200 ++++ cinnamon-settings-daemon-2.0.1/po/POTFILES.skip 2013-10-08 22:37:20.224645009 +0200 +@@ -20,6 +20,5 @@ + data/org.cinnamon.settings-daemon.plugins.updates.gschema.xml.in + data/org.cinnamon.settings-daemon.plugins.xrandr.gschema.xml.in + data/org.cinnamon.settings-daemon.plugins.xsettings.gschema.xml.in +-plugins/automount/gnome-fallback-mount-helper.desktop.in + plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in + plugins/wacom/org.cinnamon.settings-daemon.plugins.wacom.policy.in diff --git a/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix b/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix new file mode 100644 index 00000000000..c397a9758e2 --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-settings-daemon.nix @@ -0,0 +1,52 @@ + +{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, cinnamon-desktop, intltool, gtk3, +libnotify, lcms2, libxklavier, libgnomekbd, libcanberra, pulseaudio, upower, libcanberra_gtk3, colord, +systemd, libxslt, docbook_xsl, makeWrapper, gsettings_desktop_schemas}: + +let + version = "2.0.10"; +in +stdenv.mkDerivation { + name = "cinnamon-settings-daemon-${version}"; + + src = fetchurl { + url = "http://github.com/linuxmint/cinnamon-settings-daemon/archive/${version}.tar.gz"; + sha256 = "10r75xsngb7ipv9fy07dyfb256bqybzcxbwny60sgjhrksk3v9mg"; + }; + + NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0"; + + configureFlags = "--enable-systemd" ; + + patches = [ ./systemd-support.patch ./automount-plugin.patch ./dpms.patch]; + + buildInputs = [ + pkgconfig autoreconfHook + glib gettext gnome_common + intltool gtk3 libnotify lcms2 + libgnomekbd libxklavier colord + libcanberra pulseaudio upower + libcanberra_gtk3 cinnamon-desktop + systemd libxslt docbook_xsl makeWrapper + gsettings_desktop_schemas + ]; + + preBuild = "patchShebangs ./scripts"; + + #ToDo: missing org.cinnamon.gschema.xml, probably not packaged yet + postFixup = '' + for f in "$out"/libexec/*; do + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + done + ''; + + + meta = { + homepage = "http://cinnamon.linuxmint.com"; + description = "The cinnamon session files" ; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.roelof ]; + }; +} + diff --git a/pkgs/desktops/cinnamon/dpms.patch b/pkgs/desktops/cinnamon/dpms.patch new file mode 100644 index 00000000000..a73f33dc618 --- /dev/null +++ b/pkgs/desktops/cinnamon/dpms.patch @@ -0,0 +1,30 @@ + +-- a/plugins/power/csd-power-manager.c ++++ b/plugins/power/csd-power-manager.c +@@ -33,6 +33,8 @@ + #include + #include + ++#include ++ + #define GNOME_DESKTOP_USE_UNSTABLE_API + #include + +@@ -3967,6 +3790,17 @@ csd_power_manager_start (CsdPowerManager + /* set the initial dim time that can adapt for the user */ + refresh_idle_dim_settings (manager); + ++ /* Make sure that Xorg's DPMS extension never gets in our way. The defaults seem to have changed in Xorg 1.14 ++ * being "0" by default to being "600" by default ++ * https://bugzilla.gnome.org/show_bug.cgi?id=709114 ++ */ ++ gdk_error_trap_push (); ++ int dummy; ++ if (DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy)) { ++ DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0); ++ } ++ gdk_error_trap_pop_ignored (); ++ + manager->priv->xscreensaver_watchdog_timer_id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT, + disable_builtin_screensaver, + NULL); diff --git a/pkgs/desktops/cinnamon/keyboard.patch b/pkgs/desktops/cinnamon/keyboard.patch new file mode 100644 index 00000000000..f67d961ff58 --- /dev/null +++ b/pkgs/desktops/cinnamon/keyboard.patch @@ -0,0 +1,4729 @@ + +diff -uNrp a/cinnamon-settings-daemon/main.c b/cinnamon-settings-daemon/main.c +--- a/cinnamon-settings-daemon/main.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/cinnamon-settings-daemon/main.c 2013-08-25 16:36:02.000000000 +0100 +@@ -319,6 +319,29 @@ set_legacy_ibus_env_vars (GDBusProxy *pr + } + #endif + ++static void ++got_session_proxy (GObject *source_object, ++ GAsyncResult *res, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy; ++ GError *error = NULL; ++ ++ proxy = g_dbus_proxy_new_finish (res, &error); ++ if (proxy == NULL) { ++ g_debug ("Could not connect to the Session manager: %s", error->message); ++ g_error_free (error); ++ } else { ++ set_locale (proxy); ++#ifdef HAVE_IBUS ++ /* This will register with cinnamon-session after calling Setenv. */ ++ set_legacy_ibus_env_vars (proxy); ++#else ++ register_with_gnome_session (proxy); ++#endif ++ } ++} ++ + static gboolean + on_term_signal_pipe_closed (GIOChannel *source, + GIOCondition condition, +@@ -368,6 +391,16 @@ set_session_over_handler (GDBusConnectio + { + g_assert (bus != NULL); + ++ g_dbus_proxy_new (bus, ++ G_DBUS_PROXY_FLAGS_NONE, ++ NULL, ++ GNOME_SESSION_DBUS_NAME, ++ GNOME_SESSION_DBUS_OBJECT, ++ GNOME_SESSION_DBUS_INTERFACE, ++ NULL, ++ (GAsyncReadyCallback) got_session_proxy, ++ NULL); ++ + watch_for_term_signal (manager); + } + +@@ -390,56 +423,6 @@ name_lost_handler (GDBusConnection *conn + gtk_main_quit (); + } + +-static gboolean +-do_register_client (gpointer user_data) +-{ +- GDBusProxy *proxy = (GDBusProxy *) user_data; +- g_assert (proxy != NULL); +- +- const char *startup_id = g_getenv ("DESKTOP_AUTOSTART_ID"); +- g_dbus_proxy_call (proxy, +- "RegisterClient", +- g_variant_new ("(ss)", "cinnamon-settings-daemon", startup_id ? startup_id : ""), +- G_DBUS_CALL_FLAGS_NONE, +- -1, +- NULL, +- (GAsyncReadyCallback) on_client_registered, +- manager); +- +- return FALSE; +-} +- +-static void +-queue_register_client (void) +-{ +- GDBusConnection *bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL); +- if (!bus) +- return; +- +- GError *error = NULL; +- GDBusProxy *proxy = g_dbus_proxy_new_sync (bus, +- G_DBUS_PROXY_FLAGS_NONE, +- NULL, +- GNOME_SESSION_DBUS_NAME, +- GNOME_SESSION_DBUS_OBJECT, +- GNOME_SESSION_DBUS_INTERFACE, +- NULL, +- &error); +- g_object_unref (bus); +- +- if (proxy == NULL) { +- g_debug ("Could not connect to the Session manager: %s", error->message); +- g_error_free (error); +- return; +- } +- +- /* Register the daemon with cinnamon-session */ +- g_signal_connect (G_OBJECT (proxy), "g-signal", +- G_CALLBACK (on_session_over), NULL); +- +- g_idle_add_full (G_PRIORITY_DEFAULT, do_register_client, proxy, NULL); +-} +- + static void + bus_register (void) + { +@@ -541,8 +524,6 @@ main (int argc, char *argv[]) + + notify_init ("cinnamon-settings-daemon"); + +- queue_register_client (); +- + bus_register (); + + cinnamon_settings_profile_start ("cinnamon_settings_manager_new"); +diff -uNrp a/configure.ac b/configure.ac +--- a/configure.ac 2013-08-24 18:04:31.000000000 +0100 ++++ b/configure.ac 2013-08-25 16:36:02.000000000 +0100 +@@ -53,6 +53,7 @@ UPOWER_GLIB_REQUIRED_VERSION=0.9.1 + PA_REQUIRED_VERSION=0.9.16 + UPOWER_REQUIRED_VERSION=0.9.11 + GTK_XINPUT_2_3_VERSION=3.7.8 ++IBUS_REQUIRED_VERSION=1.4.2 + + #EXTRA_COMPILE_WARNINGS(yes) + +@@ -199,8 +200,21 @@ dnl ------------------------------------ + dnl - Keyboard plugin stuff + dnl --------------------------------------------------------------------------- + +-LIBGNOMEKBD_REQUIRED=2.91.1 +-PKG_CHECK_MODULES(KEYBOARD, [libgnomekbdui >= $LIBGNOMEKBD_REQUIRED libgnomekbd >= $LIBGNOMEKBD_REQUIRED libxklavier >= 5.0 kbproto]) ++AC_ARG_ENABLE(ibus, ++ AS_HELP_STRING([--disable-ibus], ++ [Disable IBus support]), ++ enable_ibus=$enableval, ++ enable_ibus=yes) ++ ++if test "x$enable_ibus" = "xyes" ; then ++ IBUS_MODULE="ibus-1.0 >= $IBUS_REQUIRED_VERSION" ++ AC_DEFINE(HAVE_IBUS, 1, [Defined if IBus support is enabled]) ++else ++ IBUS_MODULE= ++fi ++AM_CONDITIONAL(HAVE_IBUS, test "x$enable_ibus" == "xyes") ++ ++PKG_CHECK_MODULES(KEYBOARD, xkbfile $IBUS_MODULE cinnamon-desktop >= $CINNAMON_DESKTOP_REQUIRED_VERSION) + + dnl --------------------------------------------------------------------------- + dnl - Housekeeping plugin stuff +diff -uNrp a/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in b/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in +--- a/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in 2013-08-24 18:04:31.000000000 +0100 ++++ b/data/org.cinnamon.settings-daemon.plugins.media-keys.gschema.xml.in.in 2013-08-25 16:36:02.000000000 +0100 +@@ -175,6 +175,15 @@ + <_summary>Magnifier zoom out + <_description>Binding for the magnifier to zoom out + ++ ++ '' ++ <_summary>Switch input source ++ <_description>Binding to select the next input source ++ ++ ++ '' ++ <_summary>Switch input source backward ++ <_description>Binding to select the previous input source ++ + +- +- ++ +\ No newline at end of file +diff -uNrp a/plugins/keyboard/csd-keyboard-manager.c b/plugins/keyboard/csd-keyboard-manager.c +--- a/plugins/keyboard/csd-keyboard-manager.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-manager.c 2013-08-25 16:36:02.000000000 +0100 +@@ -40,19 +40,22 @@ + + #include + #include ++#include ++ ++#define GNOME_DESKTOP_USE_UNSTABLE_API ++#include ++ ++#ifdef HAVE_IBUS ++#include ++#endif + + #include "cinnamon-settings-profile.h" + #include "csd-keyboard-manager.h" ++#include "csd-input-helper.h" + #include "csd-enums.h" + +-#include "csd-keyboard-xkb.h" +- + #define CSD_KEYBOARD_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_KEYBOARD_MANAGER, CsdKeyboardManagerPrivate)) + +-#ifndef HOST_NAME_MAX +-# define HOST_NAME_MAX 255 +-#endif +- + #define CSD_KEYBOARD_DIR "org.cinnamon.settings-daemon.peripherals.keyboard" + + #define KEY_REPEAT "repeat" +@@ -60,6 +63,7 @@ + #define KEY_INTERVAL "repeat-interval" + #define KEY_DELAY "delay" + #define KEY_CLICK_VOLUME "click-volume" ++#define KEY_REMEMBER_NUMLOCK_STATE "remember-numlock-state" + #define KEY_NUMLOCK_STATE "numlock-state" + + #define KEY_BELL_VOLUME "bell-volume" +@@ -67,27 +71,560 @@ + #define KEY_BELL_DURATION "bell-duration" + #define KEY_BELL_MODE "bell-mode" + +-#define LIBGNOMEKBD_KEYBOARD_DIR "org.gnome.libgnomekbd.keyboard" +-#define LIBGNOMEKBD_KEY_LAYOUTS "layouts" ++#define KEY_SWITCHER "input-sources-switcher" ++ ++#define GNOME_DESKTOP_INTERFACE_DIR "org.cinnamon.desktop.interface" ++ ++#define KEY_GTK_IM_MODULE "gtk-im-module" ++#define GTK_IM_MODULE_SIMPLE "gtk-im-context-simple" ++#define GTK_IM_MODULE_IBUS "ibus" ++ ++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources" ++ ++#define KEY_CURRENT_INPUT_SOURCE "current" ++#define KEY_INPUT_SOURCES "sources" ++#define KEY_KEYBOARD_OPTIONS "xkb-options" ++ ++#define INPUT_SOURCE_TYPE_XKB "xkb" ++#define INPUT_SOURCE_TYPE_IBUS "ibus" ++ ++#define DEFAULT_LANGUAGE "en_US" + + struct CsdKeyboardManagerPrivate + { + guint start_idle_id; + GSettings *settings; +- GSettings *libgnomekbd_settings; +- gboolean have_xkb; ++ GSettings *input_sources_settings; ++ GSettings *interface_settings; ++ GnomeXkbInfo *xkb_info; ++#ifdef HAVE_IBUS ++ IBusBus *ibus; ++ GHashTable *ibus_engines; ++ GHashTable *ibus_xkb_engines; ++ GCancellable *ibus_cancellable; ++ gboolean session_is_fallback; ++#endif + gint xkb_event_base; + CsdNumLockState old_state; ++ GdkDeviceManager *device_manager; ++ guint device_added_id; ++ guint device_removed_id; ++ ++ gboolean input_sources_switcher_spawned; ++ GPid input_sources_switcher_pid; + }; + + static void csd_keyboard_manager_class_init (CsdKeyboardManagerClass *klass); + static void csd_keyboard_manager_init (CsdKeyboardManager *keyboard_manager); + static void csd_keyboard_manager_finalize (GObject *object); ++static gboolean apply_input_sources_settings (GSettings *settings, ++ gpointer keys, ++ gint n_keys, ++ CsdKeyboardManager *manager); ++static void set_gtk_im_module (CsdKeyboardManager *manager, ++ const gchar *new_module); + + G_DEFINE_TYPE (CsdKeyboardManager, csd_keyboard_manager, G_TYPE_OBJECT) + + static gpointer manager_object = NULL; + ++static void ++init_builder_with_sources (GVariantBuilder *builder, ++ GSettings *settings) ++{ ++ const gchar *type; ++ const gchar *id; ++ GVariantIter iter; ++ GVariant *sources; ++ ++ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); ++ ++ g_variant_builder_init (builder, G_VARIANT_TYPE ("a(ss)")); ++ ++ g_variant_iter_init (&iter, sources); ++ while (g_variant_iter_next (&iter, "(&s&s)", &type, &id)) ++ g_variant_builder_add (builder, "(ss)", type, id); ++ ++ g_variant_unref (sources); ++} ++ ++static gboolean ++schema_is_installed (const gchar *name) ++{ ++ const gchar * const *schemas; ++ const gchar * const *s; ++ ++ schemas = g_settings_list_schemas (); ++ for (s = schemas; *s; ++s) ++ if (g_str_equal (*s, name)) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++#ifdef HAVE_IBUS ++static void ++clear_ibus (CsdKeyboardManager *manager) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ ++ g_cancellable_cancel (priv->ibus_cancellable); ++ g_clear_object (&priv->ibus_cancellable); ++ g_clear_pointer (&priv->ibus_engines, g_hash_table_destroy); ++ g_clear_pointer (&priv->ibus_xkb_engines, g_hash_table_destroy); ++ g_clear_object (&priv->ibus); ++} ++ ++static gchar * ++make_xkb_source_id (const gchar *engine_id) ++{ ++ gchar *id; ++ gchar *p; ++ gint n_colons = 0; ++ ++ /* engine_id is like "xkb:layout:variant:lang" where ++ * 'variant' and 'lang' might be empty */ ++ ++ engine_id += 4; ++ ++ for (p = (gchar *)engine_id; *p; ++p) ++ if (*p == ':') ++ if (++n_colons == 2) ++ break; ++ if (!*p) ++ return NULL; ++ ++ id = g_strndup (engine_id, p - engine_id + 1); ++ ++ id[p - engine_id] = '\0'; ++ ++ /* id is "layout:variant" where 'variant' might be empty */ ++ ++ for (p = id; *p; ++p) ++ if (*p == ':') { ++ if (*(p + 1) == '\0') ++ *p = '\0'; ++ else ++ *p = '+'; ++ break; ++ } ++ ++ /* id is "layout+variant" or "layout" */ ++ ++ return id; ++} ++ ++static void ++fetch_ibus_engines_result (GObject *object, ++ GAsyncResult *result, ++ CsdKeyboardManager *manager) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ GList *list, *l; ++ GError *error = NULL; ++ ++ /* engines shouldn't be there yet */ ++ g_return_if_fail (priv->ibus_engines == NULL); ++ ++ g_clear_object (&priv->ibus_cancellable); ++ ++ list = ibus_bus_list_engines_async_finish (priv->ibus, ++ result, ++ &error); ++ if (!list && error) { ++ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) ++ g_warning ("Couldn't finish IBus request: %s", error->message); ++ g_error_free (error); ++ ++ clear_ibus (manager); ++ return; ++ } ++ ++ /* Maps IBus engine ids to engine description objects */ ++ priv->ibus_engines = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); ++ /* Maps XKB source id strings to engine description objects */ ++ priv->ibus_xkb_engines = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); ++ ++ for (l = list; l; l = l->next) { ++ IBusEngineDesc *engine = l->data; ++ const gchar *engine_id = ibus_engine_desc_get_name (engine); ++ ++ g_hash_table_replace (priv->ibus_engines, (gpointer)engine_id, engine); ++ ++ if (strncmp ("xkb:", engine_id, 4) == 0) { ++ gchar *xkb_source_id = make_xkb_source_id (engine_id); ++ if (xkb_source_id) ++ g_hash_table_replace (priv->ibus_xkb_engines, ++ xkb_source_id, ++ engine); ++ } ++ } ++ g_list_free (list); ++ ++ apply_input_sources_settings (priv->input_sources_settings, NULL, 0, manager); ++} ++ ++static void ++fetch_ibus_engines (CsdKeyboardManager *manager) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ ++ /* engines shouldn't be there yet */ ++ g_return_if_fail (priv->ibus_engines == NULL); ++ g_return_if_fail (priv->ibus_cancellable == NULL); ++ ++ priv->ibus_cancellable = g_cancellable_new (); ++ ++ ibus_bus_list_engines_async (priv->ibus, ++ -1, ++ priv->ibus_cancellable, ++ (GAsyncReadyCallback)fetch_ibus_engines_result, ++ manager); ++} ++ ++static void ++maybe_start_ibus (CsdKeyboardManager *manager, ++ GVariant *sources) ++{ ++ gboolean need_ibus = FALSE; ++ GVariantIter iter; ++ const gchar *type; ++ ++ if (manager->priv->session_is_fallback) ++ return; ++ ++ g_variant_iter_init (&iter, sources); ++ while (g_variant_iter_next (&iter, "(&s&s)", &type, NULL)) ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) { ++ need_ibus = TRUE; ++ break; ++ } ++ ++ if (!need_ibus) ++ return; ++ ++ if (!manager->priv->ibus) { ++ ibus_init (); ++ manager->priv->ibus = ibus_bus_new (); ++ g_signal_connect_swapped (manager->priv->ibus, "connected", ++ G_CALLBACK (fetch_ibus_engines), manager); ++ g_signal_connect_swapped (manager->priv->ibus, "disconnected", ++ G_CALLBACK (clear_ibus), manager); ++ } ++ /* IBus doesn't export API in the session bus. The only thing ++ * we have there is a well known name which we can use as a ++ * sure-fire way to activate it. */ ++ g_bus_unwatch_name (g_bus_watch_name (G_BUS_TYPE_SESSION, ++ IBUS_SERVICE_IBUS, ++ G_BUS_NAME_WATCHER_FLAGS_AUTO_START, ++ NULL, ++ NULL, ++ NULL, ++ NULL)); ++} ++ ++static void ++got_session_name (GObject *object, ++ GAsyncResult *res, ++ CsdKeyboardManager *manager) ++{ ++ GVariant *result, *variant; ++ GDBusConnection *connection = G_DBUS_CONNECTION (object); ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ const gchar *session_name = NULL; ++ GError *error = NULL; ++ ++ /* IBus shouldn't have been touched yet */ ++ g_return_if_fail (priv->ibus == NULL); ++ ++ g_clear_object (&priv->ibus_cancellable); ++ ++ result = g_dbus_connection_call_finish (connection, res, &error); ++ if (!result) { ++ g_warning ("Couldn't get session name: %s", error->message); ++ g_error_free (error); ++ goto out; ++ } ++ ++ g_variant_get (result, "(v)", &variant); ++ g_variant_unref (result); ++ ++ g_variant_get (variant, "&s", &session_name); ++ ++ if (g_strcmp0 (session_name, "gnome") == 0) ++ manager->priv->session_is_fallback = FALSE; ++ ++ g_variant_unref (variant); ++ out: ++ apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager); ++ g_object_unref (connection); ++} ++ ++static void ++got_bus (GObject *object, ++ GAsyncResult *res, ++ CsdKeyboardManager *manager) ++{ ++ GDBusConnection *connection; ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ GError *error = NULL; ++ ++ /* IBus shouldn't have been touched yet */ ++ g_return_if_fail (priv->ibus == NULL); ++ ++ g_clear_object (&priv->ibus_cancellable); ++ ++ connection = g_bus_get_finish (res, &error); ++ if (!connection) { ++ g_warning ("Couldn't get session bus: %s", error->message); ++ g_error_free (error); ++ apply_input_sources_settings (priv->input_sources_settings, NULL, 0, manager); ++ return; ++ } ++ ++ priv->ibus_cancellable = g_cancellable_new (); ++ ++ g_dbus_connection_call (connection, ++ "org.gnome.SessionManager", ++ "/org/gnome/SessionManager", ++ "org.freedesktop.DBus.Properties", ++ "Get", ++ g_variant_new ("(ss)", ++ "org.gnome.SessionManager", ++ "SessionName"), ++ NULL, ++ G_DBUS_CALL_FLAGS_NONE, ++ -1, ++ priv->ibus_cancellable, ++ (GAsyncReadyCallback)got_session_name, ++ manager); ++} ++ ++static void ++set_ibus_engine_finish (GObject *object, ++ GAsyncResult *res, ++ CsdKeyboardManager *manager) ++{ ++ gboolean result; ++ IBusBus *ibus = IBUS_BUS (object); ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ GError *error = NULL; ++ ++ g_clear_object (&priv->ibus_cancellable); ++ ++ result = ibus_bus_set_global_engine_async_finish (ibus, res, &error); ++ if (!result) { ++ if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) ++ g_warning ("Couldn't set IBus engine: %s", error->message); ++ g_error_free (error); ++ } ++} ++ ++static void ++set_ibus_engine (CsdKeyboardManager *manager, ++ const gchar *engine_id) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ ++ g_return_if_fail (priv->ibus != NULL); ++ g_return_if_fail (priv->ibus_engines != NULL); ++ ++ g_cancellable_cancel (priv->ibus_cancellable); ++ g_clear_object (&priv->ibus_cancellable); ++ priv->ibus_cancellable = g_cancellable_new (); ++ ++ ibus_bus_set_global_engine_async (priv->ibus, ++ engine_id, ++ -1, ++ priv->ibus_cancellable, ++ (GAsyncReadyCallback)set_ibus_engine_finish, ++ manager); ++} ++ ++static void ++set_ibus_xkb_engine (CsdKeyboardManager *manager, ++ const gchar *xkb_id) ++{ ++ IBusEngineDesc *engine; ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ ++ if (!priv->ibus_xkb_engines) ++ return; ++ ++ engine = g_hash_table_lookup (priv->ibus_xkb_engines, xkb_id); ++ if (!engine) ++ return; ++ ++ set_ibus_engine (manager, ibus_engine_desc_get_name (engine)); ++} ++ ++/* XXX: See upstream bug: ++ * https://codereview.appspot.com/6586075/ */ ++static gchar * ++layout_from_ibus_layout (const gchar *ibus_layout) ++{ ++ const gchar *p; ++ ++ /* we get something like "layout(variant)[option1,option2]" */ ++ ++ p = ibus_layout; ++ while (*p) { ++ if (*p == '(' || *p == '[') ++ break; ++ p += 1; ++ } ++ ++ return g_strndup (ibus_layout, p - ibus_layout); ++} ++ ++static gchar * ++variant_from_ibus_layout (const gchar *ibus_layout) ++{ ++ const gchar *a, *b; ++ ++ /* we get something like "layout(variant)[option1,option2]" */ ++ ++ a = ibus_layout; ++ while (*a) { ++ if (*a == '(') ++ break; ++ a += 1; ++ } ++ if (!*a) ++ return NULL; ++ ++ a += 1; ++ b = a; ++ while (*b) { ++ if (*b == ')') ++ break; ++ b += 1; ++ } ++ if (!*b) ++ return NULL; ++ ++ return g_strndup (a, b - a); ++} ++ ++static gchar ** ++options_from_ibus_layout (const gchar *ibus_layout) ++{ ++ const gchar *a, *b; ++ GPtrArray *opt_array; ++ ++ /* we get something like "layout(variant)[option1,option2]" */ ++ ++ a = ibus_layout; ++ while (*a) { ++ if (*a == '[') ++ break; ++ a += 1; ++ } ++ if (!*a) ++ return NULL; ++ ++ opt_array = g_ptr_array_new (); ++ ++ do { ++ a += 1; ++ b = a; ++ while (*b) { ++ if (*b == ',' || *b == ']') ++ break; ++ b += 1; ++ } ++ if (!*b) ++ goto out; ++ ++ g_ptr_array_add (opt_array, g_strndup (a, b - a)); ++ ++ a = b; ++ } while (*a && *a == ','); ++ ++out: ++ g_ptr_array_add (opt_array, NULL); ++ return (gchar **) g_ptr_array_free (opt_array, FALSE); ++} ++ ++static const gchar * ++engine_from_locale (void) ++{ ++ const gchar *locale; ++ const gchar *locale_engine[][2] = { ++ { "as_IN", "m17n:as:phonetic" }, ++ { "bn_IN", "m17n:bn:inscript" }, ++ { "gu_IN", "m17n:gu:inscript" }, ++ { "hi_IN", "m17n:hi:inscript" }, ++ { "ja_JP", "anthy" }, ++ { "kn_IN", "m17n:kn:kgp" }, ++ { "ko_KR", "hangul" }, ++ { "mai_IN", "m17n:mai:inscript" }, ++ { "ml_IN", "m17n:ml:inscript" }, ++ { "mr_IN", "m17n:mr:inscript" }, ++ { "or_IN", "m17n:or:inscript" }, ++ { "pa_IN", "m17n:pa:inscript" }, ++ { "sd_IN", "m17n:sd:inscript" }, ++ { "ta_IN", "m17n:ta:tamil99" }, ++ { "te_IN", "m17n:te:inscript" }, ++ { "zh_CN", "pinyin" }, ++ { "zh_HK", "cangjie3" }, ++ { "zh_TW", "chewing" }, ++ }; ++ gint i; ++ ++ locale = setlocale (LC_CTYPE, NULL); ++ if (!locale) ++ return NULL; ++ ++ for (i = 0; i < G_N_ELEMENTS (locale_engine); ++i) ++ if (g_str_has_prefix (locale, locale_engine[i][0])) ++ return locale_engine[i][1]; ++ ++ return NULL; ++} ++ ++static void ++add_ibus_sources_from_locale (GSettings *settings) ++{ ++ const gchar *locale_engine; ++ GVariantBuilder builder; ++ ++ locale_engine = engine_from_locale (); ++ if (!locale_engine) ++ return; ++ ++ init_builder_with_sources (&builder, settings); ++ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_IBUS, locale_engine); ++ g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++} ++ ++static void ++convert_ibus (GSettings *settings) ++{ ++ GVariantBuilder builder; ++ GSettings *ibus_settings; ++ gchar **engines, **e; ++ ++ if (!schema_is_installed ("org.freedesktop.ibus.general")) ++ return; ++ ++ init_builder_with_sources (&builder, settings); ++ ++ ibus_settings = g_settings_new ("org.freedesktop.ibus.general"); ++ engines = g_settings_get_strv (ibus_settings, "preload-engines"); ++ for (e = engines; *e; ++e) { ++ if (g_str_has_prefix (*e, "xkb:")) ++ continue; ++ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_IBUS, *e); ++ } ++ ++ g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++ ++ g_strfreev (engines); ++ g_object_unref (ibus_settings); ++} ++#endif /* HAVE_IBUS */ ++ + static gboolean + xkb_set_keyboard_autorepeat_rate (guint delay, guint interval) + { +@@ -97,32 +634,33 @@ xkb_set_keyboard_autorepeat_rate (guint + interval); + } + +-static void +-numlock_xkb_init (CsdKeyboardManager *manager) ++static gboolean ++check_xkb_extension (CsdKeyboardManager *manager) + { + Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); +- gboolean have_xkb; + int opcode, error_base, major, minor; ++ gboolean have_xkb; + + have_xkb = XkbQueryExtension (dpy, + &opcode, + &manager->priv->xkb_event_base, + &error_base, + &major, +- &minor) +- && XkbUseExtension (dpy, &major, &minor); ++ &minor); ++ return have_xkb; ++} + +- if (have_xkb) { +- XkbSelectEventDetails (dpy, +- XkbUseCoreKbd, +- XkbStateNotifyMask, +- XkbModifierLockMask, +- XkbModifierLockMask); +- } else { +- g_warning ("XKB extension not available"); +- } ++static void ++xkb_init (CsdKeyboardManager *manager) ++{ ++ Display *dpy; + +- manager->priv->have_xkb = have_xkb; ++ dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); ++ XkbSelectEventDetails (dpy, ++ XkbUseCoreKbd, ++ XkbStateNotify, ++ XkbModifierLockMask, ++ XkbModifierLockMask); + } + + static unsigned +@@ -143,19 +681,32 @@ numlock_set_xkb_state (CsdNumLockState n + XkbLockModifiers (dpy, XkbUseCoreKbd, num_mask, new_state == CSD_NUM_LOCK_STATE_ON ? num_mask : 0); + } + ++static const char * ++num_lock_state_to_string (CsdNumLockState numlock_state) ++{ ++ switch (numlock_state) { ++ case CSD_NUM_LOCK_STATE_UNKNOWN: ++ return "CSD_NUM_LOCK_STATE_UNKNOWN"; ++ case CSD_NUM_LOCK_STATE_ON: ++ return "CSD_NUM_LOCK_STATE_ON"; ++ case CSD_NUM_LOCK_STATE_OFF: ++ return "CSD_NUM_LOCK_STATE_OFF"; ++ default: ++ return "UNKNOWN"; ++ } ++} ++ + static GdkFilterReturn +-numlock_xkb_callback (GdkXEvent *xev_, +- GdkEvent *gdkev_, +- gpointer user_data) ++xkb_events_filter (GdkXEvent *xev_, ++ GdkEvent *gdkev_, ++ gpointer user_data) + { + XEvent *xev = (XEvent *) xev_; + XkbEvent *xkbev = (XkbEvent *) xev; + CsdKeyboardManager *manager = (CsdKeyboardManager *) user_data; + +- if (xev->type != manager->priv->xkb_event_base) +- return GDK_FILTER_CONTINUE; +- +- if (xkbev->any.xkb_type != XkbStateNotify) ++ if (xev->type != manager->priv->xkb_event_base || ++ xkbev->any.xkb_type != XkbStateNotify) + return GDK_FILTER_CONTINUE; + + if (xkbev->state.changed & XkbModifierLockMask) { +@@ -166,6 +717,9 @@ numlock_xkb_callback (GdkXEvent *xev_, + numlock_state = (num_mask & locked_mods) ? CSD_NUM_LOCK_STATE_ON : CSD_NUM_LOCK_STATE_OFF; + + if (numlock_state != manager->priv->old_state) { ++ g_debug ("New num-lock state '%s' != Old num-lock state '%s'", ++ num_lock_state_to_string (numlock_state), ++ num_lock_state_to_string (manager->priv->old_state)); + g_settings_set_enum (manager->priv->settings, + KEY_NUMLOCK_STATE, + numlock_state); +@@ -177,57 +731,509 @@ numlock_xkb_callback (GdkXEvent *xev_, + } + + static void +-numlock_install_xkb_callback (CsdKeyboardManager *manager) ++install_xkb_filter (CsdKeyboardManager *manager) + { +- if (!manager->priv->have_xkb) +- return; +- + gdk_window_add_filter (NULL, +- numlock_xkb_callback, ++ xkb_events_filter, + manager); + } + +-static guint +-_csd_settings_get_uint (GSettings *settings, +- const char *key) ++static void ++remove_xkb_filter (CsdKeyboardManager *manager) + { +- guint value; ++ gdk_window_remove_filter (NULL, ++ xkb_events_filter, ++ manager); ++} + +- g_settings_get (settings, key, "u", &value); +- return value; ++static void ++free_xkb_component_names (XkbComponentNamesRec *p) ++{ ++ g_return_if_fail (p != NULL); ++ ++ free (p->keymap); ++ free (p->keycodes); ++ free (p->types); ++ free (p->compat); ++ free (p->symbols); ++ free (p->geometry); ++ ++ g_free (p); ++} ++ ++static void ++upload_xkb_description (const gchar *rules_file_path, ++ XkbRF_VarDefsRec *var_defs, ++ XkbComponentNamesRec *comp_names) ++{ ++ Display *display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); ++ XkbDescRec *xkb_desc; ++ gchar *rules_file; ++ ++ /* Upload it to the X server using the same method as setxkbmap */ ++ xkb_desc = XkbGetKeyboardByName (display, ++ XkbUseCoreKbd, ++ comp_names, ++ XkbGBN_AllComponentsMask, ++ XkbGBN_AllComponentsMask & ++ (~XkbGBN_GeometryMask), True); ++ if (!xkb_desc) { ++ g_warning ("Couldn't upload new XKB keyboard description"); ++ return; ++ } ++ ++ XkbFreeKeyboard (xkb_desc, 0, True); ++ ++ rules_file = g_path_get_basename (rules_file_path); ++ ++ if (!XkbRF_SetNamesProp (display, rules_file, var_defs)) ++ g_warning ("Couldn't update the XKB root window property"); ++ ++ g_free (rules_file); ++} ++ ++static gchar * ++language_code_from_locale (const gchar *locale) ++{ ++ if (!locale || !locale[0] || !locale[1]) ++ return NULL; ++ ++ if (!locale[2] || locale[2] == '_' || locale[2] == '.') ++ return g_strndup (locale, 2); ++ ++ if (!locale[3] || locale[3] == '_' || locale[3] == '.') ++ return g_strndup (locale, 3); ++ ++ return NULL; ++} ++ ++static gchar * ++build_xkb_group_string (const gchar *user, ++ const gchar *locale, ++ const gchar *latin) ++{ ++ gchar *string; ++ gsize length = 0; ++ guint commas = 2; ++ ++ if (latin) ++ length += strlen (latin); ++ else ++ commas -= 1; ++ ++ if (locale) ++ length += strlen (locale); ++ else ++ commas -= 1; ++ ++ length += strlen (user) + commas + 1; ++ ++ string = malloc (length); ++ ++ if (locale && latin) ++ sprintf (string, "%s,%s,%s", user, locale, latin); ++ else if (locale) ++ sprintf (string, "%s,%s", user, locale); ++ else if (latin) ++ sprintf (string, "%s,%s", user, latin); ++ else ++ sprintf (string, "%s", user); ++ ++ return string; ++} ++ ++static gboolean ++layout_equal (const gchar *layout_a, ++ const gchar *variant_a, ++ const gchar *layout_b, ++ const gchar *variant_b) ++{ ++ return !g_strcmp0 (layout_a, layout_b) && !g_strcmp0 (variant_a, variant_b); + } + + static void +-apply_settings (GSettings *settings, +- const char *key, +- CsdKeyboardManager *manager) ++replace_layout_and_variant (CsdKeyboardManager *manager, ++ XkbRF_VarDefsRec *xkb_var_defs, ++ const gchar *layout, ++ const gchar *variant) + { ++ /* Toolkits need to know about both a latin layout to handle ++ * accelerators which are usually defined like Ctrl+C and a ++ * layout with the symbols for the language used in UI strings ++ * to handle mnemonics like Alt+Ф, so we try to find and add ++ * them in XKB group slots after the layout which the user ++ * actually intends to type with. */ ++ const gchar *latin_layout = "us"; ++ const gchar *latin_variant = ""; ++ const gchar *locale_layout = NULL; ++ const gchar *locale_variant = NULL; ++ const gchar *locale; ++ gchar *language; ++ ++ if (!layout) ++ return; ++ ++ if (!variant) ++ variant = ""; ++ ++ locale = setlocale (LC_MESSAGES, NULL); ++ /* If LANG is empty, default to en_US */ ++ if (!locale) ++ language = g_strdup (DEFAULT_LANGUAGE); ++ else ++ language = language_code_from_locale (locale); ++ ++ if (!language) ++ language = language_code_from_locale (DEFAULT_LANGUAGE); ++ ++ gnome_xkb_info_get_layout_info_for_language (manager->priv->xkb_info, ++ language, ++ NULL, ++ NULL, ++ NULL, ++ &locale_layout, ++ &locale_variant); ++ g_free (language); ++ ++ /* We want to minimize the number of XKB groups if we have ++ * duplicated layout+variant pairs. ++ * ++ * Also, if a layout doesn't have a variant we still have to ++ * include it in the variants string because the number of ++ * variants must agree with the number of layouts. For ++ * instance: ++ * ++ * layouts: "us,ru,us" ++ * variants: "dvorak,," ++ */ ++ if (layout_equal (latin_layout, latin_variant, locale_layout, locale_variant) || ++ layout_equal (latin_layout, latin_variant, layout, variant)) { ++ latin_layout = NULL; ++ latin_variant = NULL; ++ } ++ ++ if (layout_equal (locale_layout, locale_variant, layout, variant)) { ++ locale_layout = NULL; ++ locale_variant = NULL; ++ } ++ ++ free (xkb_var_defs->layout); ++ xkb_var_defs->layout = build_xkb_group_string (layout, locale_layout, latin_layout); ++ ++ free (xkb_var_defs->variant); ++ xkb_var_defs->variant = build_xkb_group_string (variant, locale_variant, latin_variant); ++} ++ ++static gchar * ++build_xkb_options_string (gchar **options) ++{ ++ gchar *string; ++ ++ if (*options) { ++ gint i; ++ gsize len; ++ gchar *ptr; ++ ++ /* First part, getting length */ ++ len = 1 + strlen (options[0]); ++ for (i = 1; options[i] != NULL; i++) ++ len += strlen (options[i]); ++ len += (i - 1); /* commas */ ++ ++ /* Second part, building string */ ++ string = malloc (len); ++ ptr = g_stpcpy (string, *options); ++ for (i = 1; options[i] != NULL; i++) { ++ ptr = g_stpcpy (ptr, ","); ++ ptr = g_stpcpy (ptr, options[i]); ++ } ++ } else { ++ string = malloc (1); ++ *string = '\0'; ++ } ++ ++ return string; ++} ++ ++static gchar ** ++append_options (gchar **a, ++ gchar **b) ++{ ++ gchar **c, **p; ++ ++ if (!a && !b) ++ return NULL; ++ else if (!a) ++ return g_strdupv (b); ++ else if (!b) ++ return g_strdupv (a); ++ ++ c = g_new0 (gchar *, g_strv_length (a) + g_strv_length (b) + 1); ++ p = c; ++ ++ while (*a) { ++ *p = g_strdup (*a); ++ p += 1; ++ a += 1; ++ } ++ while (*b) { ++ *p = g_strdup (*b); ++ p += 1; ++ b += 1; ++ } ++ ++ return c; ++} ++ ++static void ++add_xkb_options (CsdKeyboardManager *manager, ++ XkbRF_VarDefsRec *xkb_var_defs, ++ gchar **extra_options) ++{ ++ gchar **options; ++ gchar **settings_options; ++ ++ settings_options = g_settings_get_strv (manager->priv->input_sources_settings, ++ KEY_KEYBOARD_OPTIONS); ++ options = append_options (settings_options, extra_options); ++ g_strfreev (settings_options); ++ ++ free (xkb_var_defs->options); ++ xkb_var_defs->options = build_xkb_options_string (options); ++ ++ g_strfreev (options); ++} ++ ++static void ++apply_xkb_settings (CsdKeyboardManager *manager, ++ const gchar *layout, ++ const gchar *variant, ++ gchar **options) ++{ ++ XkbRF_RulesRec *xkb_rules; ++ XkbRF_VarDefsRec *xkb_var_defs; ++ gchar *rules_file_path; ++ ++ gnome_xkb_info_get_var_defs (&rules_file_path, &xkb_var_defs); ++ ++ add_xkb_options (manager, xkb_var_defs, options); ++ replace_layout_and_variant (manager, xkb_var_defs, layout, variant); ++ ++ gdk_error_trap_push (); ++ ++ xkb_rules = XkbRF_Load (rules_file_path, NULL, True, True); ++ if (xkb_rules) { ++ XkbComponentNamesRec *xkb_comp_names; ++ xkb_comp_names = g_new0 (XkbComponentNamesRec, 1); ++ ++ XkbRF_GetComponents (xkb_rules, xkb_var_defs, xkb_comp_names); ++ upload_xkb_description (rules_file_path, xkb_var_defs, xkb_comp_names); ++ ++ free_xkb_component_names (xkb_comp_names); ++ XkbRF_Free (xkb_rules, True); ++ } else { ++ g_warning ("Couldn't load XKB rules"); ++ } ++ ++ if (gdk_error_trap_pop ()) ++ g_warning ("Error loading XKB rules"); ++ ++ gnome_xkb_info_free_var_defs (xkb_var_defs); ++ g_free (rules_file_path); ++} ++ ++static void ++set_gtk_im_module (CsdKeyboardManager *manager, ++ const gchar *new_module) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ gchar *current_module; ++ ++ current_module = g_settings_get_string (priv->interface_settings, ++ KEY_GTK_IM_MODULE); ++ if (!g_str_equal (current_module, new_module)) ++ g_settings_set_string (priv->interface_settings, ++ KEY_GTK_IM_MODULE, ++ new_module); ++ g_free (current_module); ++} ++ ++static gboolean ++apply_input_sources_settings (GSettings *settings, ++ gpointer keys, ++ gint n_keys, ++ CsdKeyboardManager *manager) ++{ ++ CsdKeyboardManagerPrivate *priv = manager->priv; ++ GVariant *sources; ++ guint current; ++ guint n_sources; ++ const gchar *type = NULL; ++ const gchar *id = NULL; ++ gchar *layout = NULL; ++ gchar *variant = NULL; ++ gchar **options = NULL; ++ ++ sources = g_settings_get_value (priv->input_sources_settings, KEY_INPUT_SOURCES); ++ current = g_settings_get_uint (priv->input_sources_settings, KEY_CURRENT_INPUT_SOURCE); ++ n_sources = g_variant_n_children (sources); ++ ++ if (n_sources < 1) ++ goto exit; ++ ++ if (current >= n_sources) { ++ g_settings_set_uint (priv->input_sources_settings, ++ KEY_CURRENT_INPUT_SOURCE, ++ n_sources - 1); ++ goto exit; ++ } ++ ++#ifdef HAVE_IBUS ++ maybe_start_ibus (manager, sources); ++#endif ++ ++ g_variant_get_child (sources, current, "(&s&s)", &type, &id); ++ ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB)) { ++ const gchar *l, *v; ++ gnome_xkb_info_get_layout_info (priv->xkb_info, id, NULL, NULL, &l, &v); ++ ++ layout = g_strdup (l); ++ variant = g_strdup (v); ++ ++ if (!layout || !layout[0]) { ++ g_warning ("Couldn't find XKB input source '%s'", id); ++ goto exit; ++ } ++ set_gtk_im_module (manager, GTK_IM_MODULE_SIMPLE); ++#ifdef HAVE_IBUS ++ set_ibus_xkb_engine (manager, id); ++#endif ++ } else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) { ++#ifdef HAVE_IBUS ++ IBusEngineDesc *engine_desc = NULL; ++ ++ if (priv->session_is_fallback) ++ goto exit; ++ ++ if (priv->ibus_engines) ++ engine_desc = g_hash_table_lookup (priv->ibus_engines, id); ++ else ++ goto exit; /* we'll be called again when ibus is up and running */ ++ ++ if (engine_desc) { ++ const gchar *ibus_layout; ++ ibus_layout = ibus_engine_desc_get_layout (engine_desc); ++ ++ if (ibus_layout) { ++ layout = layout_from_ibus_layout (ibus_layout); ++ variant = variant_from_ibus_layout (ibus_layout); ++ options = options_from_ibus_layout (ibus_layout); ++ } ++ } else { ++ g_warning ("Couldn't find IBus input source '%s'", id); ++ goto exit; ++ } ++ ++ set_gtk_im_module (manager, GTK_IM_MODULE_IBUS); ++ set_ibus_engine (manager, id); ++#else ++ g_warning ("IBus input source type specified but IBus support was not compiled"); ++#endif ++ } else { ++ g_warning ("Unknown input source type '%s'", type); ++ } ++ ++ exit: ++ apply_xkb_settings (manager, layout, variant, options); ++ g_variant_unref (sources); ++ g_free (layout); ++ g_free (variant); ++ g_strfreev (options); ++ /* Prevent individual "changed" signal invocations since we ++ don't need them. */ ++ return TRUE; ++} ++ ++static void ++apply_bell (CsdKeyboardManager *manager) ++{ ++ GSettings *settings; + XKeyboardControl kbdcontrol; +- gboolean repeat; + gboolean click; +- guint interval; +- guint delay; +- int click_volume; + int bell_volume; + int bell_pitch; + int bell_duration; + CsdBellMode bell_mode; +- gboolean rnumlock; +- +- if (g_strcmp0 (key, KEY_NUMLOCK_STATE) == 0) +- return; ++ int click_volume; + +- repeat = g_settings_get_boolean (settings, KEY_REPEAT); ++ g_debug ("Applying the bell settings"); ++ settings = manager->priv->settings; + click = g_settings_get_boolean (settings, KEY_CLICK); +- interval = _csd_settings_get_uint (settings, KEY_INTERVAL); +- delay = _csd_settings_get_uint (settings, KEY_DELAY); + click_volume = g_settings_get_int (settings, KEY_CLICK_VOLUME); ++ + bell_pitch = g_settings_get_int (settings, KEY_BELL_PITCH); + bell_duration = g_settings_get_int (settings, KEY_BELL_DURATION); + + bell_mode = g_settings_get_enum (settings, KEY_BELL_MODE); + bell_volume = (bell_mode == CSD_BELL_MODE_ON) ? 50 : 0; + ++ /* as percentage from 0..100 inclusive */ ++ if (click_volume < 0) { ++ click_volume = 0; ++ } else if (click_volume > 100) { ++ click_volume = 100; ++ } ++ kbdcontrol.key_click_percent = click ? click_volume : 0; ++ kbdcontrol.bell_percent = bell_volume; ++ kbdcontrol.bell_pitch = bell_pitch; ++ kbdcontrol.bell_duration = bell_duration; ++ ++ gdk_error_trap_push (); ++ XChangeKeyboardControl (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), ++ KBKeyClickPercent | KBBellPercent | KBBellPitch | KBBellDuration, ++ &kbdcontrol); ++ ++ XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); ++ gdk_error_trap_pop_ignored (); ++} ++ ++static void ++apply_numlock (CsdKeyboardManager *manager) ++{ ++ GSettings *settings; ++ gboolean rnumlock; ++ ++ g_debug ("Applying the num-lock settings"); ++ settings = manager->priv->settings; ++ rnumlock = g_settings_get_boolean (settings, KEY_REMEMBER_NUMLOCK_STATE); ++ manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE); ++ ++ gdk_error_trap_push (); ++ if (rnumlock) { ++ g_debug ("Remember num-lock is set, so applying setting '%s'", ++ num_lock_state_to_string (manager->priv->old_state)); ++ numlock_set_xkb_state (manager->priv->old_state); ++ } ++ ++ XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); ++ gdk_error_trap_pop_ignored (); ++} ++ ++static void ++apply_repeat (CsdKeyboardManager *manager) ++{ ++ GSettings *settings; ++ gboolean repeat; ++ guint interval; ++ guint delay; ++ ++ g_debug ("Applying the repeat settings"); ++ settings = manager->priv->settings; ++ repeat = g_settings_get_boolean (settings, KEY_REPEAT); ++ interval = g_settings_get_uint (settings, KEY_INTERVAL); ++ delay = g_settings_get_uint (settings, KEY_DELAY); ++ + gdk_error_trap_push (); + if (repeat) { + gboolean rate_set = FALSE; +@@ -243,124 +1249,319 @@ apply_settings (GSettings *sett + XAutoRepeatOff (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); + } + +- /* as percentage from 0..100 inclusive */ +- if (click_volume < 0) { +- click_volume = 0; +- } else if (click_volume > 100) { +- click_volume = 100; ++ XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); ++ gdk_error_trap_pop_ignored (); ++} ++ ++static void ++apply_all_settings (CsdKeyboardManager *manager) ++{ ++ apply_repeat (manager); ++ apply_bell (manager); ++ apply_numlock (manager); ++} ++ ++static void ++set_input_sources_switcher (CsdKeyboardManager *manager, ++ gboolean state) ++{ ++ if (state) { ++ GError *error = NULL; ++ char *args[2]; ++ ++ if (manager->priv->input_sources_switcher_spawned) ++ set_input_sources_switcher (manager, FALSE); ++ ++ args[0] = LIBEXECDIR "/csd-input-sources-switcher"; ++ args[1] = NULL; ++ ++ g_spawn_async (NULL, args, NULL, ++ 0, NULL, NULL, ++ &manager->priv->input_sources_switcher_pid, &error); ++ ++ manager->priv->input_sources_switcher_spawned = (error == NULL); ++ ++ if (error) { ++ g_warning ("Couldn't spawn %s: %s", args[0], error->message); ++ g_error_free (error); ++ } ++ } else if (manager->priv->input_sources_switcher_spawned) { ++ kill (manager->priv->input_sources_switcher_pid, SIGHUP); ++ g_spawn_close_pid (manager->priv->input_sources_switcher_pid); ++ manager->priv->input_sources_switcher_spawned = FALSE; + } +- kbdcontrol.key_click_percent = click ? click_volume : 0; +- kbdcontrol.bell_percent = bell_volume; +- kbdcontrol.bell_pitch = bell_pitch; +- kbdcontrol.bell_duration = bell_duration; +- XChangeKeyboardControl (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), +- KBKeyClickPercent | KBBellPercent | KBBellPitch | KBBellDuration, +- &kbdcontrol); ++} + +- if (g_strcmp0 (key, "remember-numlock-state") == 0 || key == NULL) { +- rnumlock = g_settings_get_boolean (settings, "remember-numlock-state"); ++static gboolean ++enable_switcher (CsdKeyboardManager *manager) ++{ ++ CsdInputSourcesSwitcher switcher; + +- manager->priv->old_state = g_settings_get_enum (manager->priv->settings, KEY_NUMLOCK_STATE); ++ switcher = g_settings_get_enum (manager->priv->settings, KEY_SWITCHER); + +- if (manager->priv->have_xkb && rnumlock) +- numlock_set_xkb_state (manager->priv->old_state); ++ return switcher != CSD_INPUT_SOURCES_SWITCHER_OFF; ++} ++ ++static void ++settings_changed (GSettings *settings, ++ const char *key, ++ CsdKeyboardManager *manager) ++{ ++ if (g_strcmp0 (key, KEY_CLICK) == 0|| ++ g_strcmp0 (key, KEY_CLICK_VOLUME) == 0 || ++ g_strcmp0 (key, KEY_BELL_PITCH) == 0 || ++ g_strcmp0 (key, KEY_BELL_DURATION) == 0 || ++ g_strcmp0 (key, KEY_BELL_MODE) == 0) { ++ g_debug ("Bell setting '%s' changed, applying bell settings", key); ++ apply_bell (manager); ++ } else if (g_strcmp0 (key, KEY_REMEMBER_NUMLOCK_STATE) == 0) { ++ g_debug ("Remember Num-Lock state '%s' changed, applying num-lock settings", key); ++ apply_numlock (manager); ++ } else if (g_strcmp0 (key, KEY_NUMLOCK_STATE) == 0) { ++ g_debug ("Num-Lock state '%s' changed, will apply at next startup", key); ++ } else if (g_strcmp0 (key, KEY_REPEAT) == 0 || ++ g_strcmp0 (key, KEY_INTERVAL) == 0 || ++ g_strcmp0 (key, KEY_DELAY) == 0) { ++ g_debug ("Key repeat setting '%s' changed, applying key repeat settings", key); ++ apply_repeat (manager); ++ } else if (g_strcmp0 (key, KEY_SWITCHER) == 0) { ++ set_input_sources_switcher (manager, enable_switcher (manager)); ++ } else { ++ g_warning ("Unhandled settings change, key '%s'", key); + } + +- XSync (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), FALSE); +- gdk_error_trap_pop_ignored (); + } + +-void +-csd_keyboard_manager_apply_settings (CsdKeyboardManager *manager) ++static void ++device_added_cb (GdkDeviceManager *device_manager, ++ GdkDevice *device, ++ CsdKeyboardManager *manager) + { +- apply_settings (manager->priv->settings, NULL, manager); ++ GdkInputSource source; ++ ++ source = gdk_device_get_source (device); ++ if (source == GDK_SOURCE_KEYBOARD) { ++ g_debug ("New keyboard plugged in, applying all settings"); ++ apply_all_settings (manager); ++ apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager); ++ run_custom_command (device, COMMAND_DEVICE_ADDED); ++ } + } + + static void +-apply_libgnomekbd_settings (GSettings *settings, +- const char *key, +- CsdKeyboardManager *manager) ++device_removed_cb (GdkDeviceManager *device_manager, ++ GdkDevice *device, ++ CsdKeyboardManager *manager) + { +- gchar **layouts; ++ GdkInputSource source; + +- layouts = g_settings_get_strv (settings, LIBGNOMEKBD_KEY_LAYOUTS); ++ source = gdk_device_get_source (device); ++ if (source == GDK_SOURCE_KEYBOARD) { ++ run_custom_command (device, COMMAND_DEVICE_REMOVED); ++ } ++} + +- /* Get accounts daemon */ +- GDBusProxy *proxy = NULL; +- GDBusProxy *user = NULL; +- GVariant *variant = NULL; +- GError *error = NULL; +- gchar *object_path = NULL; ++static void ++set_devicepresence_handler (CsdKeyboardManager *manager) ++{ ++ GdkDeviceManager *device_manager; + +- proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, +- G_DBUS_PROXY_FLAGS_NONE, +- NULL, +- "org.freedesktop.Accounts", +- "/org/freedesktop/Accounts", +- "org.freedesktop.Accounts", +- NULL, +- &error); ++ device_manager = gdk_display_get_device_manager (gdk_display_get_default ()); + +- if (proxy == NULL) { +- g_warning ("Failed to contact accounts service: %s", error->message); +- g_error_free (error); +- goto bail; ++ manager->priv->device_added_id = g_signal_connect (G_OBJECT (device_manager), "device-added", ++ G_CALLBACK (device_added_cb), manager); ++ manager->priv->device_removed_id = g_signal_connect (G_OBJECT (device_manager), "device-removed", ++ G_CALLBACK (device_removed_cb), manager); ++ manager->priv->device_manager = device_manager; ++} ++ ++static void ++create_sources_from_current_xkb_config (GSettings *settings) ++{ ++ GVariantBuilder builder; ++ XkbRF_VarDefsRec *xkb_var_defs; ++ gchar *tmp; ++ gchar **layouts = NULL; ++ gchar **variants = NULL; ++ guint i, n; ++ ++ gnome_xkb_info_get_var_defs (&tmp, &xkb_var_defs); ++ g_free (tmp); ++ ++ if (xkb_var_defs->layout) ++ layouts = g_strsplit (xkb_var_defs->layout, ",", 0); ++ if (xkb_var_defs->variant) ++ variants = g_strsplit (xkb_var_defs->variant, ",", 0); ++ ++ gnome_xkb_info_free_var_defs (xkb_var_defs); ++ ++ if (!layouts) ++ goto out; ++ ++ if (variants && variants[0]) ++ n = MIN (g_strv_length (layouts), g_strv_length (variants)); ++ else ++ n = g_strv_length (layouts); ++ ++ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)")); ++ for (i = 0; i < n && layouts[i][0]; ++i) { ++ if (variants && variants[i] && variants[i][0]) ++ tmp = g_strdup_printf ("%s+%s", layouts[i], variants[i]); ++ else ++ tmp = g_strdup (layouts[i]); ++ ++ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, tmp); ++ g_free (tmp); + } ++ g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++out: ++ g_strfreev (layouts); ++ g_strfreev (variants); ++} + +- variant = g_dbus_proxy_call_sync (proxy, +- "FindUserByName", +- g_variant_new ("(s)", g_get_user_name ()), +- G_DBUS_CALL_FLAGS_NONE, +- -1, +- NULL, +- &error); ++static void ++convert_libgnomekbd_options (GSettings *settings) ++{ ++ GPtrArray *opt_array; ++ GSettings *libgnomekbd_settings; ++ gchar **options, **o; + +- if (variant == NULL) { +- g_warning ("Could not contact accounts service to look up '%s': %s", +- g_get_user_name (), error->message); +- g_error_free (error); +- goto bail; ++ if (!schema_is_installed ("org.gnome.libgnomekbd.keyboard")) ++ return; ++ ++ opt_array = g_ptr_array_new_with_free_func (g_free); ++ ++ libgnomekbd_settings = g_settings_new ("org.gnome.libgnomekbd.keyboard"); ++ options = g_settings_get_strv (libgnomekbd_settings, "options"); ++ ++ for (o = options; *o; ++o) { ++ gchar **strv; ++ ++ strv = g_strsplit (*o, "\t", 2); ++ if (strv[0] && strv[1]) { ++ /* We don't want the group switcher because ++ * it's incompatible with the way we use XKB ++ * groups. */ ++ if (!g_str_has_prefix (strv[1], "grp:")) ++ g_ptr_array_add (opt_array, g_strdup (strv[1])); ++ } ++ g_strfreev (strv); + } ++ g_ptr_array_add (opt_array, NULL); + +- g_variant_get (variant, "(o)", &object_path); +- user = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, +- G_DBUS_PROXY_FLAGS_NONE, +- NULL, +- "org.freedesktop.Accounts", +- object_path, +- "org.freedesktop.Accounts.User", +- NULL, +- &error); +- g_free (object_path); ++ g_settings_set_strv (settings, KEY_KEYBOARD_OPTIONS, (const gchar * const*) opt_array->pdata); + +- if (user == NULL) { +- g_warning ("Could not create proxy for user '%s': %s", +- g_variant_get_string (variant, NULL), error->message); +- g_error_free (error); +- goto bail; ++ g_strfreev (options); ++ g_object_unref (libgnomekbd_settings); ++ g_ptr_array_free (opt_array, TRUE); ++} ++ ++static void ++convert_libgnomekbd_layouts (GSettings *settings) ++{ ++ GVariantBuilder builder; ++ GSettings *libgnomekbd_settings; ++ gchar **layouts, **l; ++ ++ if (!schema_is_installed ("org.gnome.libgnomekbd.keyboard")) ++ return; ++ ++ init_builder_with_sources (&builder, settings); ++ ++ libgnomekbd_settings = g_settings_new ("org.gnome.libgnomekbd.keyboard"); ++ layouts = g_settings_get_strv (libgnomekbd_settings, "layouts"); ++ ++ for (l = layouts; *l; ++l) { ++ gchar *id; ++ gchar **strv; ++ ++ strv = g_strsplit (*l, "\t", 2); ++ if (strv[0] && !strv[1]) ++ id = g_strdup (strv[0]); ++ else if (strv[0] && strv[1]) ++ id = g_strdup_printf ("%s+%s", strv[0], strv[1]); ++ else ++ id = NULL; ++ ++ if (id) ++ g_variant_builder_add (&builder, "(ss)", INPUT_SOURCE_TYPE_XKB, id); ++ ++ g_free (id); ++ g_strfreev (strv); + } +- g_variant_unref (variant); + +- variant = g_dbus_proxy_call_sync (user, +- "SetXKeyboardLayouts", +- g_variant_new ("(^as)", layouts), +- G_DBUS_CALL_FLAGS_NONE, +- -1, +- NULL, +- &error); ++ g_settings_set_value (settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++ ++ g_strfreev (layouts); ++ g_object_unref (libgnomekbd_settings); ++} + +- if (variant == NULL) { +- g_warning ("Failed to set the keyboard layouts: %s", error->message); ++static void ++maybe_convert_old_settings (GSettings *settings) ++{ ++ GVariant *sources; ++ gchar **options; ++ gchar *stamp_dir_path = NULL; ++ gchar *stamp_file_path = NULL; ++ GError *error = NULL; ++ ++ stamp_dir_path = g_build_filename (g_get_user_data_dir (), PACKAGE_NAME, NULL); ++ if (g_mkdir_with_parents (stamp_dir_path, 0755)) { ++ g_warning ("Failed to create directory %s: %s", stamp_dir_path, g_strerror (errno)); ++ goto out; ++ } ++ ++ stamp_file_path = g_build_filename (stamp_dir_path, "input-sources-converted", NULL); ++ if (g_file_test (stamp_file_path, G_FILE_TEST_EXISTS)) ++ goto out; ++ ++ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); ++ if (g_variant_n_children (sources) < 1) { ++ convert_libgnomekbd_layouts (settings); ++#ifdef HAVE_IBUS ++ convert_ibus (settings); ++#endif ++ } ++ g_variant_unref (sources); ++ ++ options = g_settings_get_strv (settings, KEY_KEYBOARD_OPTIONS); ++ if (g_strv_length (options) < 1) ++ convert_libgnomekbd_options (settings); ++ g_strfreev (options); ++ ++ if (!g_file_set_contents (stamp_file_path, "", 0, &error)) { ++ g_warning ("%s", error->message); + g_error_free (error); +- goto bail; + } ++out: ++ g_free (stamp_file_path); ++ g_free (stamp_dir_path); ++} + +-bail: +- if (proxy != NULL) +- g_object_unref (proxy); +- if (variant != NULL) +- g_variant_unref (variant); +- g_strfreev (layouts); ++static void ++maybe_create_input_sources (CsdKeyboardManager *manager) ++{ ++ GSettings *settings; ++ GVariant *sources; ++ ++ settings = manager->priv->input_sources_settings; ++ ++ if (g_getenv ("RUNNING_UNDER_GDM")) { ++ create_sources_from_current_xkb_config (settings); ++ return; ++ } ++ ++ maybe_convert_old_settings (settings); ++ ++ /* if we still don't have anything do some educated guesses */ ++ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); ++ if (g_variant_n_children (sources) < 1) { ++ create_sources_from_current_xkb_config (settings); ++#ifdef HAVE_IBUS ++ add_ibus_sources_from_locale (settings); ++#endif ++ } ++ g_variant_unref (sources); + } + + static gboolean +@@ -370,26 +1571,41 @@ start_keyboard_idle_cb (CsdKeyboardManag + + g_debug ("Starting keyboard manager"); + +- manager->priv->have_xkb = 0; + manager->priv->settings = g_settings_new (CSD_KEYBOARD_DIR); +- manager->priv->libgnomekbd_settings = g_settings_new (LIBGNOMEKBD_KEYBOARD_DIR); + +- /* Essential - xkb initialization should happen before */ +- csd_keyboard_xkb_init (manager); ++ xkb_init (manager); + +- numlock_xkb_init (manager); ++ set_devicepresence_handler (manager); + ++ manager->priv->input_sources_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR); ++ manager->priv->interface_settings = g_settings_new (GNOME_DESKTOP_INTERFACE_DIR); ++ manager->priv->xkb_info = gnome_xkb_info_new (); ++ ++ maybe_create_input_sources (manager); ++ ++#ifdef HAVE_IBUS ++ /* We don't want to touch IBus until we are sure this isn't a ++ fallback session. */ ++ manager->priv->session_is_fallback = TRUE; ++ manager->priv->ibus_cancellable = g_cancellable_new (); ++ g_bus_get (G_BUS_TYPE_SESSION, ++ manager->priv->ibus_cancellable, ++ (GAsyncReadyCallback)got_bus, ++ manager); ++#else ++ apply_input_sources_settings (manager->priv->input_sources_settings, NULL, 0, manager); ++#endif + /* apply current settings before we install the callback */ +- csd_keyboard_manager_apply_settings (manager); ++ g_debug ("Started the keyboard plugin, applying all settings"); ++ apply_all_settings (manager); + + g_signal_connect (G_OBJECT (manager->priv->settings), "changed", +- G_CALLBACK (apply_settings), manager); +- +- apply_libgnomekbd_settings (manager->priv->libgnomekbd_settings, NULL, manager); +- g_signal_connect (G_OBJECT (manager->priv->libgnomekbd_settings), "changed", +- G_CALLBACK (apply_libgnomekbd_settings), manager); ++ G_CALLBACK (settings_changed), manager); ++ g_signal_connect (G_OBJECT (manager->priv->input_sources_settings), "change-event", ++ G_CALLBACK (apply_input_sources_settings), manager); + +- numlock_install_xkb_callback (manager); ++ install_xkb_filter (manager); ++ set_input_sources_switcher (manager, enable_switcher (manager)); + + cinnamon_settings_profile_end (NULL); + +@@ -404,6 +1620,11 @@ csd_keyboard_manager_start (CsdKeyboardM + { + cinnamon_settings_profile_start (NULL); + ++ if (check_xkb_extension (manager) == FALSE) { ++ g_debug ("XKB is not supported, not applying any settings"); ++ return TRUE; ++ } ++ + manager->priv->start_idle_id = g_idle_add ((GSourceFunc) start_keyboard_idle_cb, manager); + + cinnamon_settings_profile_end (NULL); +@@ -418,37 +1639,24 @@ csd_keyboard_manager_stop (CsdKeyboardMa + + g_debug ("Stopping keyboard manager"); + +- if (p->settings != NULL) { +- g_object_unref (p->settings); +- p->settings = NULL; +- } ++ g_clear_object (&p->settings); ++ g_clear_object (&p->input_sources_settings); ++ g_clear_object (&p->interface_settings); ++ g_clear_object (&p->xkb_info); + +- if (p->libgnomekbd_settings != NULL) { +- g_object_unref (p->libgnomekbd_settings); +- p->libgnomekbd_settings = NULL; +- } ++#ifdef HAVE_IBUS ++ clear_ibus (manager); ++#endif + +- if (p->have_xkb) { +- gdk_window_remove_filter (NULL, +- numlock_xkb_callback, +- manager); ++ if (p->device_manager != NULL) { ++ g_signal_handler_disconnect (p->device_manager, p->device_added_id); ++ g_signal_handler_disconnect (p->device_manager, p->device_removed_id); ++ p->device_manager = NULL; + } + +- csd_keyboard_xkb_shutdown (); +-} +- +-static GObject * +-csd_keyboard_manager_constructor (GType type, +- guint n_construct_properties, +- GObjectConstructParam *construct_properties) +-{ +- CsdKeyboardManager *keyboard_manager; +- +- keyboard_manager = CSD_KEYBOARD_MANAGER (G_OBJECT_CLASS (csd_keyboard_manager_parent_class)->constructor (type, +- n_construct_properties, +- construct_properties)); ++ remove_xkb_filter (manager); + +- return G_OBJECT (keyboard_manager); ++ set_input_sources_switcher (manager, FALSE); + } + + static void +@@ -456,7 +1664,6 @@ csd_keyboard_manager_class_init (CsdKeyb + { + GObjectClass *object_class = G_OBJECT_CLASS (klass); + +- object_class->constructor = csd_keyboard_manager_constructor; + object_class->finalize = csd_keyboard_manager_finalize; + + g_type_class_add_private (klass, sizeof (CsdKeyboardManagerPrivate)); +diff -uNrp a/plugins/keyboard/csd-keyboard-manager.h b/plugins/keyboard/csd-keyboard-manager.h +--- a/plugins/keyboard/csd-keyboard-manager.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-manager.h 2013-08-25 16:36:02.000000000 +0100 +@@ -51,7 +51,6 @@ CsdKeyboardManager * csd_keyboard_ + gboolean csd_keyboard_manager_start (CsdKeyboardManager *manager, + GError **error); + void csd_keyboard_manager_stop (CsdKeyboardManager *manager); +-void csd_keyboard_manager_apply_settings (CsdKeyboardManager *manager); + + G_END_DECLS + +diff -uNrp a/plugins/keyboard/csd-keyboard-plugin.h b/plugins/keyboard/csd-keyboard-plugin.h +--- a/plugins/keyboard/csd-keyboard-plugin.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-plugin.h 2013-08-25 16:36:02.000000000 +0100 +@@ -52,7 +52,7 @@ typedef struct + GType csd_keyboard_plugin_get_type (void) G_GNUC_CONST; + + /* All the plugins must implement this function */ +-G_MODULE_EXPORT GType register_cinnamon_settings_plugin (GTypeModule *module); ++G_MODULE_EXPORT GType register_gnome_settings_plugin (GTypeModule *module); + + G_END_DECLS + +diff -uNrp a/plugins/keyboard/csd-keyboard-xkb.c b/plugins/keyboard/csd-keyboard-xkb.c +--- a/plugins/keyboard/csd-keyboard-xkb.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-xkb.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,579 +0,0 @@ +-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +- * +- * Copyright (C) 2001 Udaltsoft +- * +- * Written by Sergey V. Oudaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#include "config.h" +- +-#include +-#include +- +-#include +-#include +-#include +-#include +- +-#include +- +-#include +-#include +-#include +-#include +-#include +- +-#include "csd-keyboard-xkb.h" +-#include "delayed-dialog.h" +-#include "cinnamon-settings-profile.h" +- +-#define SETTINGS_KEYBOARD_DIR "org.cinnamon.settings-daemon.plugins.keyboard" +- +-static CsdKeyboardManager *manager = NULL; +- +-static XklEngine *xkl_engine; +-static XklConfigRegistry *xkl_registry = NULL; +- +-static GkbdDesktopConfig current_config; +-static GkbdKeyboardConfig current_kbd_config; +- +-/* never terminated */ +-static GkbdKeyboardConfig initial_sys_kbd_config; +- +-static gboolean inited_ok = FALSE; +- +-static GSettings *settings_desktop = NULL; +-static GSettings *settings_keyboard = NULL; +- +-static PostActivationCallback pa_callback = NULL; +-static void *pa_callback_user_data = NULL; +- +-static GtkStatusIcon *icon = NULL; +- +-static GHashTable *preview_dialogs = NULL; +- +-static void +-activation_error (void) +-{ +- char const *vendor; +- GtkWidget *dialog; +- +- vendor = +- ServerVendor (GDK_DISPLAY_XDISPLAY +- (gdk_display_get_default ())); +- +- /* VNC viewers will not work, do not barrage them with warnings */ +- if (NULL != vendor && NULL != strstr (vendor, "VNC")) +- return; +- +- dialog = gtk_message_dialog_new_with_markup (NULL, +- 0, +- GTK_MESSAGE_ERROR, +- GTK_BUTTONS_CLOSE, +- _ +- ("Error activating XKB configuration.\n" +- "There can be various reasons for that.\n\n" +- "If you report this situation as a bug, include the results of\n" +- " • %s\n" +- " • %s\n" +- " • %s\n" +- " • %s"), +- "xprop -root | grep XKB", +- "gsettings get org.gnome.libgnomekbd.keyboard model", +- "gsettings get org.gnome.libgnomekbd.keyboard layouts", +- "gsettings get org.gnome.libgnomekbd.keyboard options"); +- g_signal_connect (dialog, "response", +- G_CALLBACK (gtk_widget_destroy), NULL); +- csd_delayed_show_dialog (dialog); +-} +- +-static gboolean +-ensure_xkl_registry (void) +-{ +- if (!xkl_registry) { +- xkl_registry = +- xkl_config_registry_get_instance (xkl_engine); +- /* load all materials, unconditionally! */ +- if (!xkl_config_registry_load (xkl_registry, TRUE)) { +- g_object_unref (xkl_registry); +- xkl_registry = NULL; +- return FALSE; +- } +- } +- +- return TRUE; +-} +- +-static void +-apply_desktop_settings (void) +-{ +- if (!inited_ok) +- return; +- +- csd_keyboard_manager_apply_settings (manager); +- gkbd_desktop_config_load (¤t_config); +- /* again, probably it would be nice to compare things +- before activating them */ +- gkbd_desktop_config_activate (¤t_config); +-} +- +-static void +-popup_menu_launch_capplet () +-{ +- GAppInfo *info; +- GdkAppLaunchContext *ctx; +- GError *error = NULL; +- +- info = +- g_app_info_create_from_commandline +- ("cinnamon-settings region", NULL, 0, &error); +- +- if (info != NULL) { +- ctx = +- gdk_display_get_app_launch_context +- (gdk_display_get_default ()); +- +- if (g_app_info_launch (info, NULL, +- G_APP_LAUNCH_CONTEXT (ctx), &error) == FALSE) { +- g_warning +- ("Could not execute keyboard properties capplet: [%s]\n", +- error->message); +- g_error_free (error); +- } +- +- g_object_unref (info); +- g_object_unref (ctx); +- } +- +-} +- +-static void +-show_layout_destroy (GtkWidget * dialog, gint group) +-{ +- g_hash_table_remove (preview_dialogs, GINT_TO_POINTER (group)); +-} +- +-static void +-popup_menu_show_layout () +-{ +- GtkWidget *dialog; +- XklEngine *engine = +- xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY +- (gdk_display_get_default ())); +- XklState *xkl_state = xkl_engine_get_current_state (engine); +- +- gchar **group_names = gkbd_status_get_group_names (); +- +- gpointer p = g_hash_table_lookup (preview_dialogs, +- GINT_TO_POINTER +- (xkl_state->group)); +- +- if (xkl_state->group < 0 +- || xkl_state->group >= g_strv_length (group_names)) { +- return; +- } +- +- if (p != NULL) { +- /* existing window */ +- gtk_window_present (GTK_WINDOW (p)); +- return; +- } +- +- if (!ensure_xkl_registry ()) +- return; +- +- dialog = gkbd_keyboard_drawing_dialog_new (); +- gkbd_keyboard_drawing_dialog_set_group (dialog, xkl_registry, xkl_state->group); +- +- g_signal_connect (dialog, "destroy", +- G_CALLBACK (show_layout_destroy), +- GINT_TO_POINTER (xkl_state->group)); +- g_hash_table_insert (preview_dialogs, +- GINT_TO_POINTER (xkl_state->group), dialog); +- gtk_widget_show_all (dialog); +-} +- +-static void +-popup_menu_set_group (gint group_number, gboolean only_menu) +-{ +- +- XklEngine *engine = gkbd_status_get_xkl_engine (); +- +- XklState *st = xkl_engine_get_current_state(engine); +- Window cur; +- st->group = group_number; +- xkl_engine_allow_one_switch_to_secondary_group (engine); +- cur = xkl_engine_get_current_window (engine); +- if (cur != (Window) NULL) { +- xkl_debug (150, "Enforcing the state %d for window %lx\n", +- st->group, cur); +- +- xkl_engine_save_state (engine, +- xkl_engine_get_current_window +- (engine), st); +-/* XSetInputFocus( GDK_DISPLAY(), cur, RevertToNone, CurrentTime );*/ +- } else { +- xkl_debug (150, +- "??? Enforcing the state %d for unknown window\n", +- st->group); +- /* strange situation - bad things can happen */ +- } +- if (!only_menu) +- xkl_engine_lock_group (engine, st->group); +-} +- +-static void +-popup_menu_set_group_cb (GtkMenuItem * item, gpointer param) +-{ +- gint group_number = GPOINTER_TO_INT (param); +- +- popup_menu_set_group(group_number, FALSE); +-} +- +- +-static GtkMenu * +-create_status_menu (void) +-{ +- GtkMenu *popup_menu = GTK_MENU (gtk_menu_new ()); +- int i = 0; +- +- GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ()); +- gchar **current_name = gkbd_status_get_group_names (); +- +- GtkWidget *item = gtk_menu_item_new_with_mnemonic (_("_Layouts")); +- gtk_widget_show (item); +- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); +- gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), +- GTK_WIDGET (groups_menu)); +- +- item = gtk_menu_item_new_with_mnemonic (_("Show _Keyboard Layout...")); +- gtk_widget_show (item); +- g_signal_connect (item, "activate", popup_menu_show_layout, NULL); +- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); +- +- /* translators note: +- * This is the name of the cinnamon-settings "region" panel */ +- item = gtk_menu_item_new_with_mnemonic (_("Region and Language Settings")); +- gtk_widget_show (item); +- g_signal_connect (item, "activate", popup_menu_launch_capplet, NULL); +- gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); +- +- for (i = 0; current_name && *current_name; i++, current_name++) { +- +- gchar *image_file = gkbd_status_get_image_filename (i); +- +- if (image_file == NULL) { +- item = +- gtk_menu_item_new_with_label (*current_name); +- } else { +- GdkPixbuf *pixbuf = +- gdk_pixbuf_new_from_file_at_size (image_file, +- 24, 24, +- NULL); +- GtkWidget *img = +- gtk_image_new_from_pixbuf (pixbuf); +- item = +- gtk_image_menu_item_new_with_label +- (*current_name); +- gtk_widget_show (img); +- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM +- (item), img); +- gtk_image_menu_item_set_always_show_image +- (GTK_IMAGE_MENU_ITEM (item), TRUE); +- g_free (image_file); +- } +- gtk_widget_show (item); +- gtk_menu_shell_append (GTK_MENU_SHELL (groups_menu), item); +- g_signal_connect (item, "activate", +- G_CALLBACK (popup_menu_set_group_cb), +- GINT_TO_POINTER (i)); +- } +- +- return popup_menu; +-} +- +-static void +-status_icon_popup_menu_cb (GtkStatusIcon * icon, guint button, guint time) +-{ +- GtkMenu *popup_menu = create_status_menu (); +- +- gtk_menu_popup (popup_menu, NULL, NULL, +- gtk_status_icon_position_menu, +- (gpointer) icon, button, time); +-} +- +-static void +-show_hide_icon () +-{ +- if (g_strv_length (current_kbd_config.layouts_variants) > 1) { +- if (icon == NULL) { +- xkl_debug (150, "Creating keyboard status icon\n"); +- icon = gkbd_status_new (); +- g_signal_connect (icon, "popup-menu", +- G_CALLBACK +- (status_icon_popup_menu_cb), +- NULL); +- +- } +- } else { +- if (icon != NULL) { +- xkl_debug (150, "Destroying icon\n"); +- g_object_unref (icon); +- icon = NULL; +- } +- } +-} +- +-static gboolean +-try_activating_xkb_config_if_new (GkbdKeyboardConfig * +- current_sys_kbd_config) +-{ +- /* Activate - only if different! */ +- if (!gkbd_keyboard_config_equals +- (¤t_kbd_config, current_sys_kbd_config)) { +- if (gkbd_keyboard_config_activate (¤t_kbd_config)) { +- if (pa_callback != NULL) { +- (*pa_callback) (pa_callback_user_data); +- return TRUE; +- } +- } else { +- return FALSE; +- } +- } +- return TRUE; +-} +- +-static gboolean +-filter_xkb_config (void) +-{ +- XklConfigItem *item; +- gchar *lname; +- gchar *vname; +- gchar **lv; +- gboolean any_change = FALSE; +- +- xkl_debug (100, "Filtering configuration against the registry\n"); +- if (!ensure_xkl_registry ()) +- return FALSE; +- +- lv = current_kbd_config.layouts_variants; +- item = xkl_config_item_new (); +- while (*lv) { +- xkl_debug (100, "Checking [%s]\n", *lv); +- if (gkbd_keyboard_config_split_items (*lv, &lname, &vname)) { +- gboolean should_be_dropped = FALSE; +- g_snprintf (item->name, sizeof (item->name), "%s", +- lname); +- if (!xkl_config_registry_find_layout +- (xkl_registry, item)) { +- xkl_debug (100, "Bad layout [%s]\n", +- lname); +- should_be_dropped = TRUE; +- } else if (vname) { +- g_snprintf (item->name, +- sizeof (item->name), "%s", +- vname); +- if (!xkl_config_registry_find_variant +- (xkl_registry, lname, item)) { +- xkl_debug (100, +- "Bad variant [%s(%s)]\n", +- lname, vname); +- should_be_dropped = TRUE; +- } +- } +- if (should_be_dropped) { +- gkbd_strv_behead (lv); +- any_change = TRUE; +- continue; +- } +- } +- lv++; +- } +- g_object_unref (item); +- return any_change; +-} +- +-static void +-apply_xkb_settings (void) +-{ +- GkbdKeyboardConfig current_sys_kbd_config; +- +- if (!inited_ok) +- return; +- +- gkbd_keyboard_config_init (¤t_sys_kbd_config, xkl_engine); +- +- gkbd_keyboard_config_load (¤t_kbd_config, +- &initial_sys_kbd_config); +- +- gkbd_keyboard_config_load_from_x_current (¤t_sys_kbd_config, +- NULL); +- +- if (!try_activating_xkb_config_if_new (¤t_sys_kbd_config)) { +- if (filter_xkb_config ()) { +- if (!try_activating_xkb_config_if_new +- (¤t_sys_kbd_config)) { +- g_warning +- ("Could not activate the filtered XKB configuration"); +- activation_error (); +- } +- } else { +- g_warning +- ("Could not activate the XKB configuration"); +- activation_error (); +- } +- } else +- xkl_debug (100, +- "Actual KBD configuration was not changed: redundant notification\n"); +- +- gkbd_keyboard_config_term (¤t_sys_kbd_config); +- show_hide_icon (); +-} +- +-static void +-csd_keyboard_xkb_analyze_sysconfig (void) +-{ +- if (!inited_ok) +- return; +- +- gkbd_keyboard_config_init (&initial_sys_kbd_config, xkl_engine); +- gkbd_keyboard_config_load_from_x_initial (&initial_sys_kbd_config, +- NULL); +-} +- +-void +-csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun, +- void *user_data) +-{ +- pa_callback = fun; +- pa_callback_user_data = user_data; +-} +- +-static GdkFilterReturn +-csd_keyboard_xkb_evt_filter (GdkXEvent * xev, GdkEvent * event) +-{ +- XEvent *xevent = (XEvent *) xev; +- xkl_engine_filter_events (xkl_engine, xevent); +- return GDK_FILTER_CONTINUE; +-} +- +-/* When new Keyboard is plugged in - reload the settings */ +-static void +-csd_keyboard_new_device (XklEngine * engine) +-{ +- apply_desktop_settings (); +- apply_xkb_settings (); +-} +- +-void +-csd_keyboard_xkb_init (CsdKeyboardManager * kbd_manager) +-{ +- Display *display = +- GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); +- cinnamon_settings_profile_start (NULL); +- +- gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), +- DATADIR G_DIR_SEPARATOR_S +- "icons"); +- +- manager = kbd_manager; +- cinnamon_settings_profile_start ("xkl_engine_get_instance"); +- xkl_engine = xkl_engine_get_instance (display); +- cinnamon_settings_profile_end ("xkl_engine_get_instance"); +- if (xkl_engine) { +- inited_ok = TRUE; +- +- gkbd_desktop_config_init (¤t_config, xkl_engine); +- gkbd_keyboard_config_init (¤t_kbd_config, +- xkl_engine); +- xkl_engine_backup_names_prop (xkl_engine); +- csd_keyboard_xkb_analyze_sysconfig (); +- +- settings_desktop = g_settings_new (GKBD_DESKTOP_SCHEMA); +- settings_keyboard = g_settings_new (GKBD_KEYBOARD_SCHEMA); +- g_signal_connect (settings_desktop, "changed", +- (GCallback) apply_desktop_settings, +- NULL); +- g_signal_connect (settings_keyboard, "changed", +- (GCallback) apply_xkb_settings, NULL); +- +- gdk_window_add_filter (NULL, (GdkFilterFunc) +- csd_keyboard_xkb_evt_filter, NULL); +- +- if (xkl_engine_get_features (xkl_engine) & +- XKLF_DEVICE_DISCOVERY) +- g_signal_connect (xkl_engine, "X-new-device", +- G_CALLBACK +- (csd_keyboard_new_device), NULL); +- +- cinnamon_settings_profile_start ("xkl_engine_start_listen"); +- xkl_engine_start_listen (xkl_engine, +- XKLL_MANAGE_LAYOUTS | +- XKLL_MANAGE_WINDOW_STATES); +- cinnamon_settings_profile_end ("xkl_engine_start_listen"); +- +- cinnamon_settings_profile_start ("apply_desktop_settings"); +- apply_desktop_settings (); +- cinnamon_settings_profile_end ("apply_desktop_settings"); +- cinnamon_settings_profile_start ("apply_xkb_settings"); +- apply_xkb_settings (); +- cinnamon_settings_profile_end ("apply_xkb_settings"); +- } +- preview_dialogs = g_hash_table_new (g_direct_hash, g_direct_equal); +- +- cinnamon_settings_profile_end (NULL); +-} +- +-void +-csd_keyboard_xkb_shutdown (void) +-{ +- if (!inited_ok) +- return; +- +- pa_callback = NULL; +- pa_callback_user_data = NULL; +- manager = NULL; +- +- if (preview_dialogs != NULL) +- g_hash_table_destroy (preview_dialogs); +- +- if (!inited_ok) +- return; +- +- xkl_engine_stop_listen (xkl_engine, +- XKLL_MANAGE_LAYOUTS | +- XKLL_MANAGE_WINDOW_STATES); +- +- gdk_window_remove_filter (NULL, (GdkFilterFunc) +- csd_keyboard_xkb_evt_filter, NULL); +- +- g_object_unref (settings_desktop); +- settings_desktop = NULL; +- g_object_unref (settings_keyboard); +- settings_keyboard = NULL; +- +- if (xkl_registry) { +- g_object_unref (xkl_registry); +- } +- +- g_object_unref (xkl_engine); +- +- xkl_engine = NULL; +- +- inited_ok = FALSE; +-} +diff -uNrp a/plugins/keyboard/csd-keyboard-xkb.h b/plugins/keyboard/csd-keyboard-xkb.h +--- a/plugins/keyboard/csd-keyboard-xkb.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/csd-keyboard-xkb.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,39 +0,0 @@ +-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +- * cinnamon-settings-keyboard-xkb.h +- * +- * Copyright (C) 2001 Udaltsoft +- * +- * Written by Sergey V. Oudaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifndef __CSD_KEYBOARD_XKB_H +-#define __CSD_KEYBOARD_XKB_H +- +-#include +-#include "csd-keyboard-manager.h" +- +-void csd_keyboard_xkb_init (CsdKeyboardManager *manager); +-void csd_keyboard_xkb_shutdown (void); +- +-typedef void (*PostActivationCallback) (void *userData); +- +-void +-csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun, +- void *userData); +- +-#endif +diff -uNrp a/plugins/keyboard/delayed-dialog.c b/plugins/keyboard/delayed-dialog.c +--- a/plugins/keyboard/delayed-dialog.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/delayed-dialog.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,128 +0,0 @@ +-/* +- * Copyright © 2006 Novell, Inc. +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2, or (at +- * your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#include +-#include +- +-#include +-#include +- +-#include "delayed-dialog.h" +- +-static gboolean delayed_show_timeout (gpointer data); +-static GdkFilterReturn message_filter (GdkXEvent *xevent, +- GdkEvent *event, +- gpointer data); +- +-static GSList *dialogs = NULL; +- +-/** +- * csd_delayed_show_dialog: +- * @dialog: the dialog +- * +- * Shows the dialog as with gtk_widget_show(), unless a window manager +- * hasn't been started yet, in which case it will wait up to 5 seconds +- * for that to happen before showing the dialog. +- **/ +-void +-csd_delayed_show_dialog (GtkWidget *dialog) +-{ +- GdkDisplay *display = gtk_widget_get_display (dialog); +- Display *xdisplay = GDK_DISPLAY_XDISPLAY (display); +- GdkScreen *screen = gtk_widget_get_screen (dialog); +- char selection_name[10]; +- Atom selection_atom; +- +- /* We can't use gdk_selection_owner_get() for this, because +- * it's an unknown out-of-process window. +- */ +- snprintf (selection_name, sizeof (selection_name), "WM_S%d", +- gdk_screen_get_number (screen)); +- selection_atom = XInternAtom (xdisplay, selection_name, True); +- if (selection_atom && +- XGetSelectionOwner (xdisplay, selection_atom) != None) { +- gtk_widget_show (dialog); +- return; +- } +- +- dialogs = g_slist_prepend (dialogs, dialog); +- +- gdk_window_add_filter (NULL, message_filter, NULL); +- +- g_timeout_add (5000, delayed_show_timeout, NULL); +-} +- +-static gboolean +-delayed_show_timeout (gpointer data) +-{ +- GSList *l; +- +- for (l = dialogs; l; l = l->next) +- gtk_widget_show (l->data); +- g_slist_free (dialogs); +- dialogs = NULL; +- +- /* FIXME: There's no gdk_display_remove_client_message_filter */ +- +- return FALSE; +-} +- +-static GdkFilterReturn +-message_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data) +-{ +- XClientMessageEvent *evt; +- char *selection_name; +- int screen; +- GSList *l, *next; +- +- if (((XEvent *)xevent)->type != ClientMessage) +- return GDK_FILTER_CONTINUE; +- +- evt = (XClientMessageEvent *)xevent; +- +- if (evt->message_type != XInternAtom (evt->display, "MANAGER", FALSE)) +- return GDK_FILTER_CONTINUE; +- +- selection_name = XGetAtomName (evt->display, evt->data.l[1]); +- +- if (strncmp (selection_name, "WM_S", 4) != 0) { +- XFree (selection_name); +- return GDK_FILTER_CONTINUE; +- } +- +- screen = atoi (selection_name + 4); +- +- for (l = dialogs; l; l = next) { +- GtkWidget *dialog = l->data; +- next = l->next; +- +- if (gdk_screen_get_number (gtk_widget_get_screen (dialog)) == screen) { +- gtk_widget_show (dialog); +- dialogs = g_slist_remove (dialogs, dialog); +- } +- } +- +- if (!dialogs) { +- gdk_window_remove_filter (NULL, message_filter, NULL); +- } +- +- XFree (selection_name); +- +- return GDK_FILTER_CONTINUE; +-} +diff -uNrp a/plugins/keyboard/delayed-dialog.h b/plugins/keyboard/delayed-dialog.h +--- a/plugins/keyboard/delayed-dialog.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/delayed-dialog.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,32 +0,0 @@ +-/* +- * Copyright © 2006 Novell, Inc. +- * +- * This program is free software; you can redistribute it and/or +- * modify it under the terms of the GNU General Public License as +- * published by the Free Software Foundation; either version 2, or (at +- * your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, but +- * WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +- +-#ifndef __DELAYED_DIALOG_H +-#define __DELAYED_DIALOG_H +- +-#include +- +-G_BEGIN_DECLS +- +-void csd_delayed_show_dialog (GtkWidget *dialog); +- +-G_END_DECLS +- +-#endif +diff -uNrp a/plugins/keyboard/gkbd-configuration.c b/plugins/keyboard/gkbd-configuration.c +--- a/plugins/keyboard/gkbd-configuration.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/gkbd-configuration.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,350 +0,0 @@ +-/* +- * Copyright (C) 2010 Canonical Ltd. +- * +- * Authors: Jan Arne Petersen +- * +- * Based on gkbd-status.c by Sergey V. Udaltsov +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, +- * Boston, MA 02110-1335, USA. +- */ +- +-#include +- +-#include +-#include +-#include +- +-#include +-#include +- +-#include "gkbd-configuration.h" +- +-struct _GkbdConfigurationPrivate { +- XklEngine *engine; +- XklConfigRegistry *registry; +- +- GkbdDesktopConfig cfg; +- GkbdIndicatorConfig ind_cfg; +- GkbdKeyboardConfig kbd_cfg; +- +- gchar **full_group_names; +- gchar **short_group_names; +- +- gulong state_changed_handler; +- gulong config_changed_handler; +-}; +- +-enum { +- SIGNAL_CHANGED, +- SIGNAL_GROUP_CHANGED, +- LAST_SIGNAL +-}; +- +-static guint signals[LAST_SIGNAL] = { 0, }; +- +-#define GKBD_CONFIGURATION_GET_PRIVATE(o) \ +- (G_TYPE_INSTANCE_GET_PRIVATE ((o), GKBD_TYPE_CONFIGURATION, GkbdConfigurationPrivate)) +- +-G_DEFINE_TYPE (GkbdConfiguration, gkbd_configuration, G_TYPE_OBJECT) +- +-/* Should be called once for all widgets */ +-static void +-gkbd_configuration_cfg_changed (GSettings *settings, +- const char *key, +- GkbdConfiguration * configuration) +-{ +- GkbdConfigurationPrivate *priv = configuration->priv; +- +- xkl_debug (100, +- "General configuration changed in GSettings - reiniting...\n"); +- gkbd_desktop_config_load (&priv->cfg); +- gkbd_desktop_config_activate (&priv->cfg); +- +- g_signal_emit (configuration, +- signals[SIGNAL_CHANGED], 0); +-} +- +-/* Should be called once for all widgets */ +-static void +-gkbd_configuration_ind_cfg_changed (GSettings *settings, +- const char *key, +- GkbdConfiguration * configuration) +-{ +- GkbdConfigurationPrivate *priv = configuration->priv; +- xkl_debug (100, +- "Applet configuration changed in GSettings - reiniting...\n"); +- gkbd_indicator_config_load (&priv->ind_cfg); +- +- gkbd_indicator_config_free_image_filenames (&priv->ind_cfg); +- gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, +- &priv->kbd_cfg); +- +- gkbd_indicator_config_activate (&priv->ind_cfg); +- +- g_signal_emit (configuration, +- signals[SIGNAL_CHANGED], 0); +-} +- +-static void +-gkbd_configuration_load_group_names (GkbdConfiguration * configuration, +- XklConfigRec * xklrec) +-{ +- GkbdConfigurationPrivate *priv = configuration->priv; +- +- if (!gkbd_desktop_config_load_group_descriptions (&priv->cfg, +- priv->registry, +- (const char **) xklrec->layouts, +- (const char **) xklrec->variants, +- &priv->short_group_names, +- &priv->full_group_names)) { +- /* We just populate no short names (remain NULL) - +- * full names are going to be used anyway */ +- gint i, total_groups = +- xkl_engine_get_num_groups (priv->engine); +- xkl_debug (150, "group descriptions loaded: %d!\n", +- total_groups); +- priv->full_group_names = +- g_new0 (char *, total_groups + 1); +- +- if (xkl_engine_get_features (priv->engine) & +- XKLF_MULTIPLE_LAYOUTS_SUPPORTED) { +- for (i = 0; priv->kbd_cfg.layouts_variants[i]; i++) { +- priv->full_group_names[i] = +- g_strdup ((char *) priv->kbd_cfg.layouts_variants[i]); +- } +- } else { +- for (i = total_groups; --i >= 0;) { +- priv->full_group_names[i] = +- g_strdup_printf ("Group %d", i); +- } +- } +- } +-} +- +-/* Should be called once for all widgets */ +-static void +-gkbd_configuration_kbd_cfg_callback (XklEngine *engine, +- GkbdConfiguration *configuration) +-{ +- GkbdConfigurationPrivate *priv = configuration->priv; +- XklConfigRec *xklrec = xkl_config_rec_new (); +- xkl_debug (100, +- "XKB configuration changed on X Server - reiniting...\n"); +- +- gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg, +- xklrec); +- +- gkbd_indicator_config_free_image_filenames (&priv->ind_cfg); +- gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, +- &priv->kbd_cfg); +- +- g_strfreev (priv->full_group_names); +- priv->full_group_names = NULL; +- +- g_strfreev (priv->short_group_names); +- priv->short_group_names = NULL; +- +- gkbd_configuration_load_group_names (configuration, +- xklrec); +- +- g_signal_emit (configuration, +- signals[SIGNAL_CHANGED], +- 0); +- +- g_object_unref (G_OBJECT (xklrec)); +-} +- +-/* Should be called once for all applets */ +-static void +-gkbd_configuration_state_callback (XklEngine * engine, +- XklEngineStateChange changeType, +- gint group, gboolean restore, +- GkbdConfiguration * configuration) +-{ +- xkl_debug (150, "group is now %d, restore: %d\n", group, restore); +- +- if (changeType == GROUP_CHANGED) { +- g_signal_emit (configuration, +- signals[SIGNAL_GROUP_CHANGED], 0, +- group); +- } +-} +- +-static void +-gkbd_configuration_init (GkbdConfiguration *configuration) +-{ +- GkbdConfigurationPrivate *priv; +- XklConfigRec *xklrec = xkl_config_rec_new (); +- +- priv = GKBD_CONFIGURATION_GET_PRIVATE (configuration); +- configuration->priv = priv; +- +- priv->engine = xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); +- if (priv->engine == NULL) { +- xkl_debug (0, "Libxklavier initialization error"); +- return; +- } +- +- priv->state_changed_handler = +- g_signal_connect (priv->engine, "X-state-changed", +- G_CALLBACK (gkbd_configuration_state_callback), +- configuration); +- priv->config_changed_handler = +- g_signal_connect (priv->engine, "X-config-changed", +- G_CALLBACK (gkbd_configuration_kbd_cfg_callback), +- configuration); +- +- gkbd_desktop_config_init (&priv->cfg, priv->engine); +- gkbd_keyboard_config_init (&priv->kbd_cfg, priv->engine); +- gkbd_indicator_config_init (&priv->ind_cfg, priv->engine); +- +- gkbd_desktop_config_load (&priv->cfg); +- gkbd_desktop_config_activate (&priv->cfg); +- +- priv->registry = xkl_config_registry_get_instance (priv->engine); +- xkl_config_registry_load (priv->registry, +- priv->cfg.load_extra_items); +- +- gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg, +- xklrec); +- +- gkbd_indicator_config_load (&priv->ind_cfg); +- +- gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, +- &priv->kbd_cfg); +- +- gkbd_indicator_config_activate (&priv->ind_cfg); +- +- gkbd_configuration_load_group_names (configuration, +- xklrec); +- g_object_unref (G_OBJECT (xklrec)); +- +- gkbd_desktop_config_start_listen (&priv->cfg, +- G_CALLBACK (gkbd_configuration_cfg_changed), +- configuration); +- gkbd_indicator_config_start_listen (&priv->ind_cfg, +- G_CALLBACK (gkbd_configuration_ind_cfg_changed), +- configuration); +- xkl_engine_start_listen (priv->engine, +- XKLL_TRACK_KEYBOARD_STATE); +- +- xkl_debug (100, "Initiating the widget startup process for %p\n", +- configuration); +-} +- +-static void +-gkbd_configuration_finalize (GObject * obj) +-{ +- GkbdConfiguration *configuration = GKBD_CONFIGURATION (obj); +- GkbdConfigurationPrivate *priv = configuration->priv; +- +- xkl_debug (100, +- "Starting the gnome-kbd-configuration widget shutdown process for %p\n", +- configuration); +- +- xkl_engine_stop_listen (priv->engine, +- XKLL_TRACK_KEYBOARD_STATE); +- +- gkbd_desktop_config_stop_listen (&priv->cfg); +- gkbd_indicator_config_stop_listen (&priv->ind_cfg); +- +- gkbd_indicator_config_term (&priv->ind_cfg); +- gkbd_keyboard_config_term (&priv->kbd_cfg); +- gkbd_desktop_config_term (&priv->cfg); +- +- if (g_signal_handler_is_connected (priv->engine, +- priv->state_changed_handler)) { +- g_signal_handler_disconnect (priv->engine, +- priv->state_changed_handler); +- priv->state_changed_handler = 0; +- } +- if (g_signal_handler_is_connected (priv->engine, +- priv->config_changed_handler)) { +- g_signal_handler_disconnect (priv->engine, +- priv->config_changed_handler); +- priv->config_changed_handler = 0; +- } +- +- g_object_unref (priv->registry); +- priv->registry = NULL; +- g_object_unref (priv->engine); +- priv->engine = NULL; +- +- G_OBJECT_CLASS (gkbd_configuration_parent_class)->finalize (obj); +-} +- +-static void +-gkbd_configuration_class_init (GkbdConfigurationClass * klass) +-{ +- GObjectClass *object_class = G_OBJECT_CLASS (klass); +- +- /* Initing vtable */ +- object_class->finalize = gkbd_configuration_finalize; +- +- /* Signals */ +- signals[SIGNAL_CHANGED] = g_signal_new ("changed", +- GKBD_TYPE_CONFIGURATION, +- G_SIGNAL_RUN_LAST, +- 0, +- NULL, NULL, +- g_cclosure_marshal_VOID__VOID, +- G_TYPE_NONE, +- 0); +- signals[SIGNAL_GROUP_CHANGED] = g_signal_new ("group-changed", +- GKBD_TYPE_CONFIGURATION, +- G_SIGNAL_RUN_LAST, +- 0, +- NULL, NULL, +- g_cclosure_marshal_VOID__INT, +- G_TYPE_NONE, +- 1, +- G_TYPE_INT); +- +- g_type_class_add_private (klass, sizeof (GkbdConfigurationPrivate)); +-} +- +-GkbdConfiguration * +-gkbd_configuration_get (void) +-{ +- static gpointer instance = NULL; +- +- if (!instance) { +- instance = g_object_new (GKBD_TYPE_CONFIGURATION, NULL); +- g_object_add_weak_pointer (instance, &instance); +- } else { +- g_object_ref (instance); +- } +- +- return instance; +-} +- +-XklEngine * +-gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration) +-{ +- return configuration->priv->engine; +-} +- +-const char * const * +-gkbd_configuration_get_group_names (GkbdConfiguration *configuration) +-{ +- return configuration->priv->full_group_names; +-} +- +-const char * const * +-gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration) +-{ +- return configuration->priv->short_group_names; +-} +diff -uNrp a/plugins/keyboard/gkbd-configuration.h b/plugins/keyboard/gkbd-configuration.h +--- a/plugins/keyboard/gkbd-configuration.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/gkbd-configuration.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,65 +0,0 @@ +-/* +- * Copyright (C) 2010 Canonical Ltd. +- * +- * Authors: Jan Arne Petersen +- * +- * Based on gkbd-status.h by Sergey V. Udaltsov +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, +- * Boston, MA 02110-1335, USA. +- */ +- +-#ifndef __GKBD_CONFIGURATION_H__ +-#define __GKBD_CONFIGURATION_H__ +- +-#include +- +-#include +- +-G_BEGIN_DECLS +- +-typedef struct _GkbdConfiguration GkbdConfiguration; +-typedef struct _GkbdConfigurationPrivate GkbdConfigurationPrivate; +-typedef struct _GkbdConfigurationClass GkbdConfigurationClass; +- +-#define GKBD_TYPE_CONFIGURATION (gkbd_configuration_get_type ()) +-#define GKBD_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfiguration)) +-#define GKBD_INDCATOR_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass)) +-#define GKBD_IS_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GKBD_TYPE_CONFIGURATION)) +-#define GKBD_IS_CONFIGURATION_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), GKBD_TYPE_CONFIGURATION)) +-#define GKBD_CONFIGURATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass)) +- +-struct _GkbdConfiguration { +- GObject parent; +- +- GkbdConfigurationPrivate *priv; +-}; +- +-struct _GkbdConfigurationClass { +- GObjectClass parent_class; +-}; +- +-extern GType gkbd_configuration_get_type (void); +- +-extern GkbdConfiguration *gkbd_configuration_get (void); +- +-extern XklEngine *gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration); +- +-extern const char * const *gkbd_configuration_get_group_names (GkbdConfiguration *configuration); +-extern const char * const *gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration); +- +-G_END_DECLS +- +-#endif +diff -uNrp a/plugins/keyboard/.indent.pro b/plugins/keyboard/.indent.pro +--- a/plugins/keyboard/.indent.pro 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/.indent.pro 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,2 @@ ++-kr -i8 -pcs -lps -psl ++ +diff -uNrp a/plugins/keyboard/Makefile.am b/plugins/keyboard/Makefile.am +--- a/plugins/keyboard/Makefile.am 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/keyboard/Makefile.am 2013-08-25 16:36:02.000000000 +0100 +@@ -20,25 +20,20 @@ libkeyboard_la_SOURCES = \ + csd-keyboard-plugin.c \ + csd-keyboard-manager.h \ + csd-keyboard-manager.c \ +- csd-keyboard-xkb.h \ +- csd-keyboard-xkb.c \ +- delayed-dialog.h \ +- delayed-dialog.c \ +- gkbd-configuration.c \ +- gkbd-configuration.h \ + $(NULL) + + libkeyboard_la_CPPFLAGS = \ + -I$(top_srcdir)/cinnamon-settings-daemon \ + -I$(top_srcdir)/data \ ++ -I$(top_srcdir)/plugins/common \ + -DDATADIR=\""$(pkgdatadir)"\" \ ++ -DLIBEXECDIR=\""$(libexecdir)"\" \ + -DCINNAMON_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \ + $(AM_CPPFLAGS) + + libkeyboard_la_CFLAGS = \ + $(PLUGIN_CFLAGS) \ + $(SETTINGS_PLUGIN_CFLAGS) \ +- $(APPINDICATOR_CFLAGS) \ + $(KEYBOARD_CFLAGS) \ + $(AM_CFLAGS) + +@@ -46,19 +41,63 @@ libkeyboard_la_LDFLAGS = \ + $(CSD_PLUGIN_LDFLAGS) \ + $(NULL) + +-libkeyboard_la_LIBADD = \ +- $(SETTINGS_PLUGIN_LIBS) \ +- $(XF86MISC_LIBS) \ +- $(KEYBOARD_LIBS) \ +- $(APPINDICATOR_LIBS) \ ++libkeyboard_la_LIBADD = \ ++ $(top_builddir)/plugins/common/libcommon.la \ ++ $(SETTINGS_PLUGIN_LIBS) \ ++ $(XF86MISC_LIBS) \ ++ $(KEYBOARD_LIBS) \ + $(NULL) + ++libexec_PROGRAMS = csd-test-keyboard ++csd_test_keyboard_SOURCES = \ ++ test-keyboard.c \ ++ csd-keyboard-manager.h \ ++ csd-keyboard-manager.c \ ++ $(NULL) ++ ++csd_test_keyboard_CFLAGS = $(libkeyboard_la_CFLAGS) ++csd_test_keyboard_CPPFLAGS = $(libkeyboard_la_CPPFLAGS) ++csd_test_keyboard_LDADD = $(libkeyboard_la_LIBADD) $(top_builddir)/cinnamon-settings-daemon/libcsd.la ++ + plugin_in_files = \ + keyboard.cinnamon-settings-plugin.in \ + $(NULL) + + plugin_DATA = $(plugin_in_files:.cinnamon-settings-plugin.in=.cinnamon-settings-plugin) + ++if HAVE_IBUS ++noinst_PROGRAMS = test-keyboard-ibus-utils ++test_keyboard_ibus_utils_SOURCES = test-keyboard-ibus-utils.c ++test_keyboard_ibus_utils_CFLAGS = $(libkeyboard_la_CFLAGS) ++test_keyboard_ibus_utils_CPPFLAGS = $(libkeyboard_la_CPPFLAGS) ++test_keyboard_ibus_utils_LDADD = $(libkeyboard_la_LIBADD) $(top_builddir)/cinnamon-settings-daemon/libcsd.la ++ ++check-local: test-keyboard-ibus-utils ++ $(builddir)/test-keyboard-ibus-utils > /dev/null ++endif ++ ++libexec_PROGRAMS += csd-input-sources-switcher ++ ++csd_input_sources_switcher_SOURCES = \ ++ csd-input-sources-switcher.c \ ++ $(NULL) ++ ++csd_input_sources_switcher_CPPFLAGS = \ ++ -I$(top_srcdir)/data \ ++ -I$(top_srcdir)/plugins/common \ ++ $(AM_CPPFLAGS) \ ++ $(NULL) ++ ++csd_input_sources_switcher_CFLAGS = \ ++ $(SETTINGS_PLUGIN_CFLAGS) \ ++ $(AM_CFLAGS) \ ++ $(NULL) ++ ++csd_input_sources_switcher_LDADD = \ ++ $(top_builddir)/plugins/common/libcommon.la \ ++ $(SETTINGS_PLUGIN_LIBS) \ ++ $(NULL) ++ + EXTRA_DIST = \ + $(icons_DATA) \ + $(plugin_in_files) \ +diff -uNrp a/plugins/keyboard/test-keyboard.c b/plugins/keyboard/test-keyboard.c +--- a/plugins/keyboard/test-keyboard.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/test-keyboard.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,7 @@ ++#define NEW csd_keyboard_manager_new ++#define START csd_keyboard_manager_start ++#define STOP csd_keyboard_manager_stop ++#define MANAGER CsdKeyboardManager ++#include "csd-keyboard-manager.h" ++ ++#include "test-plugin.h" +diff -uNrp a/plugins/keyboard/test-keyboard-ibus-utils.c b/plugins/keyboard/test-keyboard-ibus-utils.c +--- a/plugins/keyboard/test-keyboard-ibus-utils.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/test-keyboard-ibus-utils.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,116 @@ ++#include "csd-keyboard-manager.c" ++ ++static void ++test_make_xkb_source_id (void) ++{ ++ gint i; ++ const gchar *test_strings[][2] = { ++ /* input output */ ++ { "xkb:aa:bb:cc", "aa+bb" }, ++ { "xkb:aa:bb:", "aa+bb" }, ++ { "xkb:aa::cc", "aa" }, ++ { "xkb:aa::", "aa" }, ++ { "xkb::bb:cc", "+bb" }, ++ { "xkb::bb:", "+bb" }, ++ { "xkb:::cc", "" }, ++ { "xkb:::", "" }, ++ }; ++ ++ for (i = 0; i < G_N_ELEMENTS (test_strings); ++i) ++ g_assert_cmpstr (make_xkb_source_id (test_strings[i][0]), ==, test_strings[i][1]); ++} ++ ++static void ++test_layout_from_ibus_layout (void) ++{ ++ gint i; ++ const gchar *test_strings[][2] = { ++ /* input output */ ++ { "", "" }, ++ { "a", "a" }, ++ { "a(", "a" }, ++ { "a[", "a" }, ++ }; ++ ++ for (i = 0; i < G_N_ELEMENTS (test_strings); ++i) ++ g_assert_cmpstr (layout_from_ibus_layout (test_strings[i][0]), ==, test_strings[i][1]); ++} ++ ++static void ++test_variant_from_ibus_layout (void) ++{ ++ gint i; ++ const gchar *test_strings[][2] = { ++ /* input output */ ++ { "", NULL }, ++ { "a", NULL }, ++ { "(", NULL }, ++ { "()", "" }, ++ { "(b)", "b" }, ++ { "a(", NULL }, ++ { "a()", "" }, ++ { "a(b)", "b" }, ++ }; ++ ++ for (i = 0; i < G_N_ELEMENTS (test_strings); ++i) ++ g_assert_cmpstr (variant_from_ibus_layout (test_strings[i][0]), ==, test_strings[i][1]); ++} ++ ++static void ++test_options_from_ibus_layout (void) ++{ ++ gint i, j; ++ gchar *output_0[] = { ++ NULL ++ }; ++ gchar *output_1[] = { ++ "", ++ NULL ++ }; ++ gchar *output_2[] = { ++ "b", ++ NULL ++ }; ++ gchar *output_3[] = { ++ "b", "", ++ NULL ++ }; ++ gchar *output_4[] = { ++ "b", "c", ++ NULL ++ }; ++ const gpointer tests[][2] = { ++ /* input output */ ++ { "", NULL }, ++ { "a", NULL }, ++ { "a[", output_0 }, ++ { "a[]", output_1 }, ++ { "a[b]", output_2 }, ++ { "a[b,]", output_3 }, ++ { "a[b,c]", output_4 }, ++ }; ++ ++ for (i = 0; i < G_N_ELEMENTS (tests); ++i) { ++ if (tests[i][1] == NULL) { ++ g_assert (options_from_ibus_layout (tests[i][0]) == NULL); ++ } else { ++ gchar **strv_a = options_from_ibus_layout (tests[i][0]); ++ gchar **strv_b = tests[i][1]; ++ ++ g_assert (g_strv_length (strv_a) == g_strv_length (strv_b)); ++ for (j = 0; j < g_strv_length (strv_a); ++j) ++ g_assert_cmpstr (strv_a[j], ==, strv_b[j]); ++ } ++ } ++} ++ ++int ++main (void) ++{ ++ test_make_xkb_source_id (); ++ test_layout_from_ibus_layout (); ++ test_variant_from_ibus_layout (); ++ test_options_from_ibus_layout (); ++ ++ return 0; ++} +diff -uNrp a/plugins/keyboard/xxx/csd-keyboard-xkb.c b/plugins/keyboard/xxx/csd-keyboard-xkb.c +--- a/plugins/keyboard/xxx/csd-keyboard-xkb.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/csd-keyboard-xkb.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,579 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * ++ * Copyright (C) 2001 Udaltsoft ++ * ++ * Written by Sergey V. Oudaltsov ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#include "config.h" ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include "csd-keyboard-xkb.h" ++#include "delayed-dialog.h" ++#include "cinnamon-settings-profile.h" ++ ++#define SETTINGS_KEYBOARD_DIR "org.cinnamon.settings-daemon.plugins.keyboard" ++ ++static CsdKeyboardManager *manager = NULL; ++ ++static XklEngine *xkl_engine; ++static XklConfigRegistry *xkl_registry = NULL; ++ ++static GkbdDesktopConfig current_config; ++static GkbdKeyboardConfig current_kbd_config; ++ ++/* never terminated */ ++static GkbdKeyboardConfig initial_sys_kbd_config; ++ ++static gboolean inited_ok = FALSE; ++ ++static GSettings *settings_desktop = NULL; ++static GSettings *settings_keyboard = NULL; ++ ++static PostActivationCallback pa_callback = NULL; ++static void *pa_callback_user_data = NULL; ++ ++static GtkStatusIcon *icon = NULL; ++ ++static GHashTable *preview_dialogs = NULL; ++ ++static void ++activation_error (void) ++{ ++ char const *vendor; ++ GtkWidget *dialog; ++ ++ vendor = ++ ServerVendor (GDK_DISPLAY_XDISPLAY ++ (gdk_display_get_default ())); ++ ++ /* VNC viewers will not work, do not barrage them with warnings */ ++ if (NULL != vendor && NULL != strstr (vendor, "VNC")) ++ return; ++ ++ dialog = gtk_message_dialog_new_with_markup (NULL, ++ 0, ++ GTK_MESSAGE_ERROR, ++ GTK_BUTTONS_CLOSE, ++ _ ++ ("Error activating XKB configuration.\n" ++ "There can be various reasons for that.\n\n" ++ "If you report this situation as a bug, include the results of\n" ++ " • %s\n" ++ " • %s\n" ++ " • %s\n" ++ " • %s"), ++ "xprop -root | grep XKB", ++ "gsettings get org.gnome.libgnomekbd.keyboard model", ++ "gsettings get org.gnome.libgnomekbd.keyboard layouts", ++ "gsettings get org.gnome.libgnomekbd.keyboard options"); ++ g_signal_connect (dialog, "response", ++ G_CALLBACK (gtk_widget_destroy), NULL); ++ csd_delayed_show_dialog (dialog); ++} ++ ++static gboolean ++ensure_xkl_registry (void) ++{ ++ if (!xkl_registry) { ++ xkl_registry = ++ xkl_config_registry_get_instance (xkl_engine); ++ /* load all materials, unconditionally! */ ++ if (!xkl_config_registry_load (xkl_registry, TRUE)) { ++ g_object_unref (xkl_registry); ++ xkl_registry = NULL; ++ return FALSE; ++ } ++ } ++ ++ return TRUE; ++} ++ ++static void ++apply_desktop_settings (void) ++{ ++ if (!inited_ok) ++ return; ++ ++ csd_keyboard_manager_apply_settings (manager); ++ gkbd_desktop_config_load (¤t_config); ++ /* again, probably it would be nice to compare things ++ before activating them */ ++ gkbd_desktop_config_activate (¤t_config); ++} ++ ++static void ++popup_menu_launch_capplet () ++{ ++ GAppInfo *info; ++ GdkAppLaunchContext *ctx; ++ GError *error = NULL; ++ ++ info = ++ g_app_info_create_from_commandline ++ ("cinnamon-settings region", NULL, 0, &error); ++ ++ if (info != NULL) { ++ ctx = ++ gdk_display_get_app_launch_context ++ (gdk_display_get_default ()); ++ ++ if (g_app_info_launch (info, NULL, ++ G_APP_LAUNCH_CONTEXT (ctx), &error) == FALSE) { ++ g_warning ++ ("Could not execute keyboard properties capplet: [%s]\n", ++ error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (info); ++ g_object_unref (ctx); ++ } ++ ++} ++ ++static void ++show_layout_destroy (GtkWidget * dialog, gint group) ++{ ++ g_hash_table_remove (preview_dialogs, GINT_TO_POINTER (group)); ++} ++ ++static void ++popup_menu_show_layout () ++{ ++ GtkWidget *dialog; ++ XklEngine *engine = ++ xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY ++ (gdk_display_get_default ())); ++ XklState *xkl_state = xkl_engine_get_current_state (engine); ++ ++ gchar **group_names = gkbd_status_get_group_names (); ++ ++ gpointer p = g_hash_table_lookup (preview_dialogs, ++ GINT_TO_POINTER ++ (xkl_state->group)); ++ ++ if (xkl_state->group < 0 ++ || xkl_state->group >= g_strv_length (group_names)) { ++ return; ++ } ++ ++ if (p != NULL) { ++ /* existing window */ ++ gtk_window_present (GTK_WINDOW (p)); ++ return; ++ } ++ ++ if (!ensure_xkl_registry ()) ++ return; ++ ++ dialog = gkbd_keyboard_drawing_dialog_new (); ++ gkbd_keyboard_drawing_dialog_set_group (dialog, xkl_registry, xkl_state->group); ++ ++ g_signal_connect (dialog, "destroy", ++ G_CALLBACK (show_layout_destroy), ++ GINT_TO_POINTER (xkl_state->group)); ++ g_hash_table_insert (preview_dialogs, ++ GINT_TO_POINTER (xkl_state->group), dialog); ++ gtk_widget_show_all (dialog); ++} ++ ++static void ++popup_menu_set_group (gint group_number, gboolean only_menu) ++{ ++ ++ XklEngine *engine = gkbd_status_get_xkl_engine (); ++ ++ XklState *st = xkl_engine_get_current_state(engine); ++ Window cur; ++ st->group = group_number; ++ xkl_engine_allow_one_switch_to_secondary_group (engine); ++ cur = xkl_engine_get_current_window (engine); ++ if (cur != (Window) NULL) { ++ xkl_debug (150, "Enforcing the state %d for window %lx\n", ++ st->group, cur); ++ ++ xkl_engine_save_state (engine, ++ xkl_engine_get_current_window ++ (engine), st); ++/* XSetInputFocus( GDK_DISPLAY(), cur, RevertToNone, CurrentTime );*/ ++ } else { ++ xkl_debug (150, ++ "??? Enforcing the state %d for unknown window\n", ++ st->group); ++ /* strange situation - bad things can happen */ ++ } ++ if (!only_menu) ++ xkl_engine_lock_group (engine, st->group); ++} ++ ++static void ++popup_menu_set_group_cb (GtkMenuItem * item, gpointer param) ++{ ++ gint group_number = GPOINTER_TO_INT (param); ++ ++ popup_menu_set_group(group_number, FALSE); ++} ++ ++ ++static GtkMenu * ++create_status_menu (void) ++{ ++ GtkMenu *popup_menu = GTK_MENU (gtk_menu_new ()); ++ int i = 0; ++ ++ GtkMenu *groups_menu = GTK_MENU (gtk_menu_new ()); ++ gchar **current_name = gkbd_status_get_group_names (); ++ ++ GtkWidget *item = gtk_menu_item_new_with_mnemonic (_("_Layouts")); ++ gtk_widget_show (item); ++ gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); ++ gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), ++ GTK_WIDGET (groups_menu)); ++ ++ item = gtk_menu_item_new_with_mnemonic (_("Show _Keyboard Layout...")); ++ gtk_widget_show (item); ++ g_signal_connect (item, "activate", popup_menu_show_layout, NULL); ++ gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); ++ ++ /* translators note: ++ * This is the name of the cinnamon-settings "region" panel */ ++ item = gtk_menu_item_new_with_mnemonic (_("Region and Language Settings")); ++ gtk_widget_show (item); ++ g_signal_connect (item, "activate", popup_menu_launch_capplet, NULL); ++ gtk_menu_shell_append (GTK_MENU_SHELL (popup_menu), item); ++ ++ for (i = 0; current_name && *current_name; i++, current_name++) { ++ ++ gchar *image_file = gkbd_status_get_image_filename (i); ++ ++ if (image_file == NULL) { ++ item = ++ gtk_menu_item_new_with_label (*current_name); ++ } else { ++ GdkPixbuf *pixbuf = ++ gdk_pixbuf_new_from_file_at_size (image_file, ++ 24, 24, ++ NULL); ++ GtkWidget *img = ++ gtk_image_new_from_pixbuf (pixbuf); ++ item = ++ gtk_image_menu_item_new_with_label ++ (*current_name); ++ gtk_widget_show (img); ++ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM ++ (item), img); ++ gtk_image_menu_item_set_always_show_image ++ (GTK_IMAGE_MENU_ITEM (item), TRUE); ++ g_free (image_file); ++ } ++ gtk_widget_show (item); ++ gtk_menu_shell_append (GTK_MENU_SHELL (groups_menu), item); ++ g_signal_connect (item, "activate", ++ G_CALLBACK (popup_menu_set_group_cb), ++ GINT_TO_POINTER (i)); ++ } ++ ++ return popup_menu; ++} ++ ++static void ++status_icon_popup_menu_cb (GtkStatusIcon * icon, guint button, guint time) ++{ ++ GtkMenu *popup_menu = create_status_menu (); ++ ++ gtk_menu_popup (popup_menu, NULL, NULL, ++ gtk_status_icon_position_menu, ++ (gpointer) icon, button, time); ++} ++ ++static void ++show_hide_icon () ++{ ++ if (g_strv_length (current_kbd_config.layouts_variants) > 1) { ++ if (icon == NULL) { ++ xkl_debug (150, "Creating keyboard status icon\n"); ++ icon = gkbd_status_new (); ++ g_signal_connect (icon, "popup-menu", ++ G_CALLBACK ++ (status_icon_popup_menu_cb), ++ NULL); ++ ++ } ++ } else { ++ if (icon != NULL) { ++ xkl_debug (150, "Destroying icon\n"); ++ g_object_unref (icon); ++ icon = NULL; ++ } ++ } ++} ++ ++static gboolean ++try_activating_xkb_config_if_new (GkbdKeyboardConfig * ++ current_sys_kbd_config) ++{ ++ /* Activate - only if different! */ ++ if (!gkbd_keyboard_config_equals ++ (¤t_kbd_config, current_sys_kbd_config)) { ++ if (gkbd_keyboard_config_activate (¤t_kbd_config)) { ++ if (pa_callback != NULL) { ++ (*pa_callback) (pa_callback_user_data); ++ return TRUE; ++ } ++ } else { ++ return FALSE; ++ } ++ } ++ return TRUE; ++} ++ ++static gboolean ++filter_xkb_config (void) ++{ ++ XklConfigItem *item; ++ gchar *lname; ++ gchar *vname; ++ gchar **lv; ++ gboolean any_change = FALSE; ++ ++ xkl_debug (100, "Filtering configuration against the registry\n"); ++ if (!ensure_xkl_registry ()) ++ return FALSE; ++ ++ lv = current_kbd_config.layouts_variants; ++ item = xkl_config_item_new (); ++ while (*lv) { ++ xkl_debug (100, "Checking [%s]\n", *lv); ++ if (gkbd_keyboard_config_split_items (*lv, &lname, &vname)) { ++ gboolean should_be_dropped = FALSE; ++ g_snprintf (item->name, sizeof (item->name), "%s", ++ lname); ++ if (!xkl_config_registry_find_layout ++ (xkl_registry, item)) { ++ xkl_debug (100, "Bad layout [%s]\n", ++ lname); ++ should_be_dropped = TRUE; ++ } else if (vname) { ++ g_snprintf (item->name, ++ sizeof (item->name), "%s", ++ vname); ++ if (!xkl_config_registry_find_variant ++ (xkl_registry, lname, item)) { ++ xkl_debug (100, ++ "Bad variant [%s(%s)]\n", ++ lname, vname); ++ should_be_dropped = TRUE; ++ } ++ } ++ if (should_be_dropped) { ++ gkbd_strv_behead (lv); ++ any_change = TRUE; ++ continue; ++ } ++ } ++ lv++; ++ } ++ g_object_unref (item); ++ return any_change; ++} ++ ++static void ++apply_xkb_settings (void) ++{ ++ GkbdKeyboardConfig current_sys_kbd_config; ++ ++ if (!inited_ok) ++ return; ++ ++ gkbd_keyboard_config_init (¤t_sys_kbd_config, xkl_engine); ++ ++ gkbd_keyboard_config_load (¤t_kbd_config, ++ &initial_sys_kbd_config); ++ ++ gkbd_keyboard_config_load_from_x_current (¤t_sys_kbd_config, ++ NULL); ++ ++ if (!try_activating_xkb_config_if_new (¤t_sys_kbd_config)) { ++ if (filter_xkb_config ()) { ++ if (!try_activating_xkb_config_if_new ++ (¤t_sys_kbd_config)) { ++ g_warning ++ ("Could not activate the filtered XKB configuration"); ++ activation_error (); ++ } ++ } else { ++ g_warning ++ ("Could not activate the XKB configuration"); ++ activation_error (); ++ } ++ } else ++ xkl_debug (100, ++ "Actual KBD configuration was not changed: redundant notification\n"); ++ ++ gkbd_keyboard_config_term (¤t_sys_kbd_config); ++ show_hide_icon (); ++} ++ ++static void ++csd_keyboard_xkb_analyze_sysconfig (void) ++{ ++ if (!inited_ok) ++ return; ++ ++ gkbd_keyboard_config_init (&initial_sys_kbd_config, xkl_engine); ++ gkbd_keyboard_config_load_from_x_initial (&initial_sys_kbd_config, ++ NULL); ++} ++ ++void ++csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun, ++ void *user_data) ++{ ++ pa_callback = fun; ++ pa_callback_user_data = user_data; ++} ++ ++static GdkFilterReturn ++csd_keyboard_xkb_evt_filter (GdkXEvent * xev, GdkEvent * event) ++{ ++ XEvent *xevent = (XEvent *) xev; ++ xkl_engine_filter_events (xkl_engine, xevent); ++ return GDK_FILTER_CONTINUE; ++} ++ ++/* When new Keyboard is plugged in - reload the settings */ ++static void ++csd_keyboard_new_device (XklEngine * engine) ++{ ++ apply_desktop_settings (); ++ apply_xkb_settings (); ++} ++ ++void ++csd_keyboard_xkb_init (CsdKeyboardManager * kbd_manager) ++{ ++ Display *display = ++ GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); ++ cinnamon_settings_profile_start (NULL); ++ ++ gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (), ++ DATADIR G_DIR_SEPARATOR_S ++ "icons"); ++ ++ manager = kbd_manager; ++ cinnamon_settings_profile_start ("xkl_engine_get_instance"); ++ xkl_engine = xkl_engine_get_instance (display); ++ cinnamon_settings_profile_end ("xkl_engine_get_instance"); ++ if (xkl_engine) { ++ inited_ok = TRUE; ++ ++ gkbd_desktop_config_init (¤t_config, xkl_engine); ++ gkbd_keyboard_config_init (¤t_kbd_config, ++ xkl_engine); ++ xkl_engine_backup_names_prop (xkl_engine); ++ csd_keyboard_xkb_analyze_sysconfig (); ++ ++ settings_desktop = g_settings_new (GKBD_DESKTOP_SCHEMA); ++ settings_keyboard = g_settings_new (GKBD_KEYBOARD_SCHEMA); ++ g_signal_connect (settings_desktop, "changed", ++ (GCallback) apply_desktop_settings, ++ NULL); ++ g_signal_connect (settings_keyboard, "changed", ++ (GCallback) apply_xkb_settings, NULL); ++ ++ gdk_window_add_filter (NULL, (GdkFilterFunc) ++ csd_keyboard_xkb_evt_filter, NULL); ++ ++ if (xkl_engine_get_features (xkl_engine) & ++ XKLF_DEVICE_DISCOVERY) ++ g_signal_connect (xkl_engine, "X-new-device", ++ G_CALLBACK ++ (csd_keyboard_new_device), NULL); ++ ++ cinnamon_settings_profile_start ("xkl_engine_start_listen"); ++ xkl_engine_start_listen (xkl_engine, ++ XKLL_MANAGE_LAYOUTS | ++ XKLL_MANAGE_WINDOW_STATES); ++ cinnamon_settings_profile_end ("xkl_engine_start_listen"); ++ ++ cinnamon_settings_profile_start ("apply_desktop_settings"); ++ apply_desktop_settings (); ++ cinnamon_settings_profile_end ("apply_desktop_settings"); ++ cinnamon_settings_profile_start ("apply_xkb_settings"); ++ apply_xkb_settings (); ++ cinnamon_settings_profile_end ("apply_xkb_settings"); ++ } ++ preview_dialogs = g_hash_table_new (g_direct_hash, g_direct_equal); ++ ++ cinnamon_settings_profile_end (NULL); ++} ++ ++void ++csd_keyboard_xkb_shutdown (void) ++{ ++ if (!inited_ok) ++ return; ++ ++ pa_callback = NULL; ++ pa_callback_user_data = NULL; ++ manager = NULL; ++ ++ if (preview_dialogs != NULL) ++ g_hash_table_destroy (preview_dialogs); ++ ++ if (!inited_ok) ++ return; ++ ++ xkl_engine_stop_listen (xkl_engine, ++ XKLL_MANAGE_LAYOUTS | ++ XKLL_MANAGE_WINDOW_STATES); ++ ++ gdk_window_remove_filter (NULL, (GdkFilterFunc) ++ csd_keyboard_xkb_evt_filter, NULL); ++ ++ g_object_unref (settings_desktop); ++ settings_desktop = NULL; ++ g_object_unref (settings_keyboard); ++ settings_keyboard = NULL; ++ ++ if (xkl_registry) { ++ g_object_unref (xkl_registry); ++ } ++ ++ g_object_unref (xkl_engine); ++ ++ xkl_engine = NULL; ++ ++ inited_ok = FALSE; ++} +diff -uNrp a/plugins/keyboard/xxx/csd-keyboard-xkb.h b/plugins/keyboard/xxx/csd-keyboard-xkb.h +--- a/plugins/keyboard/xxx/csd-keyboard-xkb.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/csd-keyboard-xkb.h 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,39 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- ++ * cinnamon-settings-keyboard-xkb.h ++ * ++ * Copyright (C) 2001 Udaltsoft ++ * ++ * Written by Sergey V. Oudaltsov ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#ifndef __CSD_KEYBOARD_XKB_H ++#define __CSD_KEYBOARD_XKB_H ++ ++#include ++#include "csd-keyboard-manager.h" ++ ++void csd_keyboard_xkb_init (CsdKeyboardManager *manager); ++void csd_keyboard_xkb_shutdown (void); ++ ++typedef void (*PostActivationCallback) (void *userData); ++ ++void ++csd_keyboard_xkb_set_post_activation_callback (PostActivationCallback fun, ++ void *userData); ++ ++#endif +diff -uNrp a/plugins/keyboard/xxx/delayed-dialog.c b/plugins/keyboard/xxx/delayed-dialog.c +--- a/plugins/keyboard/xxx/delayed-dialog.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/delayed-dialog.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,128 @@ ++/* ++ * Copyright © 2006 Novell, Inc. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2, or (at ++ * your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#include ++#include ++ ++#include ++#include ++ ++#include "delayed-dialog.h" ++ ++static gboolean delayed_show_timeout (gpointer data); ++static GdkFilterReturn message_filter (GdkXEvent *xevent, ++ GdkEvent *event, ++ gpointer data); ++ ++static GSList *dialogs = NULL; ++ ++/** ++ * csd_delayed_show_dialog: ++ * @dialog: the dialog ++ * ++ * Shows the dialog as with gtk_widget_show(), unless a window manager ++ * hasn't been started yet, in which case it will wait up to 5 seconds ++ * for that to happen before showing the dialog. ++ **/ ++void ++csd_delayed_show_dialog (GtkWidget *dialog) ++{ ++ GdkDisplay *display = gtk_widget_get_display (dialog); ++ Display *xdisplay = GDK_DISPLAY_XDISPLAY (display); ++ GdkScreen *screen = gtk_widget_get_screen (dialog); ++ char selection_name[10]; ++ Atom selection_atom; ++ ++ /* We can't use gdk_selection_owner_get() for this, because ++ * it's an unknown out-of-process window. ++ */ ++ snprintf (selection_name, sizeof (selection_name), "WM_S%d", ++ gdk_screen_get_number (screen)); ++ selection_atom = XInternAtom (xdisplay, selection_name, True); ++ if (selection_atom && ++ XGetSelectionOwner (xdisplay, selection_atom) != None) { ++ gtk_widget_show (dialog); ++ return; ++ } ++ ++ dialogs = g_slist_prepend (dialogs, dialog); ++ ++ gdk_window_add_filter (NULL, message_filter, NULL); ++ ++ g_timeout_add (5000, delayed_show_timeout, NULL); ++} ++ ++static gboolean ++delayed_show_timeout (gpointer data) ++{ ++ GSList *l; ++ ++ for (l = dialogs; l; l = l->next) ++ gtk_widget_show (l->data); ++ g_slist_free (dialogs); ++ dialogs = NULL; ++ ++ /* FIXME: There's no gdk_display_remove_client_message_filter */ ++ ++ return FALSE; ++} ++ ++static GdkFilterReturn ++message_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data) ++{ ++ XClientMessageEvent *evt; ++ char *selection_name; ++ int screen; ++ GSList *l, *next; ++ ++ if (((XEvent *)xevent)->type != ClientMessage) ++ return GDK_FILTER_CONTINUE; ++ ++ evt = (XClientMessageEvent *)xevent; ++ ++ if (evt->message_type != XInternAtom (evt->display, "MANAGER", FALSE)) ++ return GDK_FILTER_CONTINUE; ++ ++ selection_name = XGetAtomName (evt->display, evt->data.l[1]); ++ ++ if (strncmp (selection_name, "WM_S", 4) != 0) { ++ XFree (selection_name); ++ return GDK_FILTER_CONTINUE; ++ } ++ ++ screen = atoi (selection_name + 4); ++ ++ for (l = dialogs; l; l = next) { ++ GtkWidget *dialog = l->data; ++ next = l->next; ++ ++ if (gdk_screen_get_number (gtk_widget_get_screen (dialog)) == screen) { ++ gtk_widget_show (dialog); ++ dialogs = g_slist_remove (dialogs, dialog); ++ } ++ } ++ ++ if (!dialogs) { ++ gdk_window_remove_filter (NULL, message_filter, NULL); ++ } ++ ++ XFree (selection_name); ++ ++ return GDK_FILTER_CONTINUE; ++} +diff -uNrp a/plugins/keyboard/xxx/delayed-dialog.h b/plugins/keyboard/xxx/delayed-dialog.h +--- a/plugins/keyboard/xxx/delayed-dialog.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/delayed-dialog.h 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,32 @@ ++/* ++ * Copyright © 2006 Novell, Inc. ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2, or (at ++ * your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++ ++#ifndef __DELAYED_DIALOG_H ++#define __DELAYED_DIALOG_H ++ ++#include ++ ++G_BEGIN_DECLS ++ ++void csd_delayed_show_dialog (GtkWidget *dialog); ++ ++G_END_DECLS ++ ++#endif +diff -uNrp a/plugins/keyboard/xxx/gkbd-configuration.c b/plugins/keyboard/xxx/gkbd-configuration.c +--- a/plugins/keyboard/xxx/gkbd-configuration.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/gkbd-configuration.c 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,350 @@ ++/* ++ * Copyright (C) 2010 Canonical Ltd. ++ * ++ * Authors: Jan Arne Petersen ++ * ++ * Based on gkbd-status.c by Sergey V. Udaltsov ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, ++ * Boston, MA 02110-1335, USA. ++ */ ++ ++#include ++ ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include "gkbd-configuration.h" ++ ++struct _GkbdConfigurationPrivate { ++ XklEngine *engine; ++ XklConfigRegistry *registry; ++ ++ GkbdDesktopConfig cfg; ++ GkbdIndicatorConfig ind_cfg; ++ GkbdKeyboardConfig kbd_cfg; ++ ++ gchar **full_group_names; ++ gchar **short_group_names; ++ ++ gulong state_changed_handler; ++ gulong config_changed_handler; ++}; ++ ++enum { ++ SIGNAL_CHANGED, ++ SIGNAL_GROUP_CHANGED, ++ LAST_SIGNAL ++}; ++ ++static guint signals[LAST_SIGNAL] = { 0, }; ++ ++#define GKBD_CONFIGURATION_GET_PRIVATE(o) \ ++ (G_TYPE_INSTANCE_GET_PRIVATE ((o), GKBD_TYPE_CONFIGURATION, GkbdConfigurationPrivate)) ++ ++G_DEFINE_TYPE (GkbdConfiguration, gkbd_configuration, G_TYPE_OBJECT) ++ ++/* Should be called once for all widgets */ ++static void ++gkbd_configuration_cfg_changed (GSettings *settings, ++ const char *key, ++ GkbdConfiguration * configuration) ++{ ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ ++ xkl_debug (100, ++ "General configuration changed in GSettings - reiniting...\n"); ++ gkbd_desktop_config_load (&priv->cfg); ++ gkbd_desktop_config_activate (&priv->cfg); ++ ++ g_signal_emit (configuration, ++ signals[SIGNAL_CHANGED], 0); ++} ++ ++/* Should be called once for all widgets */ ++static void ++gkbd_configuration_ind_cfg_changed (GSettings *settings, ++ const char *key, ++ GkbdConfiguration * configuration) ++{ ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ xkl_debug (100, ++ "Applet configuration changed in GSettings - reiniting...\n"); ++ gkbd_indicator_config_load (&priv->ind_cfg); ++ ++ gkbd_indicator_config_free_image_filenames (&priv->ind_cfg); ++ gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, ++ &priv->kbd_cfg); ++ ++ gkbd_indicator_config_activate (&priv->ind_cfg); ++ ++ g_signal_emit (configuration, ++ signals[SIGNAL_CHANGED], 0); ++} ++ ++static void ++gkbd_configuration_load_group_names (GkbdConfiguration * configuration, ++ XklConfigRec * xklrec) ++{ ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ ++ if (!gkbd_desktop_config_load_group_descriptions (&priv->cfg, ++ priv->registry, ++ (const char **) xklrec->layouts, ++ (const char **) xklrec->variants, ++ &priv->short_group_names, ++ &priv->full_group_names)) { ++ /* We just populate no short names (remain NULL) - ++ * full names are going to be used anyway */ ++ gint i, total_groups = ++ xkl_engine_get_num_groups (priv->engine); ++ xkl_debug (150, "group descriptions loaded: %d!\n", ++ total_groups); ++ priv->full_group_names = ++ g_new0 (char *, total_groups + 1); ++ ++ if (xkl_engine_get_features (priv->engine) & ++ XKLF_MULTIPLE_LAYOUTS_SUPPORTED) { ++ for (i = 0; priv->kbd_cfg.layouts_variants[i]; i++) { ++ priv->full_group_names[i] = ++ g_strdup ((char *) priv->kbd_cfg.layouts_variants[i]); ++ } ++ } else { ++ for (i = total_groups; --i >= 0;) { ++ priv->full_group_names[i] = ++ g_strdup_printf ("Group %d", i); ++ } ++ } ++ } ++} ++ ++/* Should be called once for all widgets */ ++static void ++gkbd_configuration_kbd_cfg_callback (XklEngine *engine, ++ GkbdConfiguration *configuration) ++{ ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ XklConfigRec *xklrec = xkl_config_rec_new (); ++ xkl_debug (100, ++ "XKB configuration changed on X Server - reiniting...\n"); ++ ++ gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg, ++ xklrec); ++ ++ gkbd_indicator_config_free_image_filenames (&priv->ind_cfg); ++ gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, ++ &priv->kbd_cfg); ++ ++ g_strfreev (priv->full_group_names); ++ priv->full_group_names = NULL; ++ ++ g_strfreev (priv->short_group_names); ++ priv->short_group_names = NULL; ++ ++ gkbd_configuration_load_group_names (configuration, ++ xklrec); ++ ++ g_signal_emit (configuration, ++ signals[SIGNAL_CHANGED], ++ 0); ++ ++ g_object_unref (G_OBJECT (xklrec)); ++} ++ ++/* Should be called once for all applets */ ++static void ++gkbd_configuration_state_callback (XklEngine * engine, ++ XklEngineStateChange changeType, ++ gint group, gboolean restore, ++ GkbdConfiguration * configuration) ++{ ++ xkl_debug (150, "group is now %d, restore: %d\n", group, restore); ++ ++ if (changeType == GROUP_CHANGED) { ++ g_signal_emit (configuration, ++ signals[SIGNAL_GROUP_CHANGED], 0, ++ group); ++ } ++} ++ ++static void ++gkbd_configuration_init (GkbdConfiguration *configuration) ++{ ++ GkbdConfigurationPrivate *priv; ++ XklConfigRec *xklrec = xkl_config_rec_new (); ++ ++ priv = GKBD_CONFIGURATION_GET_PRIVATE (configuration); ++ configuration->priv = priv; ++ ++ priv->engine = xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); ++ if (priv->engine == NULL) { ++ xkl_debug (0, "Libxklavier initialization error"); ++ return; ++ } ++ ++ priv->state_changed_handler = ++ g_signal_connect (priv->engine, "X-state-changed", ++ G_CALLBACK (gkbd_configuration_state_callback), ++ configuration); ++ priv->config_changed_handler = ++ g_signal_connect (priv->engine, "X-config-changed", ++ G_CALLBACK (gkbd_configuration_kbd_cfg_callback), ++ configuration); ++ ++ gkbd_desktop_config_init (&priv->cfg, priv->engine); ++ gkbd_keyboard_config_init (&priv->kbd_cfg, priv->engine); ++ gkbd_indicator_config_init (&priv->ind_cfg, priv->engine); ++ ++ gkbd_desktop_config_load (&priv->cfg); ++ gkbd_desktop_config_activate (&priv->cfg); ++ ++ priv->registry = xkl_config_registry_get_instance (priv->engine); ++ xkl_config_registry_load (priv->registry, ++ priv->cfg.load_extra_items); ++ ++ gkbd_keyboard_config_load_from_x_current (&priv->kbd_cfg, ++ xklrec); ++ ++ gkbd_indicator_config_load (&priv->ind_cfg); ++ ++ gkbd_indicator_config_load_image_filenames (&priv->ind_cfg, ++ &priv->kbd_cfg); ++ ++ gkbd_indicator_config_activate (&priv->ind_cfg); ++ ++ gkbd_configuration_load_group_names (configuration, ++ xklrec); ++ g_object_unref (G_OBJECT (xklrec)); ++ ++ gkbd_desktop_config_start_listen (&priv->cfg, ++ G_CALLBACK (gkbd_configuration_cfg_changed), ++ configuration); ++ gkbd_indicator_config_start_listen (&priv->ind_cfg, ++ G_CALLBACK (gkbd_configuration_ind_cfg_changed), ++ configuration); ++ xkl_engine_start_listen (priv->engine, ++ XKLL_TRACK_KEYBOARD_STATE); ++ ++ xkl_debug (100, "Initiating the widget startup process for %p\n", ++ configuration); ++} ++ ++static void ++gkbd_configuration_finalize (GObject * obj) ++{ ++ GkbdConfiguration *configuration = GKBD_CONFIGURATION (obj); ++ GkbdConfigurationPrivate *priv = configuration->priv; ++ ++ xkl_debug (100, ++ "Starting the gnome-kbd-configuration widget shutdown process for %p\n", ++ configuration); ++ ++ xkl_engine_stop_listen (priv->engine, ++ XKLL_TRACK_KEYBOARD_STATE); ++ ++ gkbd_desktop_config_stop_listen (&priv->cfg); ++ gkbd_indicator_config_stop_listen (&priv->ind_cfg); ++ ++ gkbd_indicator_config_term (&priv->ind_cfg); ++ gkbd_keyboard_config_term (&priv->kbd_cfg); ++ gkbd_desktop_config_term (&priv->cfg); ++ ++ if (g_signal_handler_is_connected (priv->engine, ++ priv->state_changed_handler)) { ++ g_signal_handler_disconnect (priv->engine, ++ priv->state_changed_handler); ++ priv->state_changed_handler = 0; ++ } ++ if (g_signal_handler_is_connected (priv->engine, ++ priv->config_changed_handler)) { ++ g_signal_handler_disconnect (priv->engine, ++ priv->config_changed_handler); ++ priv->config_changed_handler = 0; ++ } ++ ++ g_object_unref (priv->registry); ++ priv->registry = NULL; ++ g_object_unref (priv->engine); ++ priv->engine = NULL; ++ ++ G_OBJECT_CLASS (gkbd_configuration_parent_class)->finalize (obj); ++} ++ ++static void ++gkbd_configuration_class_init (GkbdConfigurationClass * klass) ++{ ++ GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ ++ /* Initing vtable */ ++ object_class->finalize = gkbd_configuration_finalize; ++ ++ /* Signals */ ++ signals[SIGNAL_CHANGED] = g_signal_new ("changed", ++ GKBD_TYPE_CONFIGURATION, ++ G_SIGNAL_RUN_LAST, ++ 0, ++ NULL, NULL, ++ g_cclosure_marshal_VOID__VOID, ++ G_TYPE_NONE, ++ 0); ++ signals[SIGNAL_GROUP_CHANGED] = g_signal_new ("group-changed", ++ GKBD_TYPE_CONFIGURATION, ++ G_SIGNAL_RUN_LAST, ++ 0, ++ NULL, NULL, ++ g_cclosure_marshal_VOID__INT, ++ G_TYPE_NONE, ++ 1, ++ G_TYPE_INT); ++ ++ g_type_class_add_private (klass, sizeof (GkbdConfigurationPrivate)); ++} ++ ++GkbdConfiguration * ++gkbd_configuration_get (void) ++{ ++ static gpointer instance = NULL; ++ ++ if (!instance) { ++ instance = g_object_new (GKBD_TYPE_CONFIGURATION, NULL); ++ g_object_add_weak_pointer (instance, &instance); ++ } else { ++ g_object_ref (instance); ++ } ++ ++ return instance; ++} ++ ++XklEngine * ++gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration) ++{ ++ return configuration->priv->engine; ++} ++ ++const char * const * ++gkbd_configuration_get_group_names (GkbdConfiguration *configuration) ++{ ++ return configuration->priv->full_group_names; ++} ++ ++const char * const * ++gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration) ++{ ++ return configuration->priv->short_group_names; ++} +diff -uNrp a/plugins/keyboard/xxx/gkbd-configuration.h b/plugins/keyboard/xxx/gkbd-configuration.h +--- a/plugins/keyboard/xxx/gkbd-configuration.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/plugins/keyboard/xxx/gkbd-configuration.h 2013-08-25 16:36:02.000000000 +0100 +@@ -0,0 +1,65 @@ ++/* ++ * Copyright (C) 2010 Canonical Ltd. ++ * ++ * Authors: Jan Arne Petersen ++ * ++ * Based on gkbd-status.h by Sergey V. Udaltsov ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, ++ * Boston, MA 02110-1335, USA. ++ */ ++ ++#ifndef __GKBD_CONFIGURATION_H__ ++#define __GKBD_CONFIGURATION_H__ ++ ++#include ++ ++#include ++ ++G_BEGIN_DECLS ++ ++typedef struct _GkbdConfiguration GkbdConfiguration; ++typedef struct _GkbdConfigurationPrivate GkbdConfigurationPrivate; ++typedef struct _GkbdConfigurationClass GkbdConfigurationClass; ++ ++#define GKBD_TYPE_CONFIGURATION (gkbd_configuration_get_type ()) ++#define GKBD_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfiguration)) ++#define GKBD_INDCATOR_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass)) ++#define GKBD_IS_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GKBD_TYPE_CONFIGURATION)) ++#define GKBD_IS_CONFIGURATION_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), GKBD_TYPE_CONFIGURATION)) ++#define GKBD_CONFIGURATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GKBD_TYPE_CONFIGURATION, GkbdConfigurationClass)) ++ ++struct _GkbdConfiguration { ++ GObject parent; ++ ++ GkbdConfigurationPrivate *priv; ++}; ++ ++struct _GkbdConfigurationClass { ++ GObjectClass parent_class; ++}; ++ ++extern GType gkbd_configuration_get_type (void); ++ ++extern GkbdConfiguration *gkbd_configuration_get (void); ++ ++extern XklEngine *gkbd_configuration_get_xkl_engine (GkbdConfiguration *configuration); ++ ++extern const char * const *gkbd_configuration_get_group_names (GkbdConfiguration *configuration); ++extern const char * const *gkbd_configuration_get_short_group_names (GkbdConfiguration *configuration); ++ ++G_END_DECLS ++ ++#endif +diff -uNrp a/plugins/media-keys/csd-media-keys-manager.c b/plugins/media-keys/csd-media-keys-manager.c +--- a/plugins/media-keys/csd-media-keys-manager.c 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/media-keys/csd-media-keys-manager.c 2013-08-25 16:36:02.000000000 +0100 +@@ -120,6 +120,10 @@ static const gchar kb_introspection_xml[ + #define VOLUME_STEP 6 /* percents for one volume button press */ + #define MAX_VOLUME 65536.0 + ++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources" ++#define KEY_CURRENT_INPUT_SOURCE "current" ++#define KEY_INPUT_SOURCES "sources" ++ + #define CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_MEDIA_KEYS_MANAGER, CsdMediaKeysManagerPrivate)) + + typedef struct { +@@ -1750,6 +1754,40 @@ do_keyboard_brightness_action (CsdMediaK + manager); + } + ++static void ++do_switch_input_source_action (CsdMediaKeysManager *manager, ++ MediaKeyType type) ++{ ++ GSettings *settings; ++ GVariant *sources; ++ gint i, n; ++ ++ settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR); ++ sources = g_settings_get_value (settings, KEY_INPUT_SOURCES); ++ ++ n = g_variant_n_children (sources); ++ if (n < 2) ++ goto out; ++ ++ i = g_settings_get_uint (settings, KEY_CURRENT_INPUT_SOURCE); ++ ++ if (type == SWITCH_INPUT_SOURCE_KEY) ++ i += 1; ++ else ++ i -= 1; ++ ++ if (i < 0) ++ i = n - 1; ++ else if (i >= n) ++ i = 0; ++ ++ g_settings_set_uint (settings, KEY_CURRENT_INPUT_SOURCE, i); ++ ++ out: ++ g_variant_unref (sources); ++ g_object_unref (settings); ++} ++ + static gboolean + do_action (CsdMediaKeysManager *manager, + guint deviceid, +@@ -1908,6 +1946,10 @@ do_action (CsdMediaKeysManager *manager, + case BATTERY_KEY: + do_execute_desktop (manager, "gnome-power-statistics.desktop", timestamp); + break; ++ case SWITCH_INPUT_SOURCE_KEY: ++ case SWITCH_INPUT_SOURCE_BACKWARD_KEY: ++ do_switch_input_source_action (manager, type); ++ break; + /* Note, no default so compiler catches missing keys */ + case CUSTOM_KEY: + g_assert_not_reached (); +diff -uNrp a/plugins/media-keys/shortcuts-list.h b/plugins/media-keys/shortcuts-list.h +--- a/plugins/media-keys/shortcuts-list.h 2013-08-24 18:04:31.000000000 +0100 ++++ b/plugins/media-keys/shortcuts-list.h 2013-08-25 16:36:02.000000000 +0100 +@@ -81,6 +81,8 @@ typedef enum { + KEYBOARD_BRIGHTNESS_DOWN_KEY, + KEYBOARD_BRIGHTNESS_TOGGLE_KEY, + BATTERY_KEY, ++ SWITCH_INPUT_SOURCE_KEY, ++ SWITCH_INPUT_SOURCE_BACKWARD_KEY, + CUSTOM_KEY + } MediaKeyType; + +@@ -148,6 +150,9 @@ static struct { + { KEYBOARD_BRIGHTNESS_UP_KEY, NULL, "XF86KbdBrightnessUp" }, + { KEYBOARD_BRIGHTNESS_DOWN_KEY, NULL, "XF86KbdBrightnessDown" }, + { KEYBOARD_BRIGHTNESS_TOGGLE_KEY, NULL, "XF86KbdLightOnOff" }, ++ { SWITCH_INPUT_SOURCE_KEY, "switch-input-source", NULL }, ++ { SWITCH_INPUT_SOURCE_BACKWARD_KEY, "switch-input-source-backward", NULL }, ++ + { BATTERY_KEY, NULL, "XF86Battery" }, + }; + diff --git a/pkgs/desktops/cinnamon/systemd-support.patch b/pkgs/desktops/cinnamon/systemd-support.patch new file mode 100644 index 00000000000..feceaf05f7b --- /dev/null +++ b/pkgs/desktops/cinnamon/systemd-support.patch @@ -0,0 +1,536 @@ + +diff --git a/plugins/media-keys/csd-media-keys-manager.c b/plugins/media-keys/csd-media-keys-manager.c +index 02930a3..7c1c519 100644 +--- a/plugins/media-keys/csd-media-keys-manager.c ++++ b/plugins/media-keys/csd-media-keys-manager.c +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include + + #ifdef HAVE_GUDEV + #include +@@ -121,6 +122,10 @@ static const gchar kb_introspection_xml[] = + #define VOLUME_STEP 5 /* percents for one volume button press */ + #define MAX_VOLUME 65536.0 + ++#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" ++#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" ++#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" ++ + #define CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CSD_TYPE_MEDIA_KEYS_MANAGER, CsdMediaKeysManagerPrivate)) + + typedef struct { +@@ -167,6 +172,10 @@ struct CsdMediaKeysManagerPrivate + GDBusProxy *power_screen_proxy; + GDBusProxy *power_keyboard_proxy; + ++ /* systemd stuff */ ++ GDBusProxy *logind_proxy; ++ gint inhibit_keys_fd; ++ + /* Multihead stuff */ + GdkScreen *current_screen; + GSList *screens; +@@ -2213,6 +2222,11 @@ csd_media_keys_manager_stop (CsdMediaKeysManager *manager) + } + #endif /* HAVE_GUDEV */ + ++ if (priv->logind_proxy) { ++ g_object_unref (priv->logind_proxy); ++ priv->logind_proxy = NULL; ++ } ++ + if (priv->settings) { + g_object_unref (priv->settings); + priv->settings = NULL; +@@ -2356,9 +2370,85 @@ csd_media_keys_manager_class_init (CsdMediaKeysManagerClass *klass) + } + + static void ++inhibit_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ CsdMediaKeysManager *manager = CSD_MEDIA_KEYS_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit keypresses: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_keys_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_keys_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_keys_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++static void + csd_media_keys_manager_init (CsdMediaKeysManager *manager) + { ++ GError *error; ++ GDBusConnection *bus; ++ ++ error = NULL; + manager->priv = CSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager); ++ ++ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error); ++ if (bus == NULL) { ++ g_warning ("Failed to connect to system bus: %s", ++ error->message); ++ g_error_free (error); ++ return; ++ } ++ ++ manager->priv->logind_proxy = ++ g_dbus_proxy_new_sync (bus, ++ 0, ++ NULL, ++ SYSTEMD_DBUS_NAME, ++ SYSTEMD_DBUS_PATH, ++ SYSTEMD_DBUS_INTERFACE, ++ NULL, ++ &error); ++ ++ if (manager->priv->logind_proxy == NULL) { ++ g_warning ("Failed to connect to systemd: %s", ++ error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (bus); ++ ++ g_debug ("Adding system inhibitors for power keys"); ++ manager->priv->inhibit_keys_fd = -1; ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ g_variant_new ("(ssss)", ++ "handle-power-key:handle-suspend-key:handle-hibernate-key", ++ g_get_user_name (), ++ "Cinnamon handling keypresses", ++ "block"), ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_done, ++ manager); ++ + } + + static void +@@ -2375,6 +2465,8 @@ csd_media_keys_manager_finalize (GObject *object) + + if (media_keys_manager->priv->start_idle_id != 0) + g_source_remove (media_keys_manager->priv->start_idle_id); ++ if (media_keys_manager->priv->inhibit_keys_fd != -1) ++ close (media_keys_manager->priv->inhibit_keys_fd); + + G_OBJECT_CLASS (csd_media_keys_manager_parent_class)->finalize (object); + } +diff --git a/plugins/power/csd-power-manager.c b/plugins/power/csd-power-manager.c +index b54cb5b..b9c5429 100644 +--- a/plugins/power/csd-power-manager.c ++++ b/plugins/power/csd-power-manager.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + + #include + +@@ -79,6 +80,10 @@ + #define CSD_POWER_MANAGER_CRITICAL_ALERT_TIMEOUT 5 /* seconds */ + #define CSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT 30 /* seconds */ + ++#define SYSTEMD_DBUS_NAME "org.freedesktop.login1" ++#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" ++#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" ++ + /* Keep this in sync with gnome-shell */ + #define SCREENSAVER_FADE_TIME 10 /* seconds */ + +@@ -203,6 +208,13 @@ struct CsdPowerManagerPrivate + GtkStatusIcon *status_icon; + guint xscreensaver_watchdog_timer_id; + gboolean is_virtual_machine; ++ ++ /* systemd stuff */ ++ GDBusProxy *logind_proxy; ++ gint inhibit_lid_switch_fd; ++ gboolean inhibit_lid_switch_taken; ++ gint inhibit_suspend_fd; ++ gboolean inhibit_suspend_taken; + }; + + enum { +@@ -3350,30 +3362,6 @@ lock_screensaver (CsdPowerManager *manager) + if (!do_lock) + return; + +- /* connect to the screensaver first */ +- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, +- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, +- NULL, +- GS_DBUS_NAME, +- GS_DBUS_PATH, +- GS_DBUS_INTERFACE, +- NULL, +- sleep_cb_screensaver_proxy_ready_cb, +- manager); +-} +- +-static void +-upower_notify_sleep_cb (UpClient *client, +- UpSleepKind sleep_kind, +- CsdPowerManager *manager) +-{ +- gboolean do_lock; +- +- do_lock = g_settings_get_boolean (manager->priv->settings, +- "lock-on-suspend"); +- if (!do_lock) +- return; +- + /* connect to the screensaver first */ + g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION, + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, +@@ -3384,46 +3372,6 @@ upower_notify_sleep_cb (UpClient *client, + NULL, + sleep_cb_screensaver_proxy_ready_cb, + manager); +- +-} +- +-static void +-upower_notify_resume_cb (UpClient *client, +- UpSleepKind sleep_kind, +- CsdPowerManager *manager) +-{ +- gboolean ret; +- GError *error = NULL; +- +- /* this displays the unlock dialogue so the user doesn't have +- * to move the mouse or press any key before the window comes up */ +- if (manager->priv->screensaver_proxy != NULL) { +- g_dbus_proxy_call (manager->priv->screensaver_proxy, +- "SimulateUserActivity", +- NULL, +- G_DBUS_CALL_FLAGS_NONE, +- -1, NULL, NULL, NULL); +- } +- +- if (manager->priv->screensaver_proxy != NULL) { +- g_object_unref (manager->priv->screensaver_proxy); +- manager->priv->screensaver_proxy = NULL; +- } +- +- /* close existing notifications on resume, the system power +- * state is probably different now */ +- notify_close_if_showing (manager->priv->notification_low); +- notify_close_if_showing (manager->priv->notification_discharging); +- +- /* ensure we turn the panel back on after resume */ +- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, +- GNOME_RR_DPMS_ON, +- &error); +- if (!ret) { +- g_warning ("failed to turn the panel on after resume: %s", +- error->message); +- g_error_free (error); +- } + } + + static void +@@ -3582,6 +3530,219 @@ disable_builtin_screensaver (gpointer unused) + return TRUE; + } + ++static void ++inhibit_lid_switch_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ CsdPowerManager *manager = CSD_POWER_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit lid switch: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_lid_switch_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_lid_switch_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_lid_switch_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++static void ++inhibit_lid_switch (CsdPowerManager *manager) ++{ ++ GVariant *params; ++ ++ if (manager->priv->inhibit_lid_switch_taken) { ++ g_debug ("already inhibited lid-switch"); ++ return; ++ } ++ g_debug ("Adding lid switch system inhibitor"); ++ manager->priv->inhibit_lid_switch_taken = TRUE; ++ ++ params = g_variant_new ("(ssss)", ++ "handle-lid-switch", ++ g_get_user_name (), ++ "Multiple displays attached", ++ "block"); ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ params, ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_lid_switch_done, ++ manager); ++} ++ ++static void ++inhibit_suspend_done (GObject *source, ++ GAsyncResult *result, ++ gpointer user_data) ++{ ++ GDBusProxy *proxy = G_DBUS_PROXY (source); ++ CsdPowerManager *manager = CSD_POWER_MANAGER (user_data); ++ GError *error = NULL; ++ GVariant *res; ++ GUnixFDList *fd_list = NULL; ++ gint idx; ++ ++ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error); ++ if (res == NULL) { ++ g_warning ("Unable to inhibit suspend: %s", error->message); ++ g_error_free (error); ++ } else { ++ g_variant_get (res, "(h)", &idx); ++ manager->priv->inhibit_suspend_fd = g_unix_fd_list_get (fd_list, idx, &error); ++ if (manager->priv->inhibit_suspend_fd == -1) { ++ g_warning ("Failed to receive system inhibitor fd: %s", error->message); ++ g_error_free (error); ++ } ++ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_suspend_fd); ++ g_object_unref (fd_list); ++ g_variant_unref (res); ++ } ++} ++ ++/* We take a delay inhibitor here, which causes logind to send a ++ * PrepareToSleep signal, which gives us a chance to lock the screen ++ * and do some other preparations. ++ */ ++static void ++inhibit_suspend (CsdPowerManager *manager) ++{ ++ if (manager->priv->inhibit_suspend_taken) { ++ g_debug ("already inhibited lid-switch"); ++ return; ++ } ++ g_debug ("Adding suspend delay inhibitor"); ++ manager->priv->inhibit_suspend_taken = TRUE; ++ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy, ++ "Inhibit", ++ g_variant_new ("(ssss)", ++ "sleep", ++ g_get_user_name (), ++ "Cinnamon needs to lock the screen", ++ "delay"), ++ 0, ++ G_MAXINT, ++ NULL, ++ NULL, ++ inhibit_suspend_done, ++ manager); ++} ++ ++static void ++uninhibit_suspend (CsdPowerManager *manager) ++{ ++ if (manager->priv->inhibit_suspend_fd == -1) { ++ g_debug ("no suspend delay inhibitor"); ++ return; ++ } ++ g_debug ("Removing suspend delay inhibitor"); ++ close (manager->priv->inhibit_suspend_fd); ++ manager->priv->inhibit_suspend_fd = -1; ++ manager->priv->inhibit_suspend_taken = FALSE; ++} ++ ++static void ++handle_suspend_actions (CsdPowerManager *manager) ++{ ++ gboolean do_lock; ++ ++ do_lock = g_settings_get_boolean (manager->priv->settings, ++ "lock-on-suspend"); ++ if (do_lock) ++ lock_screensaver (manager); ++ ++ /* lift the delay inhibit, so logind can proceed */ ++ uninhibit_suspend (manager); ++} ++ ++static void ++handle_resume_actions (CsdPowerManager *manager) ++{ ++ gboolean ret; ++ GError *error = NULL; ++ ++ /* this displays the unlock dialogue so the user doesn't have ++ * to move the mouse or press any key before the window comes up */ ++ g_dbus_connection_call (manager->priv->connection, ++ GS_DBUS_NAME, ++ GS_DBUS_PATH, ++ GS_DBUS_INTERFACE, ++ "SimulateUserActivity", ++ NULL, NULL, ++ G_DBUS_CALL_FLAGS_NONE, -1, ++ NULL, NULL, NULL); ++ ++ /* close existing notifications on resume, the system power ++ * state is probably different now */ ++ notify_close_if_showing (manager->priv->notification_low); ++ notify_close_if_showing (manager->priv->notification_discharging); ++ ++ /* ensure we turn the panel back on after resume */ ++ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen, ++ GNOME_RR_DPMS_ON, ++ &error); ++ if (!ret) { ++ g_warning ("failed to turn the panel on after resume: %s", ++ error->message); ++ g_error_free (error); ++ } ++ ++ /* set up the delay again */ ++ inhibit_suspend (manager); ++} ++ ++static void ++upower_notify_sleep_cb (UpClient *client, ++ UpSleepKind sleep_kind, ++ CsdPowerManager *manager) ++{ ++ handle_suspend_actions (manager); ++} ++ ++static void ++upower_notify_resume_cb (UpClient *client, ++ UpSleepKind sleep_kind, ++ CsdPowerManager *manager) ++{ ++ handle_resume_actions (manager); ++} ++ ++static void ++logind_proxy_signal_cb (GDBusProxy *proxy, ++ const gchar *sender_name, ++ const gchar *signal_name, ++ GVariant *parameters, ++ gpointer user_data) ++{ ++ CsdPowerManager *manager = CSD_POWER_MANAGER (user_data); ++ gboolean is_about_to_suspend; ++ ++ if (g_strcmp0 (signal_name, "PrepareForSleep") != 0) ++ return; ++ g_variant_get (parameters, "(b)", &is_about_to_suspend); ++ if (is_about_to_suspend) { ++ handle_suspend_actions (manager); ++ } else { ++ handle_resume_actions (manager); ++ } ++} ++ + static gboolean + is_hardware_a_virtual_machine (void) + { +@@ -3647,6 +3808,26 @@ csd_power_manager_start (CsdPowerManager *manager, + if (manager->priv->x11_screen == NULL) + return FALSE; + ++ /* Set up the logind proxy */ ++ manager->priv->logind_proxy = ++ g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM, ++ 0, ++ NULL, ++ SYSTEMD_DBUS_NAME, ++ SYSTEMD_DBUS_PATH, ++ SYSTEMD_DBUS_INTERFACE, ++ NULL, ++ error); ++ g_signal_connect (manager->priv->logind_proxy, "g-signal", ++ G_CALLBACK (logind_proxy_signal_cb), ++ manager); ++ ++ /* Set up a delay inhibitor to be informed about suspend attempts */ ++ inhibit_suspend (manager); ++ ++ /* Disable logind's lid handling while g-s-d is active */ ++ inhibit_lid_switch (manager); ++ + /* track the active session */ + manager->priv->session = cinnamon_settings_session_new (); + g_signal_connect (manager->priv->session, "notify::state", +@@ -3856,6 +4037,22 @@ csd_power_manager_stop (CsdPowerManager *manager) + manager->priv->up_client = NULL; + } + ++ if (manager->priv->inhibit_lid_switch_fd != -1) { ++ close (manager->priv->inhibit_lid_switch_fd); ++ manager->priv->inhibit_lid_switch_fd = -1; ++ manager->priv->inhibit_lid_switch_taken = FALSE; ++ } ++ if (manager->priv->inhibit_suspend_fd != -1) { ++ close (manager->priv->inhibit_suspend_fd); ++ manager->priv->inhibit_suspend_fd = -1; ++ manager->priv->inhibit_suspend_taken = FALSE; ++ } ++ ++ if (manager->priv->logind_proxy != NULL) { ++ g_object_unref (manager->priv->logind_proxy); ++ manager->priv->logind_proxy = NULL; ++ } ++ + if (manager->priv->x11_screen != NULL) { + g_object_unref (manager->priv->x11_screen); + manager->priv->x11_screen = NULL; +@@ -3928,6 +4125,8 @@ static void + csd_power_manager_init (CsdPowerManager *manager) + { + manager->priv = CSD_POWER_MANAGER_GET_PRIVATE (manager); ++ manager->priv->inhibit_lid_switch_fd = -1; ++ manager->priv->inhibit_suspend_fd = -1; + } + + static void diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 888f62d0f06..99dfa78af18 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9885,7 +9885,9 @@ let cinnamon = recurseIntoAttrs rec { callPackage = newScope pkgs.cinnamon; - inherit (gnome3) gnome_common; + inherit (gnome3) gnome_common libgnomekbd; + + cinnamon-settings-daemon = callPackage ../desktops/cinnamon/cinnamon-settings-daemon.nix{ }; cinnamon-session = callPackage ../desktops/cinnamon/cinnamon-session.nix{ } ; From 6fa1ad04da125d14e78634b01295dfd482f1f4c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 12:26:29 +0200 Subject: [PATCH 725/880] nixos: extend documentation example for security.setuidOwners Show that it is possible to set custom permission bits. --- nixos/modules/security/setuid-wrappers.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/security/setuid-wrappers.nix b/nixos/modules/security/setuid-wrappers.nix index 62df85816e5..78be1cc6cde 100644 --- a/nixos/modules/security/setuid-wrappers.nix +++ b/nixos/modules/security/setuid-wrappers.nix @@ -46,6 +46,7 @@ in group = "postdrop"; setuid = false; setgid = true; + permissions = "u+rx,g+x,o+x"; } ]; description = '' From 83044b788c564cb4736c2a743480d575354c91d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Sun, 13 Apr 2014 17:21:21 +0200 Subject: [PATCH 726/880] pytest: fix for py2.6 by adding argparse as an input --- pkgs/top-level/python-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0e45f9825c3..028234a2aeb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1312,6 +1312,7 @@ rec { ''; propagatedBuildInputs = [ py ] + ++ (optional isPy26 argparse) ++ stdenv.lib.optional pkgs.config.pythonPackages.pytest.selenium or false pythonPackages.selenium; From e9a8c8417f9e3bb8eb6ff1f09528b72bf27bcc59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 9 Apr 2014 15:47:18 +0800 Subject: [PATCH 727/880] wildmidi: update to 0.3.6 --- .../libraries/wildmidi/default.nix | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/wildmidi/default.nix b/pkgs/development/libraries/wildmidi/default.nix index eb55d1d60f4..5b3f9e03ac7 100644 --- a/pkgs/development/libraries/wildmidi/default.nix +++ b/pkgs/development/libraries/wildmidi/default.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchurl, alsaLib, freepats }: +{ stdenv, fetchurl, cmake, alsaLib, freepats }: stdenv.mkDerivation rec { - name = "wildmidi-0.2.3.5"; + name = "wildmidi-0.3.6"; src = fetchurl { - url = "mirror://sourceforge/project/wildmidi/wildmidi/${name}.tar.gz"; - sha256 = "0m75753mn0rbwja180c2qk53s149wp4k35dijr2i6pa7sc12fr00"; + url = "https://github.com/Mindwerks/wildmidi/archive/${name}.tar.gz"; + sha256 = "0y8r812f8h9jqlajwbzni7f23k8kfcp4wxz3jdq75z902bsmdzpf"; }; - # NOTE: $out in configureFlags, like this: - # configureFlags = "--disable-werror --with-wildmidi-cfg=$out/etc/wildmidi.cfg"; - # is not expanded, so use this workaround: - preConfigure = '' - configureFlags="--disable-werror --with-wildmidi-cfg=$out/etc/wildmidi.cfg" - ''; + nativeBuildInputs = [ cmake ]; buildInputs = [ alsaLib ]; + preConfigure = '' + substituteInPlace CMakeLists.txt \ + --replace /etc/wildmidi $out/etc + ''; + postInstall = '' mkdir "$out"/etc echo "dir ${freepats}" > "$out"/etc/wildmidi.cfg From 57a9eaab67801d4079aaa6cc9f6bcbc583d9d0d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 13 Apr 2014 18:40:59 +0200 Subject: [PATCH 728/880] haskell: jailbreak pipes-network --- pkgs/development/libraries/haskell/pipes-network/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/haskell/pipes-network/default.nix b/pkgs/development/libraries/haskell/pipes-network/default.nix index b70527ecdad..cd62850c96d 100644 --- a/pkgs/development/libraries/haskell/pipes-network/default.nix +++ b/pkgs/development/libraries/haskell/pipes-network/default.nix @@ -7,11 +7,11 @@ cabal.mkDerivation (self: { buildDepends = [ network networkSimple pipes pipesSafe transformers ]; + jailbreak = true; meta = { homepage = "https://github.com/k0001/pipes-network"; description = "Use network sockets together with the pipes library"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; - maintainers = [ self.stdenv.lib.maintainers.ocharles ]; }; }) From e86e76e560a36bb65f4fcd4ad054c53a87824744 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 13 Apr 2014 20:49:26 +0400 Subject: [PATCH 729/880] Adding sysdig system call tracer for Linux --- pkgs/os-specific/linux/sysdig/default.nix | 41 +++++++++++++++++++ .../os-specific/linux/sysdig/default.upstream | 3 ++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 46 insertions(+) create mode 100644 pkgs/os-specific/linux/sysdig/default.nix create mode 100644 pkgs/os-specific/linux/sysdig/default.upstream diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix new file mode 100644 index 00000000000..6f5bb3869bb --- /dev/null +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -0,0 +1,41 @@ +{stdenv, fetchurl, cmake, luajit, kernel}: +let + s = # Generated upstream information + rec { + baseName="sysdig"; + version="0.1.79"; + name="${baseName}-${version}"; + hash="04ng4q859xxlpsnavx6rcgmq7frzgbzxm0p5zmdsmhz8m6hfvz7l"; + url="https://github.com/draios/sysdig/archive/0.1.79.tar.gz"; + sha256="04ng4q859xxlpsnavx6rcgmq7frzgbzxm0p5zmdsmhz8m6hfvz7l"; + }; + buildInputs = [ + cmake luajit kernel + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + + cmakeFlags = [ + "-DUSE_BUNDLED_LUAJIT=OFF" + ]; + makeFlags = [ + "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" + ]; + postInstall = '' + mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc/sysdig + cp driver/*.ko $out/lib/modules/${kernel.modDirVersion}/misc/sysdig + ''; + + meta = { + inherit (s) version; + description = ''A tracepoint-based system tracing tool for Linux''; + license = stdenv.lib.licenses.gpl2 ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/sysdig/default.upstream b/pkgs/os-specific/linux/sysdig/default.upstream new file mode 100644 index 00000000000..7071d982500 --- /dev/null +++ b/pkgs/os-specific/linux/sysdig/default.upstream @@ -0,0 +1,3 @@ +url https://github.com/draios/sysdig/releases +ensure_choice +version '.*/([0-9.]+)[.]tar[.].*' '\1' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 99dfa78af18..514a3f09bfb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7055,6 +7055,8 @@ let spl = callPackage ../os-specific/linux/spl/default.nix { }; + sysdig = callPackage ../os-specific/linux/sysdig {}; + tp_smapi = callPackage ../os-specific/linux/tp_smapi { }; v86d = callPackage ../os-specific/linux/v86d { }; From 2b9c96878caa765889588fa9aa6d9849494a8036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 19:04:28 +0200 Subject: [PATCH 730/880] qmmp: update 0.7.5 -> 0.7.6 Changes since 0.7.5: * added libav 10 and ffmpeg 2.2 support; * fixed url parsing; * fixed freezing on playback resume; * fixed random freezing in the mplayer plugin; * fixed reset selection of tracks when calling context menu; * fixed multimedia keys support under win32. --- pkgs/applications/audio/qmmp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix index 122b7ed7867..a18ef97dd60 100644 --- a/pkgs/applications/audio/qmmp/default.nix +++ b/pkgs/applications/audio/qmmp/default.nix @@ -28,11 +28,11 @@ # handle that. stdenv.mkDerivation rec { - name = "qmmp-0.7.5"; + name = "qmmp-0.7.6"; src = fetchurl { url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2"; - sha256 = "0ryg4hns5zi9swn2q4vxjya3i4drdqfzycngwzd6fdl176lswrk0"; + sha256 = "1hq08ii06lyfg516jrvxdfcjj509gvglvdlsr96aqi1fh8v4k5p9"; }; buildInputs = From a555ee2412ab0369f653c40f004e9a624193ed06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 19:16:02 +0200 Subject: [PATCH 731/880] xmlrpc-c: bump 1.25.26 -> .27 Release 1.25.27 (released March 15, 2014): Fix bug: When serializing a very large floating point number, sender of an XML-RPC message adds some junk after the decimal point. With assertion checking enabled, it just crashes. Broken in 1.15 (June 2008). --- pkgs/development/libraries/xmlrpc-c/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix index ef7a65599a9..9f578e4b9dd 100644 --- a/pkgs/development/libraries/xmlrpc-c/default.nix +++ b/pkgs/development/libraries/xmlrpc-c/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, curl }: stdenv.mkDerivation rec { - name = "xmlrpc-c-1.25.26"; + name = "xmlrpc-c-1.25.27"; src = fetchurl { url = "mirror://sourceforge/xmlrpc-c/${name}.tgz"; - sha256 = "1f82vsdkldhk1sfqyh6z0ylp5769x4fx3rnd2hw0c6fhx8swcmgj"; + sha256 = "0g9m9n258lpbs42a2lagd4h7qim1g34gkaqyx8h50qrsk49ipspn"; }; buildInputs = [ curl ]; From 99afbf9e91a187086645a99043631dc74e57ad67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 19:39:32 +0200 Subject: [PATCH 732/880] sdcc: bump 3.3.0 -> 3.4.0 This new sdcc doesn't need older boost, so switch to nixpkgs default version (currently 1.55). --- pkgs/development/compilers/sdcc/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/sdcc/default.nix b/pkgs/development/compilers/sdcc/default.nix index 1a51f087a28..fe293fbc4b8 100644 --- a/pkgs/development/compilers/sdcc/default.nix +++ b/pkgs/development/compilers/sdcc/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, bison, flex, boost, gputils ? null }: stdenv.mkDerivation rec { - version = "3.3.0"; + version = "3.4.0"; name = "sdcc-${version}"; src = fetchurl { url = "mirror://sourceforge/sdcc/sdcc-src-${version}.tar.bz2"; - sha256 = "1pj4hssvq34vbryvxc2jpp2b14cgxp695ygwiax6b7l2kvr62gw7"; + sha256 = "1yavxffqdfhdyabdza936xxh9wq4cfwa385g26gjapsdp5ighsng"; }; # TODO: remove this comment when gputils != null is tested diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 514a3f09bfb..d695253fbbf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3153,9 +3153,7 @@ let scala_2_10 = callPackage ../development/compilers/scala { }; scala = scala_2_10; - sdcc = callPackage ../development/compilers/sdcc { - boost = boost149; # sdcc 3.2.0 fails to build with boost 1.53 - }; + sdcc = callPackage ../development/compilers/sdcc { }; smlnj = callPackage_i686 ../development/compilers/smlnj { }; From 788d9a13fb313aad40e75a903feb6351b7e9b28a Mon Sep 17 00:00:00 2001 From: Austin Seipp Date: Sun, 13 Apr 2014 13:11:15 -0500 Subject: [PATCH 733/880] grsecurity: stable/vserver/testing updates - stable: 201404111812 -> 201404131252 - vserver: vs2.3.2.16-201404111814 -> vs2.3.2.16-201404131253 - testing: 201404111815 -> 201404131254 Signed-off-by: Austin Seipp --- pkgs/os-specific/linux/kernel/patches.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 267e5657e6c..c28a3ad3400 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -86,23 +86,23 @@ rec { grsecurity_stable = grsecPatch { kversion = "3.2.57"; - revision = "201404111812"; + revision = "201404131252"; branch = "stable"; - sha256 = "1kp2f5g5jdl6r833fm5l2sgf7qsjddl2br7mislc37iqgwzjmhlx"; + sha256 = "1yic257h2vy3175c34i54873lc93y0m57rw1d059wz1wxy9waiwl"; }; grsecurity_vserver = grsecPatch { kversion = "3.2.57"; - revision = "vs2.3.2.16-201404111814"; + revision = "vs2.3.2.16-201404131253"; branch = "vserver"; - sha256 = "025kxk4j8kx7v5gmpafls67747l39ssfmzh0drg0hyg2yc0hjk2c"; + sha256 = "0grhd9hbk952dwr91syi5pda1iccmcd8s0l3ki13689z8ns35f7k"; }; grsecurity_unstable = grsecPatch { kversion = "3.13.9"; - revision = "201404111815"; + revision = "201404131254"; branch = "test"; - sha256 = "1ikqvi0hv32m5rgxa8dpqr5v84hx7bnjfr6c1bvsfqikc818isvy"; + sha256 = "1qslkmqz25rlag0dvv481ka7yylfhmpx7mhzbv9qdaynx5s59l3v"; }; grsec_fix_path = From 694eb12f5f3ae862e671c9ae315ff68bc6b4386e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 20:18:38 +0200 Subject: [PATCH 734/880] apcupsd: bump 3.14.11 -> 3.14.12 (latest stable) Release notes: http://sourceforge.net/p/apcupsd/svn/HEAD/tree/tags/Release-3_14_12/ReleaseNotes --- pkgs/servers/apcupsd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix index 6489d4dceff..8e25bdd87f0 100644 --- a/pkgs/servers/apcupsd/default.nix +++ b/pkgs/servers/apcupsd/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { pname = "apcupsd"; - name = "${pname}-3.14.11"; + name = "${pname}-3.14.12"; src = fetchurl { url = "mirror://sourceforge/${pname}/${name}.tar.gz"; - sha256 = "0wrb8vdc872f1x0gw21b5c81h0vxvsc7yks5qzbq2j3hkbl2vixd"; + sha256 = "0h54ahj65nqrgmdcg81h1gp0zlxg9hwwhg8pmx6z9zcwn4y70kqv"; }; buildInputs = [ pkgconfig utillinux man ] ++ stdenv.lib.optional enableCgiScripts gd; From 1d896c47c98516a727d25f90a11ea9910c2b293f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 20:28:43 +0200 Subject: [PATCH 735/880] apcupsd: add missing assert --- pkgs/servers/apcupsd/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix index 8e25bdd87f0..ad8685d3d42 100644 --- a/pkgs/servers/apcupsd/default.nix +++ b/pkgs/servers/apcupsd/default.nix @@ -2,6 +2,8 @@ , enableCgiScripts ? true, gd }: +assert enableCgiScripts -> gd != null; + stdenv.mkDerivation rec { pname = "apcupsd"; name = "${pname}-3.14.12"; From 9878bb47a41db4e50d308a398ba6b743083269b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 21:11:49 +0200 Subject: [PATCH 736/880] buildbot{,slave}: bump 0.8.7p1 -> 0.8.8 Build and run tested. --- .../tools/build-managers/buildbot-slave/default.nix | 4 ++-- pkgs/development/tools/build-managers/buildbot/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/build-managers/buildbot-slave/default.nix b/pkgs/development/tools/build-managers/buildbot-slave/default.nix index b28c4d9296f..f21be7cc48c 100644 --- a/pkgs/development/tools/build-managers/buildbot-slave/default.nix +++ b/pkgs/development/tools/build-managers/buildbot-slave/default.nix @@ -1,12 +1,12 @@ { stdenv, buildPythonPackage, fetchurl, coreutils, twisted }: buildPythonPackage (rec { - name = "buildbot-slave-0.8.7p1"; + name = "buildbot-slave-0.8.8"; namePrefix = ""; src = fetchurl { url = "http://buildbot.googlecode.com/files/${name}.tar.gz"; - sha256 = "1p7a0srab6ifljh9vi25awvxfrxljj9s0hi1jipiiykyhjihgnxv"; + sha256 = "1k1pk3y0rk6j01wc491jblryr4ajqg1ing9m3sjaw9s5sga34xcb"; }; patchPhase = '' diff --git a/pkgs/development/tools/build-managers/buildbot/default.nix b/pkgs/development/tools/build-managers/buildbot/default.nix index c872d67146b..2d7c63fdc7d 100644 --- a/pkgs/development/tools/build-managers/buildbot/default.nix +++ b/pkgs/development/tools/build-managers/buildbot/default.nix @@ -9,12 +9,12 @@ assert enableDebugClient -> pygobject != null && pyGtkGlade != null; buildPythonPackage (rec { - name = "buildbot-0.8.7p1"; + name = "buildbot-0.8.8"; namePrefix = ""; src = fetchurl { url = "http://buildbot.googlecode.com/files/${name}.tar.gz"; - sha256 = "0xjpk8510fhryl1g4mczz319h62il8hw9rh1rzvsfmffgf43zvld"; + sha256 = "1l1rsy82zv8582wypw00ac0k0wsr82ky74f3np4clbrxv3ry64sh"; }; patchPhase = From d5775a5ef934cce8bdabb0878eeae307e919a81b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 21:23:08 +0200 Subject: [PATCH 737/880] duply: upgrade 1.6.0 -> 1.7.3 Changes since 1.6.0: 1.7.3 (3.4.2014) - bugfix: test routines, gpg2 asked for passphrase although GPG_PW was set 1.7.2 (1.4.2014 "April,April") - bugfix: debian Bug#743190 "duply no longer allows restoration without gpg passphrase in conf file" GPG_AGENT_INFO env var is now needed to trigger --use-agent - bugfix: gpg keyenc test routines didn't work if GPG_PW was not set 1.7.1 (30.3.2014) - bugfix: purge-* commands renamed to purgeFull, purgeIncr due to incompatibility with new minus batch separator 1.7.0 (20.3.2014) - disabled gpg key id plausibility check, too many valid possibilities - featreq 7 "Halt if precondition fails": added and(+), or(-) batch command(separator) support - featreq 26 "pre/post script with shebang line": if a script is flagged executable it's executed in a subshell now as opposed to sourced to bash, which is the default - bugfix: do not check if dpbx, swift credentials are set anymore - bugfix: properly escape profile name, archdir if used as arguments - add DUPL_PRECMD conf setting for use with e.g. trickle --- pkgs/tools/backup/duply/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix index 91718fc02f7..73ef23059f4 100644 --- a/pkgs/tools/backup/duply/default.nix +++ b/pkgs/tools/backup/duply/default.nix @@ -3,11 +3,11 @@ }: stdenv.mkDerivation { - name = "duply-1.6.0"; + name = "duply-1.7.3"; src = fetchurl { - url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.6.x/duply_1.6.0.tgz"; - sha256 = "1i1yy4z6fcf3lq2k72cqcyqspm7pa1m949f8l9yscjm47bwp5g8f"; + url = "mirror://sourceforge/project/ftplicity/duply%20%28simple%20duplicity%29/1.7.x/duply_1.7.3.tgz"; + sha256 = "1lq5gwz69l8g4ki4anvmjdngbs9nin124j1zb9kbcnqj0s5jkbp0"; }; buildInputs = [ txt2man makeWrapper ]; From 641ea31345eed2a0806ce984e4a6b79d0b7ee0f5 Mon Sep 17 00:00:00 2001 From: Roelof Wobben Date: Sun, 13 Apr 2014 21:46:48 +0200 Subject: [PATCH 738/880] new package: cinnamon-control-center --- .../cinnamon/cinnamon-control-center.nix | 40 + pkgs/desktops/cinnamon/region.patch | 5314 +++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +- 3 files changed, 5358 insertions(+), 2 deletions(-) create mode 100644 pkgs/desktops/cinnamon/cinnamon-control-center.nix create mode 100644 pkgs/desktops/cinnamon/region.patch diff --git a/pkgs/desktops/cinnamon/cinnamon-control-center.nix b/pkgs/desktops/cinnamon/cinnamon-control-center.nix new file mode 100644 index 00000000000..ab2f389b4f5 --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-control-center.nix @@ -0,0 +1,40 @@ + +{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, cinnamon-desktop, intltool, libxslt, gtk3, libnotify, +gnome-menus, libxml2, systemd, upower, cinnamon-settings-daemon, colord, polkit, ibus, libcanberra_gtk3, pulseaudio, isocodes, krb5, +libxkbfile}: + +let + version = "2.0.9"; +in +stdenv.mkDerivation { + name = "cinnamon-control-center-${version}"; + + src = fetchurl { + url = "http://github.com/linuxmint/cinnamon-control-center/archive/${version}.tar.gz"; + sha256 = "0kivqdgsf8w257j2ja6fap0dpvljcnb9gphr3knp7y6ma2d1gfv3"; + }; + + configureFlags = "--enable-systemd --disable-update-mimedb" ; + + patches = [ ./region.patch]; + + buildInputs = [ + pkgconfig autoreconfHook + glib gettext gnome_common + intltool libxslt gtk3 cinnamon-desktop + libnotify gnome-menus libxml2 systemd + upower cinnamon-settings-daemon colord + polkit ibus libcanberra_gtk3 pulseaudio + isocodes krb5 libxkbfile ]; + + preBuild = "patchShebangs ./scripts"; + + meta = { + homepage = "http://cinnamon.linuxmint.com"; + description = "The cinnamon session files" ; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.roelof ]; + }; +} + diff --git a/pkgs/desktops/cinnamon/region.patch b/pkgs/desktops/cinnamon/region.patch new file mode 100644 index 00000000000..7b8133e820e --- /dev/null +++ b/pkgs/desktops/cinnamon/region.patch @@ -0,0 +1,5314 @@ + +diff -uNrp a/configure.ac b/configure.ac +--- a/configure.ac 2013-08-25 14:40:14.000000000 +0100 ++++ b/configure.ac 2013-08-25 16:50:30.000000000 +0100 +@@ -82,6 +82,22 @@ else + SYSTEMD= + fi + ++# IBus support ++IBUS_REQUIRED_VERSION=1.4.2 ++ ++#AC_ARG_ENABLE(ibus, ++# AS_HELP_STRING([--disable-ibus], ++# [Disable IBus support]), ++# enable_ibus=$enableval, ++# enable_ibus=yes) ++enable_ibus=yes ++#if test "x$enable_ibus" = "xyes" ; then ++IBUS_MODULE="ibus-1.0 >= $IBUS_REQUIRED_VERSION" ++AC_DEFINE(HAVE_IBUS, 1, [Defined if IBus support is enabled]) ++#else ++# IBUS_MODULE= ++#fi ++ + dnl ============================================== + dnl Check that we meet the dependencies + dnl ============================================== +@@ -119,9 +135,10 @@ PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON + PKG_CHECK_MODULES(POWER_PANEL, $COMMON_MODULES upower-glib >= 0.9.1 + cinnamon-settings-daemon >= $CSD_REQUIRED_VERSION) + PKG_CHECK_MODULES(COLOR_PANEL, $COMMON_MODULES colord >= 0.1.8) +-PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES libgnomekbd >= 2.91.91 ++PKG_CHECK_MODULES(REGION_PANEL, $COMMON_MODULES + polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION +- libxklavier >= 5.1 libgnomekbdui >= 2.91.91) ++ cinnamon-desktop >= $CINNAMON_DESKTOP_REQUIRED_VERSION ++ $IBUS_MODULE) + PKG_CHECK_MODULES(SCREEN_PANEL, $COMMON_MODULES) + PKG_CHECK_MODULES(SOUND_PANEL, $COMMON_MODULES libxml-2.0 + libcanberra-gtk3 >= $CANBERRA_REQUIRED_VERSION +diff -uNrp a/panels/region/cc-region-panel.c b/panels/region/cc-region-panel.c +--- a/panels/region/cc-region-panel.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cc-region-panel.c 2013-09-21 13:24:15.329949897 +0100 +@@ -18,17 +18,18 @@ + * Author: Sergey Udaltsov + * + */ +-#include "config.h" ++ + #include "cc-region-panel.h" ++#include + #include + #include + +-#include "cinnamon-region-panel-xkb.h" ++#include "cinnamon-region-panel-input.h" + #include "cinnamon-region-panel-lang.h" + #include "cinnamon-region-panel-formats.h" + #include "cinnamon-region-panel-system.h" + +-G_DEFINE_DYNAMIC_TYPE (CcRegionPanel, cc_region_panel, CC_TYPE_PANEL) ++CC_PANEL_REGISTER (CcRegionPanel, cc_region_panel) + + #define REGION_PANEL_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_REGION_PANEL, CcRegionPanelPrivate)) + +@@ -48,14 +49,6 @@ enum { + SYSTEM_PAGE + }; + +- +-static gboolean +-languages_link_cb (GtkButton *button, gpointer user_data) +-{ +- g_spawn_command_line_async ("gnome-language-selector", NULL); +- return TRUE; +-} +- + static void + cc_region_panel_set_page (CcRegionPanel *panel, + const char *page) +@@ -116,13 +109,22 @@ cc_region_panel_finalize (GObject * obje + G_OBJECT_CLASS (cc_region_panel_parent_class)->finalize (object); + } + ++static const char * ++cc_region_panel_get_help_uri (CcPanel *panel) ++{ ++ return "help:gnome-help/prefs-language"; ++} ++ + static void + cc_region_panel_class_init (CcRegionPanelClass * klass) + { + GObjectClass *object_class = G_OBJECT_CLASS (klass); ++ CcPanelClass * panel_class = CC_PANEL_CLASS (klass); + + g_type_class_add_private (klass, sizeof (CcRegionPanelPrivate)); + ++ panel_class->get_help_uri = cc_region_panel_get_help_uri; ++ + object_class->set_property = cc_region_panel_set_property; + object_class->finalize = cc_region_panel_finalize; + +@@ -130,22 +132,14 @@ cc_region_panel_class_init (CcRegionPane + } + + static void +-cc_region_panel_class_finalize (CcRegionPanelClass * klass) +-{ +-} +- +-static void + cc_region_panel_init (CcRegionPanel * self) + { + CcRegionPanelPrivate *priv; + GtkWidget *prefs_widget; +- const char *desktop; + GError *error = NULL; + + priv = self->priv = REGION_PANEL_PRIVATE (self); + +- desktop = g_getenv ("XDG_CURRENT_DESKTOP"); +- + priv->builder = gtk_builder_new (); + gtk_builder_set_translation_domain (priv->builder, GETTEXT_PACKAGE); + gtk_builder_add_from_file (priv->builder, +@@ -157,29 +151,16 @@ cc_region_panel_init (CcRegionPanel * se + return; + } + +- prefs_widget = (GtkWidget *) gtk_builder_get_object (priv->builder, +- "region_notebook"); +- ++ prefs_widget = (GtkWidget *) gtk_builder_get_object (priv->builder, ++ "region_notebook"); + gtk_widget_set_size_request (GTK_WIDGET (prefs_widget), -1, 400); + + gtk_widget_reparent (prefs_widget, GTK_WIDGET (self)); + +- setup_xkb_tabs (priv->builder); +- +- setup_language (priv->builder); +- setup_formats (priv->builder); +- setup_system (priv->builder); +- +- /* set screen link */ +- +- GtkWidget *widget = GTK_WIDGET (gtk_builder_get_object (self->priv->builder, +- "get_languages_button")); +- +- gtk_button_set_label (GTK_BUTTON (widget), _("Get more languages...")); +- +- g_signal_connect (widget, "clicked", +- G_CALLBACK (languages_link_cb), +- self); ++ setup_input_tabs (priv->builder, self); ++ setup_language (priv->builder); ++ setup_formats (priv->builder); ++ setup_system (priv->builder); + } + + void +@@ -187,6 +168,7 @@ cc_region_panel_register (GIOModule * mo + { + bindtextdomain (GETTEXT_PACKAGE, "/usr/share/cinnamon/locale"); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); ++ + cc_region_panel_register_type (G_TYPE_MODULE (module)); + g_io_extension_point_implement (CC_SHELL_PANEL_EXTENSION_POINT, + CC_TYPE_REGION_PANEL, +diff -uNrp a/panels/region/cinnamon-region-panel-formats.h b/panels/region/cinnamon-region-panel-formats.h +--- a/panels/region/cinnamon-region-panel-formats.h 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-formats.h 2013-09-21 13:24:15.332949789 +0100 +@@ -19,8 +19,8 @@ + * 02110-1335, USA. + */ + +-#ifndef __GNOME_REGION_PANEL_FORMATS_H +-#define __GNOME_REGION_PANEL_FORMATS_H ++#ifndef __CINNAMON_REGION_PANEL_FORMATS_H ++#define __CINNAMON_REGION_PANEL_FORMATS_H + + #include + +diff -uNrp a/panels/region/cinnamon-region-panel-input.c b/panels/region/cinnamon-region-panel-input.c +--- a/panels/region/cinnamon-region-panel-input.c 1970-01-01 01:00:00.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-input.c 2013-09-21 13:24:15.338949572 +0100 +@@ -0,0 +1,1563 @@ ++/* ++ * Copyright (C) 2011 Red Hat, Inc. ++ * ++ * Written by: Matthias Clasen ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#include ++ ++#include ++ ++#include ++#include ++#include ++ ++#define GNOME_DESKTOP_USE_UNSTABLE_API ++#include ++ ++#ifdef HAVE_IBUS ++#include ++#endif ++ ++#include "gdm-languages.h" ++#include "cinnamon-region-panel-input.h" ++ ++#define WID(s) GTK_WIDGET(gtk_builder_get_object (builder, s)) ++ ++#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.cinnamon.desktop.input-sources" ++ ++#define KEY_CURRENT_INPUT_SOURCE "current" ++#define KEY_INPUT_SOURCES "sources" ++ ++#define INPUT_SOURCE_TYPE_XKB "xkb" ++#define INPUT_SOURCE_TYPE_IBUS "ibus" ++ ++enum { ++ NAME_COLUMN, ++ TYPE_COLUMN, ++ ID_COLUMN, ++ SETUP_COLUMN, ++ N_COLUMNS ++}; ++ ++static GSettings *input_sources_settings = NULL; ++static GnomeXkbInfo *xkb_info = NULL; ++static GtkWidget *input_chooser = NULL; /* weak pointer */ ++ ++#ifdef HAVE_IBUS ++static IBusBus *ibus = NULL; ++static GHashTable *ibus_engines = NULL; ++static GCancellable *ibus_cancellable = NULL; ++static guint shell_name_watch_id = 0; ++ ++static const gchar *supported_ibus_engines[] = { ++ /* Simplified Chinese */ ++ "pinyin", ++ "bopomofo", ++ "wubi", ++ "erbi", ++ /* Default in Fedora, where ibus-libpinyin replaces ibus-pinyin */ ++ "libpinyin", ++ "libbopomofo", ++ ++ /* Traditional Chinese */ ++ /* https://bugzilla.gnome.org/show_bug.cgi?id=680840 */ ++ "chewing", ++ "cangjie5", ++ "cangjie3", ++ "quick5", ++ "quick3", ++ "stroke5", ++ ++ /* Japanese */ ++ "anthy", ++ "mozc-jp", ++ "skk", ++ ++ /* Korean */ ++ "hangul", ++ ++ /* Thai */ ++ "m17n:th:kesmanee", ++ "m17n:th:pattachote", ++ "m17n:th:tis820", ++ ++ /* Vietnamese */ ++ "m17n:vi:tcvn", ++ "m17n:vi:telex", ++ "m17n:vi:viqr", ++ "m17n:vi:vni", ++ "Unikey", ++ ++ /* Sinhala */ ++ "m17n:si:wijesekera", ++ "m17n:si:phonetic-dynamic", ++ "m17n:si:trans", ++ "sayura", ++ ++ /* Indic */ ++ /* https://fedoraproject.org/wiki/I18N/Indic#Keyboard_Layouts */ ++ ++ /* Assamese */ ++ "m17n:as:phonetic", ++ "m17n:as:inscript", ++ "m17n:as:itrans", ++ ++ /* Bengali */ ++ "m17n:bn:inscript", ++ "m17n:bn:itrans", ++ "m17n:bn:probhat", ++ ++ /* Gujarati */ ++ "m17n:gu:inscript", ++ "m17n:gu:itrans", ++ "m17n:gu:phonetic", ++ ++ /* Hindi */ ++ "m17n:hi:inscript", ++ "m17n:hi:itrans", ++ "m17n:hi:phonetic", ++ "m17n:hi:remington", ++ "m17n:hi:typewriter", ++ "m17n:hi:vedmata", ++ ++ /* Kannada */ ++ "m17n:kn:kgp", ++ "m17n:kn:inscript", ++ "m17n:kn:itrans", ++ ++ /* Kashmiri */ ++ "m17n:ks:inscript", ++ ++ /* Maithili */ ++ "m17n:mai:inscript", ++ ++ /* Malayalam */ ++ "m17n:ml:inscript", ++ "m17n:ml:itrans", ++ "m17n:ml:mozhi", ++ "m17n:ml:swanalekha", ++ ++ /* Marathi */ ++ "m17n:mr:inscript", ++ "m17n:mr:itrans", ++ "m17n:mr:phonetic", ++ ++ /* Nepali */ ++ "m17n:ne:rom", ++ "m17n:ne:trad", ++ ++ /* Oriya */ ++ "m17n:or:inscript", ++ "m17n:or:itrans", ++ "m17n:or:phonetic", ++ ++ /* Punjabi */ ++ "m17n:pa:inscript", ++ "m17n:pa:itrans", ++ "m17n:pa:phonetic", ++ "m17n:pa:jhelum", ++ ++ /* Sanskrit */ ++ "m17n:sa:harvard-kyoto", ++ ++ /* Sindhi */ ++ "m17n:sd:inscript", ++ ++ /* Tamil */ ++ "m17n:ta:tamil99", ++ "m17n:ta:inscript", ++ "m17n:ta:itrans", ++ "m17n:ta:phonetic", ++ "m17n:ta:lk-renganathan", ++ "m17n:ta:vutam", ++ "m17n:ta:typewriter", ++ ++ /* Telugu */ ++ "m17n:te:inscript", ++ "m17n:te:apple", ++ "m17n:te:pothana", ++ "m17n:te:rts", ++ ++ /* Urdu */ ++ "m17n:ur:phonetic", ++ ++ /* Inscript2 - https://bugzilla.gnome.org/show_bug.cgi?id=684854 */ ++ "m17n:as:inscript2", ++ "m17n:bn:inscript2", ++ "m17n:brx:inscript2-deva", ++ "m17n:doi:inscript2-deva", ++ "m17n:gu:inscript2", ++ "m17n:hi:inscript2", ++ "m17n:kn:inscript2", ++ "m17n:kok:inscript2-deva", ++ "m17n:mai:inscript2", ++ "m17n:ml:inscript2", ++ "m17n:mni:inscript2-beng", ++ "m17n:mni:inscript2-mtei", ++ "m17n:mr:inscript2", ++ "m17n:ne:inscript2-deva", ++ "m17n:or:inscript2", ++ "m17n:pa:inscript2-guru", ++ "m17n:sa:inscript2", ++ "m17n:sat:inscript2-deva", ++ "m17n:sat:inscript2-olck", ++ "m17n:sd:inscript2-deva", ++ "m17n:ta:inscript2", ++ "m17n:te:inscript2", ++ ++ /* No corresponding XKB map available for the languages */ ++ ++ /* Chinese Yi */ ++ "m17n:ii:phonetic", ++ ++ /* Tai-Viet */ ++ "m17n:tai:sonla", ++ ++ /* Kazakh in Arabic script */ ++ "m17n:kk:arabic", ++ ++ /* Yiddish */ ++ "m17n:yi:yivo", ++ ++ /* Canadian Aboriginal languages */ ++ "m17n:ath:phonetic", ++ "m17n:bla:phonetic", ++ "m17n:cr:western", ++ "m17n:iu:phonetic", ++ "m17n:nsk:phonetic", ++ "m17n:oj:phonetic", ++ ++ /* Non-trivial engines, like transliteration-based instead of ++ keymap-based. Confirmation needed that the engines below are ++ actually used by local language users. */ ++ ++ /* Tibetan */ ++ "m17n:bo:ewts", ++ "m17n:bo:tcrc", ++ "m17n:bo:wylie", ++ ++ /* Esperanto */ ++ "m17n:eo:h-f", ++ "m17n:eo:h", ++ "m17n:eo:plena", ++ "m17n:eo:q", ++ "m17n:eo:vi", ++ "m17n:eo:x", ++ ++ /* Amharic */ ++ "m17n:am:sera", ++ ++ /* Russian */ ++ "m17n:ru:translit", ++ ++ /* Classical Greek */ ++ "m17n:grc:mizuochi", ++ ++ /* Lao */ ++ "m17n:lo:lrt", ++ ++ /* Postfix modifier input methods */ ++ "m17n:da:post", ++ "m17n:sv:post", ++ NULL ++}; ++#endif /* HAVE_IBUS */ ++ ++static void populate_model (GtkListStore *store, ++ GtkListStore *active_sources_store); ++static GtkWidget *input_chooser_new (GtkWindow *main_window, ++ GtkListStore *active_sources); ++static gboolean input_chooser_get_selected (GtkWidget *chooser, ++ GtkTreeModel **model, ++ GtkTreeIter *iter); ++static GtkTreeModel *tree_view_get_actual_model (GtkTreeView *tv); ++ ++static gboolean ++strv_contains (const gchar * const *strv, ++ const gchar *str) ++{ ++ const gchar * const *p = strv; ++ for (p = strv; *p; p++) ++ if (g_strcmp0 (*p, str) == 0) ++ return TRUE; ++ ++ return FALSE; ++} ++ ++#ifdef HAVE_IBUS ++static void ++clear_ibus (void) ++{ ++ if (shell_name_watch_id > 0) ++ { ++ g_bus_unwatch_name (shell_name_watch_id); ++ shell_name_watch_id = 0; ++ } ++ g_cancellable_cancel (ibus_cancellable); ++ g_clear_object (&ibus_cancellable); ++ g_clear_pointer (&ibus_engines, g_hash_table_destroy); ++ g_clear_object (&ibus); ++} ++ ++static gchar * ++engine_get_display_name (IBusEngineDesc *engine_desc) ++{ ++ const gchar *name; ++ const gchar *language_code; ++ const gchar *language; ++ gchar *display_name; ++ ++ name = ibus_engine_desc_get_longname (engine_desc); ++ language_code = ibus_engine_desc_get_language (engine_desc); ++ language = ibus_get_language_name (language_code); ++ ++ display_name = g_strdup_printf ("%s (%s)", language, name); ++ ++ return display_name; ++} ++ ++static GDesktopAppInfo * ++setup_app_info_for_id (const gchar *id) ++{ ++ GDesktopAppInfo *app_info; ++ gchar *desktop_file_name; ++ gchar **strv; ++ ++ strv = g_strsplit (id, ":", 2); ++ desktop_file_name = g_strdup_printf ("ibus-setup-%s.desktop", strv[0]); ++ g_strfreev (strv); ++ ++ app_info = g_desktop_app_info_new (desktop_file_name); ++ g_free (desktop_file_name); ++ ++ return app_info; ++} ++ ++static void ++input_chooser_repopulate (GtkListStore *active_sources_store) ++{ ++ GtkBuilder *builder; ++ GtkListStore *model; ++ ++ if (!input_chooser) ++ return; ++ ++ builder = g_object_get_data (G_OBJECT (input_chooser), "builder"); ++ model = GTK_LIST_STORE (gtk_builder_get_object (builder, "input_source_model")); ++ ++ gtk_list_store_clear (model); ++ populate_model (model, active_sources_store); ++} ++ ++static void ++update_ibus_active_sources (GtkBuilder *builder) ++{ ++ GtkTreeView *tv; ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ gchar *type, *id; ++ gboolean ret; ++ ++ tv = GTK_TREE_VIEW (WID ("active_input_sources")); ++ model = tree_view_get_actual_model (tv); ++ ++ ret = gtk_tree_model_get_iter_first (model, &iter); ++ while (ret) ++ { ++ gtk_tree_model_get (model, &iter, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) ++ { ++ IBusEngineDesc *engine_desc = NULL; ++ GDesktopAppInfo *app_info = NULL; ++ gchar *display_name = NULL; ++ ++ engine_desc = g_hash_table_lookup (ibus_engines, id); ++ if (engine_desc) ++ { ++ display_name = engine_get_display_name (engine_desc); ++ app_info = setup_app_info_for_id (id); ++ ++ gtk_list_store_set (GTK_LIST_STORE (model), &iter, ++ NAME_COLUMN, display_name, ++ SETUP_COLUMN, app_info, ++ -1); ++ g_free (display_name); ++ if (app_info) ++ g_object_unref (app_info); ++ } ++ } ++ ++ g_free (type); ++ g_free (id); ++ ++ ret = gtk_tree_model_iter_next (model, &iter); ++ } ++ ++ input_chooser_repopulate (GTK_LIST_STORE (model)); ++} ++ ++static void ++fetch_ibus_engines_result (GObject *object, ++ GAsyncResult *result, ++ GtkBuilder *builder) ++{ ++ gboolean show_all_sources; ++ GList *list, *l; ++ GError *error; ++ ++ error = NULL; ++ list = ibus_bus_list_engines_async_finish (ibus, result, &error); ++ ++ g_clear_object (&ibus_cancellable); ++ ++ if (!list && error) ++ { ++ g_warning ("Couldn't finish IBus request: %s", error->message); ++ g_error_free (error); ++ return; ++ } ++ ++ show_all_sources = g_settings_get_boolean (input_sources_settings, "show-all-sources"); ++ ++ /* Maps engine ids to engine description objects */ ++ ibus_engines = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); ++ ++ for (l = list; l; l = l->next) ++ { ++ IBusEngineDesc *engine = l->data; ++ const gchar *engine_id = ibus_engine_desc_get_name (engine); ++ ++ if (show_all_sources || strv_contains (supported_ibus_engines, engine_id)) ++ g_hash_table_replace (ibus_engines, (gpointer)engine_id, engine); ++ else ++ g_object_unref (engine); ++ } ++ g_list_free (list); ++ ++ update_ibus_active_sources (builder); ++} ++ ++static void ++fetch_ibus_engines (GtkBuilder *builder) ++{ ++ ibus_cancellable = g_cancellable_new (); ++ ++ ibus_bus_list_engines_async (ibus, ++ -1, ++ ibus_cancellable, ++ (GAsyncReadyCallback)fetch_ibus_engines_result, ++ builder); ++ ++ /* We've got everything we needed, don't want to be called again. */ ++ g_signal_handlers_disconnect_by_func (ibus, fetch_ibus_engines, builder); ++} ++ ++static void ++maybe_start_ibus (void) ++{ ++ /* IBus doesn't export API in the session bus. The only thing ++ * we have there is a well known name which we can use as a ++ * sure-fire way to activate it. */ ++ g_bus_unwatch_name (g_bus_watch_name (G_BUS_TYPE_SESSION, ++ IBUS_SERVICE_IBUS, ++ G_BUS_NAME_WATCHER_FLAGS_AUTO_START, ++ NULL, ++ NULL, ++ NULL, ++ NULL)); ++} ++ ++static void ++on_shell_appeared (GDBusConnection *connection, ++ const gchar *name, ++ const gchar *name_owner, ++ gpointer data) ++{ ++ GtkBuilder *builder = data; ++ ++ if (!ibus) ++ { ++ ibus = ibus_bus_new (); ++ if (ibus_bus_is_connected (ibus)) ++ fetch_ibus_engines (builder); ++ else ++ g_signal_connect_swapped (ibus, "connected", ++ G_CALLBACK (fetch_ibus_engines), builder); ++ } ++ maybe_start_ibus (); ++} ++#endif /* HAVE_IBUS */ ++ ++static gboolean ++add_source_to_table (GtkTreeModel *model, ++ GtkTreePath *path, ++ GtkTreeIter *iter, ++ gpointer data) ++{ ++ GHashTable *hash = data; ++ gchar *type; ++ gchar *id; ++ ++ gtk_tree_model_get (model, iter, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ ++ g_hash_table_add (hash, g_strconcat (type, id, NULL)); ++ ++ g_free (type); ++ g_free (id); ++ ++ return FALSE; ++} ++ ++static void ++populate_model (GtkListStore *store, ++ GtkListStore *active_sources_store) ++{ ++ GHashTable *active_sources_table; ++ GtkTreeIter iter; ++ const gchar *name; ++ GList *sources, *tmp; ++ gchar *source_id = NULL; ++ ++ active_sources_table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); ++ ++ gtk_tree_model_foreach (GTK_TREE_MODEL (active_sources_store), ++ add_source_to_table, ++ active_sources_table); ++ ++ sources = gnome_xkb_info_get_all_layouts (xkb_info); ++ ++ for (tmp = sources; tmp; tmp = tmp->next) ++ { ++ g_free (source_id); ++ source_id = g_strconcat (INPUT_SOURCE_TYPE_XKB, tmp->data, NULL); ++ ++ if (g_hash_table_contains (active_sources_table, source_id)) ++ continue; ++ ++ gnome_xkb_info_get_layout_info (xkb_info, (const gchar *)tmp->data, ++ &name, NULL, NULL, NULL); ++ ++ gtk_list_store_append (store, &iter); ++ gtk_list_store_set (store, &iter, ++ NAME_COLUMN, name, ++ TYPE_COLUMN, INPUT_SOURCE_TYPE_XKB, ++ ID_COLUMN, tmp->data, ++ -1); ++ } ++ g_free (source_id); ++ ++ g_list_free (sources); ++ ++#ifdef HAVE_IBUS ++ if (ibus_engines) ++ { ++ gchar *display_name; ++ ++ sources = g_hash_table_get_keys (ibus_engines); ++ ++ source_id = NULL; ++ for (tmp = sources; tmp; tmp = tmp->next) ++ { ++ g_free (source_id); ++ source_id = g_strconcat (INPUT_SOURCE_TYPE_IBUS, tmp->data, NULL); ++ ++ if (g_hash_table_contains (active_sources_table, source_id)) ++ continue; ++ ++ display_name = engine_get_display_name (g_hash_table_lookup (ibus_engines, tmp->data)); ++ ++ gtk_list_store_append (store, &iter); ++ gtk_list_store_set (store, &iter, ++ NAME_COLUMN, display_name, ++ TYPE_COLUMN, INPUT_SOURCE_TYPE_IBUS, ++ ID_COLUMN, tmp->data, ++ -1); ++ g_free (display_name); ++ } ++ g_free (source_id); ++ ++ g_list_free (sources); ++ } ++#endif ++ ++ g_hash_table_destroy (active_sources_table); ++} ++ ++static void ++populate_with_active_sources (GtkListStore *store) ++{ ++ GVariant *sources; ++ GVariantIter iter; ++ const gchar *name; ++ const gchar *type; ++ const gchar *id; ++ gchar *display_name; ++ GDesktopAppInfo *app_info; ++ GtkTreeIter tree_iter; ++ ++ sources = g_settings_get_value (input_sources_settings, KEY_INPUT_SOURCES); ++ ++ g_variant_iter_init (&iter, sources); ++ while (g_variant_iter_next (&iter, "(&s&s)", &type, &id)) ++ { ++ display_name = NULL; ++ app_info = NULL; ++ ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB)) ++ { ++ gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL); ++ if (!name) ++ { ++ g_warning ("Couldn't find XKB input source '%s'", id); ++ continue; ++ } ++ display_name = g_strdup (name); ++ } ++ else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) ++ { ++#ifdef HAVE_IBUS ++ IBusEngineDesc *engine_desc = NULL; ++ ++ if (ibus_engines) ++ engine_desc = g_hash_table_lookup (ibus_engines, id); ++ ++ if (engine_desc) ++ { ++ display_name = engine_get_display_name (engine_desc); ++ app_info = setup_app_info_for_id (id); ++ } ++#else ++ g_warning ("IBus input source type specified but IBus support was not compiled"); ++ continue; ++#endif ++ } ++ else ++ { ++ g_warning ("Unknown input source type '%s'", type); ++ continue; ++ } ++ ++ gtk_list_store_append (store, &tree_iter); ++ gtk_list_store_set (store, &tree_iter, ++ NAME_COLUMN, display_name, ++ TYPE_COLUMN, type, ++ ID_COLUMN, id, ++ SETUP_COLUMN, app_info, ++ -1); ++ g_free (display_name); ++ if (app_info) ++ g_object_unref (app_info); ++ } ++ ++ g_variant_unref (sources); ++} ++ ++static void ++update_configuration (GtkTreeModel *model) ++{ ++ GtkTreeIter iter; ++ gchar *type; ++ gchar *id; ++ GVariantBuilder builder; ++ GVariant *old_sources; ++ const gchar *old_current_type; ++ const gchar *old_current_id; ++ guint old_current_index; ++ guint old_n_sources; ++ guint index; ++ ++ old_sources = g_settings_get_value (input_sources_settings, KEY_INPUT_SOURCES); ++ old_current_index = g_settings_get_uint (input_sources_settings, KEY_CURRENT_INPUT_SOURCE); ++ old_n_sources = g_variant_n_children (old_sources); ++ ++ if (old_n_sources > 0 && old_current_index < old_n_sources) ++ { ++ g_variant_get_child (old_sources, ++ old_current_index, ++ "(&s&s)", ++ &old_current_type, ++ &old_current_id); ++ } ++ else ++ { ++ old_current_type = ""; ++ old_current_id = ""; ++ } ++ ++ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)")); ++ index = 0; ++ gtk_tree_model_get_iter_first (model, &iter); ++ do ++ { ++ gtk_tree_model_get (model, &iter, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ if (index != old_current_index && ++ g_str_equal (type, old_current_type) && ++ g_str_equal (id, old_current_id)) ++ { ++ g_settings_set_uint (input_sources_settings, KEY_CURRENT_INPUT_SOURCE, index); ++ } ++ g_variant_builder_add (&builder, "(ss)", type, id); ++ g_free (type); ++ g_free (id); ++ index += 1; ++ } ++ while (gtk_tree_model_iter_next (model, &iter)); ++ ++ g_settings_set_value (input_sources_settings, KEY_INPUT_SOURCES, g_variant_builder_end (&builder)); ++ g_settings_apply (input_sources_settings); ++ ++ g_variant_unref (old_sources); ++} ++ ++static gboolean ++get_selected_iter (GtkBuilder *builder, ++ GtkTreeModel **model, ++ GtkTreeIter *iter) ++{ ++ GtkTreeSelection *selection; ++ ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("active_input_sources"))); ++ ++ return gtk_tree_selection_get_selected (selection, model, iter); ++} ++ ++static gint ++idx_from_model_iter (GtkTreeModel *model, ++ GtkTreeIter *iter) ++{ ++ GtkTreePath *path; ++ gint idx; ++ ++ path = gtk_tree_model_get_path (model, iter); ++ if (path == NULL) ++ return -1; ++ ++ idx = gtk_tree_path_get_indices (path)[0]; ++ gtk_tree_path_free (path); ++ ++ return idx; ++} ++ ++static void ++update_button_sensitivity (GtkBuilder *builder) ++{ ++ GtkWidget *remove_button; ++ GtkWidget *up_button; ++ GtkWidget *down_button; ++ GtkWidget *show_button; ++ GtkWidget *settings_button; ++ GtkTreeView *tv; ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ gint n_active; ++ gint index; ++ gboolean settings_sensitive; ++ GDesktopAppInfo *app_info; ++ ++ remove_button = WID("input_source_remove"); ++ show_button = WID("input_source_show"); ++ up_button = WID("input_source_move_up"); ++ down_button = WID("input_source_move_down"); ++ settings_button = WID("input_source_settings"); ++ ++ tv = GTK_TREE_VIEW (WID ("active_input_sources")); ++ n_active = gtk_tree_model_iter_n_children (gtk_tree_view_get_model (tv), NULL); ++ ++ if (get_selected_iter (builder, &model, &iter)) ++ { ++ index = idx_from_model_iter (model, &iter); ++ gtk_tree_model_get (model, &iter, SETUP_COLUMN, &app_info, -1); ++ } ++ else ++ { ++ index = -1; ++ app_info = NULL; ++ } ++ ++ settings_sensitive = (index >= 0 && app_info != NULL); ++ ++ if (app_info) ++ g_object_unref (app_info); ++ ++ gtk_widget_set_sensitive (remove_button, index >= 0 && n_active > 1); ++ gtk_widget_set_sensitive (show_button, index >= 0); ++ gtk_widget_set_sensitive (up_button, index > 0); ++ gtk_widget_set_sensitive (down_button, index >= 0 && index < n_active - 1); ++ gtk_widget_set_sensitive (settings_button, settings_sensitive); ++} ++ ++static void ++set_selected_path (GtkBuilder *builder, ++ GtkTreePath *path) ++{ ++ GtkTreeSelection *selection; ++ ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("active_input_sources"))); ++ ++ gtk_tree_selection_select_path (selection, path); ++} ++ ++static GtkTreeModel * ++tree_view_get_actual_model (GtkTreeView *tv) ++{ ++ GtkTreeModel *filtered_store; ++ ++ filtered_store = gtk_tree_view_get_model (tv); ++ ++ return gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (filtered_store)); ++} ++ ++static void ++chooser_response (GtkWidget *chooser, gint response_id, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ ++ if (response_id == GTK_RESPONSE_OK) ++ { ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ ++ if (input_chooser_get_selected (chooser, &model, &iter)) ++ { ++ GtkTreeView *tv; ++ GtkListStore *child_model; ++ GtkTreeIter child_iter, filter_iter; ++ gchar *name; ++ gchar *type; ++ gchar *id; ++ GDesktopAppInfo *app_info = NULL; ++ ++ gtk_tree_model_get (model, &iter, ++ NAME_COLUMN, &name, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ ++#ifdef HAVE_IBUS ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) ++ app_info = setup_app_info_for_id (id); ++#endif ++ ++ tv = GTK_TREE_VIEW (WID ("active_input_sources")); ++ child_model = GTK_LIST_STORE (tree_view_get_actual_model (tv)); ++ ++ gtk_list_store_append (child_model, &child_iter); ++ ++ gtk_list_store_set (child_model, &child_iter, ++ NAME_COLUMN, name, ++ TYPE_COLUMN, type, ++ ID_COLUMN, id, ++ SETUP_COLUMN, app_info, ++ -1); ++ g_free (name); ++ g_free (type); ++ g_free (id); ++ if (app_info) ++ g_object_unref (app_info); ++ ++ gtk_tree_model_filter_convert_child_iter_to_iter (GTK_TREE_MODEL_FILTER (gtk_tree_view_get_model (tv)), ++ &filter_iter, ++ &child_iter); ++ gtk_tree_selection_select_iter (gtk_tree_view_get_selection (tv), &filter_iter); ++ ++ update_button_sensitivity (builder); ++ update_configuration (GTK_TREE_MODEL (child_model)); ++ } ++ else ++ { ++ g_debug ("nothing selected, nothing added"); ++ } ++ } ++ ++ gtk_widget_destroy (GTK_WIDGET (chooser)); ++} ++ ++static void ++add_input (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkWidget *chooser; ++ GtkWidget *toplevel; ++ GtkWidget *treeview; ++ GtkListStore *active_sources; ++ ++ g_debug ("add an input source"); ++ ++ toplevel = gtk_widget_get_toplevel (WID ("region_notebook")); ++ treeview = WID ("active_input_sources"); ++ active_sources = GTK_LIST_STORE (tree_view_get_actual_model (GTK_TREE_VIEW (treeview))); ++ ++ chooser = input_chooser_new (GTK_WINDOW (toplevel), active_sources); ++ g_signal_connect (chooser, "response", ++ G_CALLBACK (chooser_response), builder); ++} ++ ++static void ++remove_selected_input (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeModel *child_model; ++ GtkTreeIter iter; ++ GtkTreeIter child_iter; ++ GtkTreePath *path; ++ ++ g_debug ("remove selected input source"); ++ ++ if (get_selected_iter (builder, &model, &iter) == FALSE) ++ return; ++ ++ path = gtk_tree_model_get_path (model, &iter); ++ ++ child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model)); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_iter, ++ &iter); ++ gtk_list_store_remove (GTK_LIST_STORE (child_model), &child_iter); ++ ++ if (!gtk_tree_model_get_iter (model, &iter, path)) ++ gtk_tree_path_prev (path); ++ ++ set_selected_path (builder, path); ++ ++ gtk_tree_path_free (path); ++ ++ update_button_sensitivity (builder); ++ update_configuration (child_model); ++} ++ ++static void ++move_selected_input_up (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeModel *child_model; ++ GtkTreeIter iter, prev; ++ GtkTreeIter child_iter, child_prev; ++ GtkTreePath *path; ++ ++ g_debug ("move selected input source up"); ++ ++ if (!get_selected_iter (builder, &model, &iter)) ++ return; ++ ++ prev = iter; ++ if (!gtk_tree_model_iter_previous (model, &prev)) ++ return; ++ ++ path = gtk_tree_model_get_path (model, &prev); ++ ++ child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model)); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_iter, ++ &iter); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_prev, ++ &prev); ++ gtk_list_store_swap (GTK_LIST_STORE (child_model), &child_iter, &child_prev); ++ ++ set_selected_path (builder, path); ++ gtk_tree_path_free (path); ++ ++ update_button_sensitivity (builder); ++ update_configuration (child_model); ++} ++ ++static void ++move_selected_input_down (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeModel *child_model; ++ GtkTreeIter iter, next; ++ GtkTreeIter child_iter, child_next; ++ GtkTreePath *path; ++ ++ g_debug ("move selected input source down"); ++ ++ if (!get_selected_iter (builder, &model, &iter)) ++ return; ++ ++ next = iter; ++ if (!gtk_tree_model_iter_next (model, &next)) ++ return; ++ ++ path = gtk_tree_model_get_path (model, &next); ++ ++ child_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model)); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_iter, ++ &iter); ++ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (model), ++ &child_next, ++ &next); ++ gtk_list_store_swap (GTK_LIST_STORE (child_model), &child_iter, &child_next); ++ ++ set_selected_path (builder, path); ++ gtk_tree_path_free (path); ++ ++ update_button_sensitivity (builder); ++ update_configuration (child_model); ++} ++ ++static void ++show_selected_layout (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ gchar *type; ++ gchar *id; ++ gchar *kbd_viewer_args; ++ const gchar *xkb_layout; ++ const gchar *xkb_variant; ++ ++ g_debug ("show selected layout"); ++ ++ if (!get_selected_iter (builder, &model, &iter)) ++ return; ++ ++ gtk_tree_model_get (model, &iter, ++ TYPE_COLUMN, &type, ++ ID_COLUMN, &id, ++ -1); ++ ++ if (g_str_equal (type, INPUT_SOURCE_TYPE_XKB)) ++ { ++ gnome_xkb_info_get_layout_info (xkb_info, id, NULL, NULL, &xkb_layout, &xkb_variant); ++ ++ if (!xkb_layout || !xkb_layout[0]) ++ { ++ g_warning ("Couldn't find XKB input source '%s'", id); ++ goto exit; ++ } ++ } ++ else if (g_str_equal (type, INPUT_SOURCE_TYPE_IBUS)) ++ { ++#ifdef HAVE_IBUS ++ IBusEngineDesc *engine_desc = NULL; ++ ++ if (ibus_engines) ++ engine_desc = g_hash_table_lookup (ibus_engines, id); ++ ++ if (engine_desc) ++ { ++ xkb_layout = ibus_engine_desc_get_layout (engine_desc); ++ xkb_variant = ""; ++ } ++ else ++ { ++ g_warning ("Couldn't find IBus input source '%s'", id); ++ goto exit; ++ } ++#else ++ g_warning ("IBus input source type specified but IBus support was not compiled"); ++ goto exit; ++#endif ++ } ++ else ++ { ++ g_warning ("Unknown input source type '%s'", type); ++ goto exit; ++ } ++ ++ if (xkb_variant[0]) ++ kbd_viewer_args = g_strdup_printf ("gkbd-keyboard-display -l \"%s\t%s\"", ++ xkb_layout, xkb_variant); ++ else ++ kbd_viewer_args = g_strdup_printf ("gkbd-keyboard-display -l %s", ++ xkb_layout); ++ ++ g_spawn_command_line_async (kbd_viewer_args, NULL); ++ ++ g_free (kbd_viewer_args); ++ exit: ++ g_free (type); ++ g_free (id); ++} ++ ++static void ++show_selected_settings (GtkButton *button, gpointer data) ++{ ++ GtkBuilder *builder = data; ++ GtkTreeModel *model; ++ GtkTreeIter iter; ++ GdkAppLaunchContext *ctx; ++ GDesktopAppInfo *app_info; ++ gchar *id; ++ GError *error = NULL; ++ ++ g_debug ("show selected layout"); ++ ++ if (!get_selected_iter (builder, &model, &iter)) ++ return; ++ ++ gtk_tree_model_get (model, &iter, SETUP_COLUMN, &app_info, -1); ++ ++ if (!app_info) ++ return; ++ ++ ctx = gdk_display_get_app_launch_context (gdk_display_get_default ()); ++ gdk_app_launch_context_set_timestamp (ctx, gtk_get_current_event_time ()); ++ ++ gtk_tree_model_get (model, &iter, ID_COLUMN, &id, -1); ++ g_app_launch_context_setenv (G_APP_LAUNCH_CONTEXT (ctx), ++ "IBUS_ENGINE_NAME", ++ id); ++ g_free (id); ++ ++ if (!g_app_info_launch (G_APP_INFO (app_info), NULL, G_APP_LAUNCH_CONTEXT (ctx), &error)) ++ { ++ g_warning ("Failed to launch input source setup: %s", error->message); ++ g_error_free (error); ++ } ++ ++ g_object_unref (ctx); ++ g_object_unref (app_info); ++} ++ ++static gboolean ++go_to_shortcuts (GtkLinkButton *button, ++ CcRegionPanel *panel) ++{ ++ gchar *argv[3]; ++ argv[0] = "cinnamon-settings"; ++ argv[1] = "keyboard"; ++ argv[3] = NULL; ++ g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); ++ return TRUE; ++} ++ ++static void ++input_sources_changed (GSettings *settings, ++ gchar *key, ++ GtkBuilder *builder) ++{ ++ GtkWidget *treeview; ++ GtkTreeModel *store; ++ GtkTreePath *path; ++ GtkTreeIter iter; ++ GtkTreeModel *model; ++ ++ treeview = WID("active_input_sources"); ++ store = tree_view_get_actual_model (GTK_TREE_VIEW (treeview)); ++ ++ if (get_selected_iter (builder, &model, &iter)) ++ path = gtk_tree_model_get_path (model, &iter); ++ else ++ path = NULL; ++ ++ gtk_list_store_clear (GTK_LIST_STORE (store)); ++ populate_with_active_sources (GTK_LIST_STORE (store)); ++ ++ if (path) ++ { ++ set_selected_path (builder, path); ++ gtk_tree_path_free (path); ++ } ++} ++ ++static void ++update_shortcut_label (GtkWidget *widget, ++ const char *value) ++{ ++ char *text; ++ guint accel_key, *keycode; ++ GdkModifierType mods; ++ ++ if (value == NULL || *value == '\0') ++ { ++ gtk_label_set_text (GTK_LABEL (widget), "\342\200\224"); ++ return; ++ } ++ gtk_accelerator_parse_with_keycode (value, &accel_key, &keycode, &mods); ++ if (accel_key == 0 && keycode == NULL && mods == 0) ++ { ++ gtk_label_set_text (GTK_LABEL (widget), "\342\200\224"); ++ g_warning ("Failed to parse keyboard shortcut: '%s'", value); ++ return; ++ } ++ ++ text = gtk_accelerator_get_label_with_keycode (gtk_widget_get_display (widget), accel_key, *keycode, mods); ++ g_free (keycode); ++ gtk_label_set_text (GTK_LABEL (widget), text); ++ g_free (text); ++} ++ ++static void ++update_shortcuts (GtkBuilder *builder) ++{ ++ char *previous, *next; ++ GSettings *settings; ++ ++ settings = g_settings_new ("org.cinnamon.settings-daemon.plugins.media-keys"); ++ ++ previous = g_settings_get_string (settings, "switch-input-source-backward"); ++ next = g_settings_get_string (settings, "switch-input-source"); ++ ++ update_shortcut_label (WID ("prev-source-shortcut-label"), previous); ++ update_shortcut_label (WID ("next-source-shortcut-label"), next); ++ ++ g_free (previous); ++ g_free (next); ++} ++ ++static gboolean ++active_sources_visible_func (GtkTreeModel *model, ++ GtkTreeIter *iter, ++ gpointer data) ++{ ++ gchar *display_name; ++ ++ gtk_tree_model_get (model, iter, NAME_COLUMN, &display_name, -1); ++ ++ if (!display_name) ++ return FALSE; ++ ++ g_free (display_name); ++ ++ return TRUE; ++} ++ ++void ++setup_input_tabs (GtkBuilder *builder, ++ CcRegionPanel *panel) ++{ ++ GtkWidget *treeview; ++ GtkTreeViewColumn *column; ++ GtkCellRenderer *cell; ++ GtkListStore *store; ++ GtkTreeModel *filtered_store; ++ GtkTreeSelection *selection; ++ ++ /* set up the list of active inputs */ ++ treeview = WID("active_input_sources"); ++ column = gtk_tree_view_column_new (); ++ cell = gtk_cell_renderer_text_new (); ++ gtk_tree_view_column_pack_start (column, cell, TRUE); ++ gtk_tree_view_column_add_attribute (column, cell, "text", NAME_COLUMN); ++ gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); ++ ++ store = gtk_list_store_new (N_COLUMNS, ++ G_TYPE_STRING, ++ G_TYPE_STRING, ++ G_TYPE_STRING, ++ G_TYPE_DESKTOP_APP_INFO); ++ ++ gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store)); ++ ++ input_sources_settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR); ++ g_settings_delay (input_sources_settings); ++ g_object_weak_ref (G_OBJECT (builder), (GWeakNotify) g_object_unref, input_sources_settings); ++ ++ if (!xkb_info) ++ xkb_info = gnome_xkb_info_new (); ++ ++#ifdef HAVE_IBUS ++ ibus_init (); ++ shell_name_watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION, ++ "org.Cinnamon", ++ G_BUS_NAME_WATCHER_FLAGS_NONE, ++ on_shell_appeared, ++ NULL, ++ builder, ++ NULL); ++ g_object_weak_ref (G_OBJECT (builder), (GWeakNotify) clear_ibus, NULL); ++#endif ++ ++ populate_with_active_sources (store); ++ ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); ++ g_signal_connect_swapped (selection, "changed", ++ G_CALLBACK (update_button_sensitivity), builder); ++ ++ /* Some input source types might have their info loaded ++ * asynchronously. In that case we don't want to show them ++ * immediately so we use a filter model on top of the real model ++ * which mirrors the GSettings key. */ ++ filtered_store = gtk_tree_model_filter_new (GTK_TREE_MODEL (store), NULL); ++ gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (filtered_store), ++ active_sources_visible_func, ++ NULL, ++ NULL); ++ gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), filtered_store); ++ ++ /* set up the buttons */ ++ g_signal_connect (WID("input_source_add"), "clicked", ++ G_CALLBACK (add_input), builder); ++ g_signal_connect (WID("input_source_remove"), "clicked", ++ G_CALLBACK (remove_selected_input), builder); ++ g_signal_connect (WID("input_source_move_up"), "clicked", ++ G_CALLBACK (move_selected_input_up), builder); ++ g_signal_connect (WID("input_source_move_down"), "clicked", ++ G_CALLBACK (move_selected_input_down), builder); ++ g_signal_connect (WID("input_source_show"), "clicked", ++ G_CALLBACK (show_selected_layout), builder); ++ g_signal_connect (WID("input_source_settings"), "clicked", ++ G_CALLBACK (show_selected_settings), builder); ++ ++ /* use an em dash is no shortcut */ ++ update_shortcuts (builder); ++ ++ g_signal_connect (WID("jump-to-shortcuts"), "activate-link", ++ G_CALLBACK (go_to_shortcuts), panel); ++ ++ g_signal_connect (G_OBJECT (input_sources_settings), ++ "changed::" KEY_INPUT_SOURCES, ++ G_CALLBACK (input_sources_changed), ++ builder); ++} ++ ++static void ++filter_clear (GtkEntry *entry, ++ GtkEntryIconPosition icon_pos, ++ GdkEvent *event, ++ gpointer user_data) ++{ ++ gtk_entry_set_text (entry, ""); ++} ++ ++static gchar **search_pattern_list; ++ ++static void ++filter_changed (GtkBuilder *builder) ++{ ++ GtkTreeModelFilter *filtered_model; ++ GtkTreeView *tree_view; ++ GtkTreeSelection *selection; ++ GtkTreeIter selected_iter; ++ GtkWidget *filter_entry; ++ const gchar *pattern; ++ gchar *upattern; ++ ++ filter_entry = WID ("input_source_filter"); ++ pattern = gtk_entry_get_text (GTK_ENTRY (filter_entry)); ++ upattern = g_utf8_strup (pattern, -1); ++ if (!g_strcmp0 (pattern, "")) ++ g_object_set (G_OBJECT (filter_entry), ++ "secondary-icon-name", "edit-find-symbolic", ++ "secondary-icon-activatable", FALSE, ++ "secondary-icon-sensitive", FALSE, ++ NULL); ++ else ++ g_object_set (G_OBJECT (filter_entry), ++ "secondary-icon-name", "edit-clear-symbolic", ++ "secondary-icon-activatable", TRUE, ++ "secondary-icon-sensitive", TRUE, ++ NULL); ++ ++ if (search_pattern_list != NULL) ++ g_strfreev (search_pattern_list); ++ ++ search_pattern_list = g_strsplit (upattern, " ", -1); ++ g_free (upattern); ++ ++ filtered_model = GTK_TREE_MODEL_FILTER (gtk_builder_get_object (builder, "filtered_input_source_model")); ++ gtk_tree_model_filter_refilter (filtered_model); ++ ++ tree_view = GTK_TREE_VIEW (WID ("filtered_input_source_list")); ++ selection = gtk_tree_view_get_selection (tree_view); ++ if (gtk_tree_selection_get_selected (selection, NULL, &selected_iter)) ++ { ++ GtkTreePath *path = gtk_tree_model_get_path (GTK_TREE_MODEL (filtered_model), ++ &selected_iter); ++ gtk_tree_view_scroll_to_cell (tree_view, path, NULL, TRUE, 0.5, 0.5); ++ gtk_tree_path_free (path); ++ } ++ else ++ { ++ GtkTreeIter iter; ++ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (filtered_model), &iter)) ++ gtk_tree_selection_select_iter (selection, &iter); ++ } ++} ++ ++static void ++selection_changed (GtkTreeSelection *selection, ++ GtkBuilder *builder) ++{ ++ gtk_widget_set_sensitive (WID ("ok-button"), ++ gtk_tree_selection_get_selected (selection, NULL, NULL)); ++} ++ ++static void ++row_activated (GtkTreeView *tree_view, ++ GtkTreePath *path, ++ GtkTreeViewColumn *column, ++ GtkBuilder *builder) ++{ ++ GtkWidget *add_button; ++ GtkWidget *dialog; ++ ++ add_button = WID ("ok-button"); ++ dialog = WID ("input_source_chooser"); ++ if (gtk_widget_is_sensitive (add_button)) ++ gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); ++} ++ ++static void ++entry_activated (GtkBuilder *builder, ++ gpointer data) ++{ ++ row_activated (NULL, NULL, NULL, builder); ++} ++ ++static gboolean ++filter_func (GtkTreeModel *model, ++ GtkTreeIter *iter, ++ gpointer data) ++{ ++ gchar *name = NULL; ++ gchar **pattern; ++ gboolean rv = TRUE; ++ ++ if (search_pattern_list == NULL || search_pattern_list[0] == NULL) ++ return TRUE; ++ ++ gtk_tree_model_get (model, iter, ++ NAME_COLUMN, &name, ++ -1); ++ ++ pattern = search_pattern_list; ++ do { ++ gboolean is_pattern_found = FALSE; ++ gchar *udesc = g_utf8_strup (name, -1); ++ if (udesc != NULL && g_strstr_len (udesc, -1, *pattern)) ++ { ++ is_pattern_found = TRUE; ++ } ++ g_free (udesc); ++ ++ if (!is_pattern_found) ++ { ++ rv = FALSE; ++ break; ++ } ++ ++ } while (*++pattern != NULL); ++ ++ g_free (name); ++ ++ return rv; ++} ++ ++static GtkWidget * ++input_chooser_new (GtkWindow *main_window, ++ GtkListStore *active_sources) ++{ ++ GtkBuilder *builder; ++ GtkWidget *chooser; ++ GtkWidget *filtered_list; ++ GtkWidget *filter_entry; ++ GtkTreeViewColumn *visible_column; ++ GtkTreeSelection *selection; ++ GtkListStore *model; ++ GtkTreeModelFilter *filtered_model; ++ GtkTreeIter iter; ++ ++ builder = gtk_builder_new (); ++ gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE); ++ gtk_builder_add_from_file (builder, ++ CINNAMONCC_UI_DIR "/cinnamon-region-panel-input-chooser.ui", ++ NULL); ++ chooser = WID ("input_source_chooser"); ++ input_chooser = chooser; ++ g_object_add_weak_pointer (G_OBJECT (chooser), (gpointer *) &input_chooser); ++ g_object_set_data_full (G_OBJECT (chooser), "builder", builder, g_object_unref); ++ ++ filtered_list = WID ("filtered_input_source_list"); ++ filter_entry = WID ("input_source_filter"); ++ ++ g_object_set_data (G_OBJECT (chooser), ++ "filtered_input_source_list", filtered_list); ++ visible_column = ++ gtk_tree_view_column_new_with_attributes ("Input Sources", ++ gtk_cell_renderer_text_new (), ++ "text", NAME_COLUMN, ++ NULL); ++ ++ gtk_window_set_transient_for (GTK_WINDOW (chooser), main_window); ++ ++ gtk_tree_view_append_column (GTK_TREE_VIEW (filtered_list), ++ visible_column); ++ /* We handle searching ourselves, thank you. */ ++ gtk_tree_view_set_enable_search (GTK_TREE_VIEW (filtered_list), FALSE); ++ gtk_tree_view_set_search_column (GTK_TREE_VIEW (filtered_list), -1); ++ ++ g_signal_connect_swapped (G_OBJECT (filter_entry), "activate", ++ G_CALLBACK (entry_activated), builder); ++ g_signal_connect_swapped (G_OBJECT (filter_entry), "notify::text", ++ G_CALLBACK (filter_changed), builder); ++ ++ g_signal_connect (G_OBJECT (filter_entry), "icon-release", ++ G_CALLBACK (filter_clear), NULL); ++ ++ filtered_model = GTK_TREE_MODEL_FILTER (gtk_builder_get_object (builder, "filtered_input_source_model")); ++ model = GTK_LIST_STORE (gtk_builder_get_object (builder, "input_source_model")); ++ ++ populate_model (model, active_sources); ++ ++ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), ++ NAME_COLUMN, GTK_SORT_ASCENDING); ++ ++ gtk_tree_model_filter_set_visible_func (filtered_model, ++ filter_func, ++ NULL, NULL); ++ ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (filtered_list)); ++ ++ g_signal_connect (G_OBJECT (selection), "changed", ++ G_CALLBACK (selection_changed), builder); ++ ++ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (filtered_model), &iter)) ++ gtk_tree_selection_select_iter (selection, &iter); ++ ++ g_signal_connect (G_OBJECT (filtered_list), "row-activated", ++ G_CALLBACK (row_activated), builder); ++ ++ gtk_widget_grab_focus (filter_entry); ++ ++ gtk_widget_show (chooser); ++ ++ return chooser; ++} ++ ++static gboolean ++input_chooser_get_selected (GtkWidget *dialog, ++ GtkTreeModel **model, ++ GtkTreeIter *iter) ++{ ++ GtkWidget *tv; ++ GtkTreeSelection *selection; ++ ++ tv = g_object_get_data (G_OBJECT (dialog), "filtered_input_source_list"); ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tv)); ++ ++ return gtk_tree_selection_get_selected (selection, model, iter); ++} +diff -uNrp a/panels/region/cinnamon-region-panel-input-chooser.ui b/panels/region/cinnamon-region-panel-input-chooser.ui +--- a/panels/region/cinnamon-region-panel-input-chooser.ui 1970-01-01 01:00:00.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-input-chooser.ui 2013-09-21 13:24:15.339949536 +0100 +@@ -0,0 +1,157 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ input_source_model ++ ++ ++ False ++ False ++ 5 ++ Choose an input source ++ True ++ center-on-parent ++ dialog ++ ++ ++ True ++ False ++ vertical ++ 2 ++ ++ ++ True ++ False ++ end ++ ++ ++ gtk-cancel ++ True ++ True ++ True ++ False ++ False ++ True ++ ++ ++ False ++ False ++ end ++ 1 ++ ++ ++ ++ ++ gtk-add ++ True ++ True ++ True ++ False ++ False ++ True ++ ++ ++ False ++ False ++ end ++ 2 ++ ++ ++ ++ ++ ++ ++ True ++ False ++ 5 ++ 6 ++ ++ ++ True ++ False ++ 6 ++ ++ ++ True ++ False ++ 0 ++ Select an input source to add ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ True ++ True ++ never ++ etched-in ++ 450 ++ 250 ++ ++ ++ True ++ True ++ filtered_input_source_model ++ False ++ 0 ++ ++ ++ ++ ++ True ++ True ++ 1 ++ ++ ++ ++ ++ True ++ True ++ 0 ++ ++ ++ ++ ++ True ++ True ++ ++ edit-find-symbolic ++ False ++ False ++ ++ ++ False ++ False ++ end ++ 1 ++ ++ ++ ++ ++ True ++ True ++ 1 ++ ++ ++ ++ ++ ++ ok-button ++ cancel-button ++ ++ ++ +diff -uNrp a/panels/region/cinnamon-region-panel-input.h b/panels/region/cinnamon-region-panel-input.h +--- a/panels/region/cinnamon-region-panel-input.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-input.h 2013-09-21 13:24:15.339949536 +0100 +@@ -0,0 +1,36 @@ ++/* cinnamon-region-panel-input.h ++ * Copyright (C) 2011 Red Hat, Inc. ++ * ++ * Written by Matthias Clasen ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2, or (at your option) ++ * any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA ++ * 02110-1335, USA. ++ */ ++ ++#ifndef __CINNAMON_KEYBOARD_PROPERTY_INPUT_H ++#define __CINNAMON_KEYBOARD_PROPERTY_INPUT_H ++ ++#include ++ ++#include "cc-region-panel.h" ++ ++G_BEGIN_DECLS ++ ++void setup_input_tabs (GtkBuilder *builder, ++ CcRegionPanel *self); ++ ++G_END_DECLS ++ ++#endif /* __CINNAMON_KEYBOARD_PROPERTY_INPUT_H */ +diff -uNrp a/panels/region/cinnamon-region-panel-lang.c b/panels/region/cinnamon-region-panel-lang.c +--- a/panels/region/cinnamon-region-panel-lang.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-lang.c 2013-09-21 13:24:15.340949500 +0100 +@@ -24,7 +24,7 @@ + #endif + + #include +-#include ++#include + + #include "cinnamon-region-panel-lang.h" + #include "cinnamon-region-panel-formats.h" +diff -uNrp a/panels/region/cinnamon-region-panel-lang.h b/panels/region/cinnamon-region-panel-lang.h +--- a/panels/region/cinnamon-region-panel-lang.h 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-lang.h 2013-09-21 13:24:15.340949500 +0100 +@@ -19,8 +19,8 @@ + * 02110-1335, USA. + */ + +-#ifndef __GNOME_KEYBOARD_PROPERTY_LANG_H +-#define __GNOME_KEYBOARD_PROPERTY_LANG_H ++#ifndef __CINNAMON_KEYBOARD_PROPERTY_LANG_H ++#define __CINNAMON_KEYBOARD_PROPERTY_LANG_H + + #include + +@@ -29,4 +29,4 @@ G_BEGIN_DECLS + void setup_language (GtkBuilder *builder); + + G_END_DECLS +-#endif /* __GNOME_KEYBOARD_PROPERTY_LANG_H */ ++#endif /* __CINNAMON_KEYBOARD_PROPERTY_LANG_H */ +diff -uNrp a/panels/region/cinnamon-region-panel-layout-chooser.ui b/panels/region/cinnamon-region-panel-layout-chooser.ui +--- a/panels/region/cinnamon-region-panel-layout-chooser.ui 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-layout-chooser.ui 1970-01-01 01:00:00.000000000 +0100 +@@ -1,180 +0,0 @@ +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- layout_list_model +- +- +- False +- False +- 5 +- Choose a Layout +- True +- center-on-parent +- dialog +- +- +- True +- False +- vertical +- 2 +- +- +- True +- False +- end +- +- +- Preview +- True +- True +- True +- False +- +- +- False +- False +- 0 +- True +- +- +- +- +- gtk-cancel +- True +- True +- True +- False +- False +- True +- +- +- False +- False +- end +- 1 +- +- +- +- +- gtk-add +- True +- True +- True +- False +- False +- True +- +- +- False +- False +- end +- 2 +- +- +- +- +- +- +- True +- False +- 5 +- 6 +- +- +- True +- False +- 6 +- +- +- True +- False +- 0 +- Select an input source to add +- +- +- False +- False +- 0 +- +- +- +- +- True +- True +- never +- etched-in +- 450 +- 250 +- +- +- True +- True +- filtered_layout_list_model +- False +- 0 +- +- +- +- +- +- +- +- True +- True +- 1 +- +- +- +- +- True +- True +- 0 +- +- +- +- +- True +- True +- +- edit-find-symbolic +- False +- False +- +- +- False +- False +- end +- 1 +- +- +- +- +- True +- True +- 1 +- +- +- +- +- +- btnPreview +- btnOk +- btnCancel +- +- +- +diff -uNrp a/panels/region/cinnamon-region-panel-options-dialog.ui b/panels/region/cinnamon-region-panel-options-dialog.ui +--- a/panels/region/cinnamon-region-panel-options-dialog.ui 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-options-dialog.ui 1970-01-01 01:00:00.000000000 +0100 +@@ -1,79 +0,0 @@ +- +- +- +- +- False +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- 5 +- Keyboard Layout Options +- center-on-parent +- 550 +- 400 +- dialog +- +- +- True +- False +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- vertical +- 2 +- +- +- True +- True +- 5 +- out +- +- +- True +- False +- none +- +- +- True +- False +- +- +- +- +- +- +- False +- True +- 1 +- +- +- +- +- True +- False +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- end +- +- +- +- +- +- gtk-close +- True +- True +- True +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- False +- True +- +- +- False +- False +- 1 +- +- +- +- +- +- +- +- button2 +- +- +- +diff -uNrp a/panels/region/cinnamon-region-panel-system.c b/panels/region/cinnamon-region-panel-system.c +--- a/panels/region/cinnamon-region-panel-system.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-system.c 2013-09-21 13:24:15.342949428 +0100 +@@ -27,15 +27,18 @@ + + #include + +-#include ++#include ++ ++#define GNOME_DESKTOP_USE_UNSTABLE_API ++#include + +-#include + #include "cc-common-language.h" + #include "gdm-languages.h" + #include "cinnamon-region-panel-system.h" +-#include "cinnamon-region-panel-xkb.h" + +-static GSettings *locale_settings, *xkb_settings; ++#define WID(s) GTK_WIDGET(gtk_builder_get_object (dialog, s)) ++ ++static GSettings *locale_settings, *input_sources_settings; + static GDBusProxy *localed_proxy; + static GPermission *localed_permission; + +@@ -72,13 +75,14 @@ update_copy_button (GtkBuilder *dialog) + + button = WID ("copy_settings_button"); + +- /* If the version of localed doesn't include layouts... */ +- if (system_input_source) { ++ if (user_input_source && user_input_source[0]) { + layouts_differ = (g_strcmp0 (user_input_source, system_input_source) != 0); + if (layouts_differ == FALSE) + layouts_differ = (g_strcmp0 (user_input_variants, system_input_variants) != 0); +- } else ++ } else { ++ /* Nothing to copy */ + layouts_differ = FALSE; ++ } + + if (g_strcmp0 (user_lang, system_lang) == 0 && + g_strcmp0 (user_region, system_region) == 0 && +@@ -131,61 +135,67 @@ system_update_language (GtkBuilder *dial + } + + static void +-xkb_settings_changed (GSettings *settings, +- const gchar *key, +- GtkBuilder *dialog) ++input_sources_changed (GSettings *settings, ++ const gchar *key, ++ GtkBuilder *dialog) + { +- guint i; +- GString *disp, *list, *variants; +- GtkWidget *label; +- gchar **layouts; +- +- layouts = g_settings_get_strv (settings, "layouts"); +- if (layouts == NULL) +- return; +- +- label = WID ("user_input_source"); +- disp = g_string_new (""); +- list = g_string_new (""); +- variants = g_string_new (""); +- +- for (i = 0; layouts[i]; i++) { +- gchar *utf_visible; +- char **split; +- gchar *layout, *variant; +- +- utf_visible = xkb_layout_description_utf8 (layouts[i]); +- if (disp->str[0] != '\0') +- g_string_append (disp, ", "); +- g_string_append (disp, utf_visible ? utf_visible : layouts[i]); +- g_free (utf_visible); +- +- split = g_strsplit_set (layouts[i], " \t", 2); +- +- if (split == NULL || split[0] == NULL) +- continue; +- +- layout = split[0]; +- variant = split[1]; +- +- if (list->str[0] != '\0') +- g_string_append (list, ","); +- g_string_append (list, layout); +- +- if (variants->str[0] != '\0') +- g_string_append (variants, ","); +- g_string_append (variants, variant ? variant : ""); +- +- g_strfreev (split); +- } +- g_strfreev (layouts); ++ GString *disp, *list, *variants; ++ GtkWidget *label; ++ GnomeXkbInfo *xkb_info; ++ GVariantIter iter; ++ GVariant *sources; ++ const gchar *type; ++ const gchar *id; ++ ++ sources = g_settings_get_value (input_sources_settings, "sources"); ++ xkb_info = gnome_xkb_info_new (); ++ ++ label = WID ("user_input_source"); ++ disp = g_string_new (""); ++ list = g_string_new (""); ++ variants = g_string_new (""); ++ ++ g_variant_iter_init (&iter, sources); ++ while (g_variant_iter_next (&iter, "(&s&s)", &type, &id)) { ++ /* We can't copy non-XKB layouts to the system yet */ ++ if (g_str_equal (type, "xkb")) { ++ char **split; ++ gchar *layout, *variant; ++ const char *name; ++ ++ gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL); ++ if (disp->str[0] != '\0') ++ g_string_append (disp, ", "); ++ g_string_append (disp, name); ++ ++ split = g_strsplit (id, "+", 2); ++ ++ if (split == NULL || split[0] == NULL) ++ continue; ++ ++ layout = split[0]; ++ variant = split[1]; ++ ++ if (list->str[0] != '\0') { ++ g_string_append (list, ","); ++ g_string_append (variants, ","); ++ } ++ g_string_append (list, layout); ++ g_string_append (variants, variant ? variant : ""); ++ ++ g_strfreev (split); ++ } ++ } ++ g_variant_unref (sources); ++ g_object_unref (xkb_info); + + g_object_set_data_full (G_OBJECT (label), "input_source", g_string_free (list, FALSE), g_free); + g_object_set_data_full (G_OBJECT (label), "input_variants", g_string_free (variants, FALSE), g_free); ++ + gtk_label_set_text (GTK_LABEL (label), disp->str); + g_string_free (disp, TRUE); + +- update_copy_button (dialog); ++ update_copy_button (dialog); + } + + static void +@@ -222,12 +232,13 @@ on_localed_properties_changed (GDBusProx + const gchar **invalidated_properties, + GtkBuilder *dialog) + { +- GVariant *v; ++ GVariant *v, *w; + GtkWidget *label; +- const char *layout; ++ GnomeXkbInfo *xkb_info; + char **layouts; ++ char **variants; + GString *disp; +- guint i; ++ guint i, n; + + if (invalidated_properties != NULL) { + guint i; +@@ -236,6 +247,8 @@ on_localed_properties_changed (GDBusProx + update_property (proxy, "Locale"); + else if (g_str_equal (invalidated_properties[i], "X11Layout")) + update_property (proxy, "X11Layout"); ++ else if (g_str_equal (invalidated_properties[i], "X11Variant")) ++ update_property (proxy, "X11Variant"); + } + } + +@@ -290,29 +303,56 @@ on_localed_properties_changed (GDBusProx + label = WID ("system_input_source"); + v = g_dbus_proxy_get_cached_property (proxy, "X11Layout"); + if (v) { +- layout = g_variant_get_string (v, NULL); +- g_object_set_data_full (G_OBJECT (label), "input_source", g_strdup (layout), g_free); +- } else { ++ layouts = g_strsplit (g_variant_get_string (v, NULL), ",", -1); ++ g_object_set_data_full (G_OBJECT (label), "input_source", ++ g_variant_dup_string (v, NULL), g_free); ++ g_variant_unref (v); ++ } else { + g_object_set_data_full (G_OBJECT (label), "input_source", NULL, g_free); + update_copy_button (dialog); + return; + } + +- disp = g_string_new (""); +- layouts = g_strsplit (layout, ",", -1); +- for (i = 0; layouts[i]; i++) { +- gchar *utf_visible; +- +- utf_visible = xkb_layout_description_utf8 (layouts[i]); +- if (disp->str[0] != '\0') +- disp = g_string_append (disp, ", "); +- disp = g_string_append (disp, utf_visible ? utf_visible : layouts[i]); +- g_free (utf_visible); +- } ++ w = g_dbus_proxy_get_cached_property (proxy, "X11Variant"); ++ if (w) { ++ variants = g_strsplit (g_variant_get_string (w, NULL), ",", -1); ++ g_object_set_data_full (G_OBJECT (label), "input_variants", ++ g_variant_dup_string (w, NULL), g_free); ++ g_variant_unref (w); ++ } else { ++ variants = NULL; ++ g_object_set_data_full (G_OBJECT (label), "input_variants", NULL, g_free); ++ } ++ ++ if (variants && variants[0]) ++ n = MIN (g_strv_length (layouts), g_strv_length (variants)); ++ else ++ n = g_strv_length (layouts); ++ ++ xkb_info = gnome_xkb_info_new (); ++ disp = g_string_new (""); ++ for (i = 0; i < n && layouts[i][0]; i++) { ++ const char *name; ++ char *id; ++ ++ if (variants && variants[i] && variants[i][0]) ++ id = g_strdup_printf ("%s+%s", layouts[i], variants[i]); ++ else ++ id = g_strdup (layouts[i]); ++ ++ gnome_xkb_info_get_layout_info (xkb_info, id, &name, NULL, NULL, NULL); ++ if (disp->str[0] != '\0') ++ disp = g_string_append (disp, ", "); ++ disp = g_string_append (disp, name ? name : id); ++ ++ g_free (id); ++ } + gtk_label_set_text (GTK_LABEL (label), disp->str); + g_string_free (disp, TRUE); + +- g_variant_unref (v); ++ g_strfreev (variants); ++ g_strfreev (layouts); ++ g_object_unref (xkb_info); + + update_copy_button (dialog); + } +@@ -386,6 +426,11 @@ copy_settings (GtkButton *button, GtkBui + layout = g_object_get_data (G_OBJECT (label), "input_source"); + variants = g_object_get_data (G_OBJECT (label), "input_variants"); + ++ if (layout == NULL || layout[0] == '\0') { ++ g_debug ("Not calling SetX11Keyboard, as there are no XKB input sources in the user's settings"); ++ return; ++ } ++ + g_dbus_proxy_call (localed_proxy, + "SetX11Keyboard", + g_variant_new ("(ssssbb)", layout, "", variants ? variants : "", "", TRUE, TRUE), +@@ -468,10 +513,10 @@ setup_system (GtkBuilder *dialog) + G_CALLBACK (locale_settings_changed), dialog); + g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, locale_settings); + +- xkb_settings = g_settings_new (GKBD_KEYBOARD_SCHEMA); +- g_signal_connect (xkb_settings, "changed::layouts", +- G_CALLBACK (xkb_settings_changed), dialog); +- g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, xkb_settings); ++ input_sources_settings = g_settings_new ("org.cinnamon.desktop.input-sources"); ++ g_signal_connect (input_sources_settings, "changed::sources", ++ G_CALLBACK (input_sources_changed), dialog); ++ g_object_weak_ref (G_OBJECT (dialog), (GWeakNotify) g_object_unref, input_sources_settings); + + /* Display user settings */ + language = cc_common_language_get_current_language (); +@@ -480,7 +525,7 @@ setup_system (GtkBuilder *dialog) + + locale_settings_changed (locale_settings, "region", dialog); + +- xkb_settings_changed (xkb_settings, "layouts", dialog); ++ input_sources_changed (input_sources_settings, "sources", dialog); + + bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); + g_dbus_proxy_new (bus, +diff -uNrp a/panels/region/cinnamon-region-panel-system.h b/panels/region/cinnamon-region-panel-system.h +--- a/panels/region/cinnamon-region-panel-system.h 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-system.h 2013-09-21 13:24:15.342949428 +0100 +@@ -19,8 +19,8 @@ + * 02110-1335, USA. + */ + +-#ifndef __GNOME_REGION_PANEL_SYSTEM_H +-#define __GNOME_REGION_PANEL_SYSTEM_H ++#ifndef __CINNAMON_REGION_PANEL_SYSTEM_H ++#define __CINNAMON_REGION_PANEL_SYSTEM_H + + #include + +diff -uNrp a/panels/region/cinnamon-region-panel.ui b/panels/region/cinnamon-region-panel.ui +--- a/panels/region/cinnamon-region-panel.ui 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel.ui 2013-09-21 13:24:15.347949247 +0100 +@@ -162,27 +162,17 @@ + ++ + + ++ False + True +- False + Add Language +- True +- list-add-symbolic +- +- +- False +- True +- +- +- +- +- True +- False + False +- Remove Language + True +- list-remove-symbolic ++ list-add-symbolic + + + False +@@ -198,12 +188,13 @@ + + + +- True + False + + + True + False ++ True ++ Add Language + + + True +@@ -212,23 +203,24 @@ + + + +- +- button ++ ++ Install languages... + True + True + True ++ True + + +- True ++ False + True +- 13 ++ 1 + + + + + False + True +- 2 ++ 1 + + + +@@ -305,19 +297,19 @@ + + + +- True +- False + icons + False + 1 ++ True + + + ++ False ++ Add Region + True + False +- Add Region + True + list-add-symbolic + +@@ -328,10 +320,11 @@ + + + ++ False + True ++ Remove Region + False + False +- Remove Region + True + list-remove-symbolic + +@@ -373,18 +366,6 @@ + 9 + 2 + +- +- +- +- +- +- +- +- +- +- +- +- + + True + False +@@ -626,6 +607,12 @@ + 1 + + ++ ++ ++ ++ ++ ++ + + + 1 +@@ -643,36 +630,43 @@ + + + +- ++ + True + False +- 10 ++ 12 + 12 + +- ++ ++ True ++ False ++ 0 ++ Select keyboards or other input sources ++ ++ ++ False ++ False ++ 0 ++ + + +- ++ + True + False + 12 + +- ++ + True + False + +- ++ + True + True + in + +- ++ + True + True + False +- +- +- + + + +@@ -683,7 +677,7 @@ + + + +- ++ + True + False + icons +@@ -693,70 +687,166 @@ + + + +- ++ + True +- False +- Add Layout +- True +- list-add-symbolic ++ ++ ++ True ++ ++ ++ True ++ ++ ++ Add Input Source ++ ++ ++ ++ ++ ++ True ++ list-add-symbolic ++ 1 ++ ++ ++ ++ ++ ++ ++ True ++ ++ ++ Remove Input Source ++ ++ ++ ++ ++ True ++ list-remove-symbolic ++ 1 ++ ++ ++ ++ ++ ++ + +- +- False +- True +- + ++ + +- ++ + True +- False +- Remove Layout +- True +- list-remove-symbolic ++ False + + +- False +- True ++ True + + ++ + +- ++ + True +- False +- Move Up +- True +- go-up-symbolic ++ ++ ++ True ++ ++ ++ True ++ ++ ++ Move Input Source Up ++ ++ ++ ++ ++ ++ True ++ go-up-symbolic ++ 1 ++ ++ ++ ++ ++ ++ ++ True ++ ++ ++ Move Input Source Down ++ ++ ++ ++ ++ True ++ go-down-symbolic ++ 1 ++ ++ ++ ++ ++ ++ + +- +- False +- True +- + ++ + +- ++ + True +- False +- Move Down +- True +- go-down-symbolic ++ False ++ True + + +- False +- True ++ True + + ++ + +- ++ + True +- False +- Preview Layout +- True +- input-keyboard-symbolic ++ ++ ++ True ++ ++ ++ True ++ ++ ++ Input Source Settings ++ ++ ++ ++ ++ ++ True ++ preferences-system-symbolic ++ 1 ++ 16 ++ ++ ++ ++ ++ ++ ++ True ++ ++ ++ Show Keyboard Layout ++ ++ ++ ++ ++ ++ True ++ input-keyboard-symbolic ++ 1 ++ ++ ++ ++ ++ ++ + +- +- False +- True +- + ++ + + + False +@@ -772,168 +862,111 @@ + + + +- ++ + True + False +- 12 ++ 0 ++ none + +- ++ + True + False +- 6 ++ 12 + +- +- Use the same layout for all windows +- True +- True +- False +- 0 +- True +- True +- +- +- True +- True +- 0 +- +- +- +- +- Allow different layouts for individual windows +- True +- True +- False +- 0 +- True +- True +- chk_same_group +- +- +- True +- True +- 1 +- +- +- +- ++ + True + False +- 12 ++ 6 ++ 6 ++ 6 + +- ++ + True + False +- +- +- New windows use the default layout +- True +- True +- False +- 0 +- True +- True +- +- +- True +- True +- 0 +- +- +- +- +- New windows use the previous window's layout +- True +- True +- False +- 0 +- True +- True +- chk_new_windows_default_layout +- +- +- True +- True +- 1 +- +- ++ 0 ++ Switch to previous source + ++ ++ 0 ++ 0 ++ 1 ++ 1 ++ ++ ++ ++ ++ True ++ False ++ end ++ True ++ Ctrl+Alt+Space ++ ++ ++ ++ 1 ++ 0 ++ 1 ++ 1 ++ ++ ++ ++ ++ True ++ False ++ 0 ++ Switch to next source ++ ++ ++ 0 ++ 1 ++ 1 ++ 1 ++ ++ ++ ++ ++ True ++ False ++ end ++ True ++ Ctrl+Alt+Shift+Space ++ ++ ++ ++ 1 ++ 1 ++ 1 ++ 1 ++ ++ ++ ++ ++ True ++ True ++ Shortcut Settings ++ end ++ ++ ++ 1 ++ 2 ++ 1 ++ 1 ++ + + +- +- True +- True +- 2 +- + + +- +- False +- False +- 0 +- +- +- +- +- True +- False +- +- +- True +- False +- 1 +- + +- +- ++ ++ + True + False +- 6 +- end +- +- +- _Options... +- True +- True +- True +- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- True +- View and edit keyboard layout options +- View and edit keyboard layout options +- True +- +- +- False +- False +- 0 +- +- +- +- +- Reset to De_faults +- True +- True +- True +- True +- Replace the current keyboard layout settings with the +-default settings +- Replace the current keyboard layout settings with the +-default settings +- True +- +- +- False +- False +- end +- 1 +- True +- +- ++ Shortcuts ++ True ++ ++ ++ + +- +- False +- False +- 2 +- + + + +@@ -951,17 +984,17 @@ default settings + + + +- 2 ++ 3 + + + +- ++ + True + False +- Keyboard Layouts ++ Input Sources + + +- 2 ++ 3 + False + + +@@ -974,9 +1007,6 @@ default settings + 12 + 12 + +- +- +- + + True + False +@@ -1051,6 +1081,7 @@ default settings + 2 + 3 + 3 ++ GTK_FILL + + + +@@ -1060,6 +1091,7 @@ default settings + 0 + 0 + True ++ 18 + + + 1 +@@ -1068,6 +1100,7 @@ default settings + 2 + 3 + 3 ++ GTK_FILL + + + +@@ -1178,6 +1211,7 @@ default settings + 2 + 3 + 3 ++ GTK_FILL + + + +@@ -1187,6 +1221,7 @@ default settings + 0 + 0 + True ++ 18 + + + 1 +@@ -1195,6 +1230,7 @@ default settings + 2 + 3 + 3 ++ GTK_FILL + + + +@@ -1254,6 +1290,7 @@ default settings + + + Copy Settings... ++ False + True + True + True +@@ -1269,9 +1306,12 @@ default settings + 3 + + ++ ++ ++ + + +- 3 ++ 4 + + + +@@ -1281,7 +1321,7 @@ default settings + System + + +- 3 ++ 4 + False + + +@@ -1302,4 +1342,11 @@ default settings + + + ++ ++ vertical ++ ++ ++ ++ ++ + +diff -uNrp a/panels/region/cinnamon-region-panel-xkb.c b/panels/region/cinnamon-region-panel-xkb.c +--- a/panels/region/cinnamon-region-panel-xkb.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkb.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,190 +0,0 @@ +-/* cinnamon-region-panel-xkb.c +- * Copyright (C) 2003-2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-#include +- +-XklEngine *engine; +-XklConfigRegistry *config_registry; +- +-GkbdKeyboardConfig initial_config; +-GkbdDesktopConfig desktop_config; +- +-GSettings *xkb_keyboard_settings; +-GSettings *xkb_desktop_settings; +- +-char * +-xci_desc_to_utf8 (const XklConfigItem * ci) +-{ +- gchar *dd = g_strdup (ci->description); +- gchar *sd = g_strstrip (dd); +- gchar *rv = g_strdup (sd[0] == 0 ? ci->name : sd); +- g_free (dd); +- return rv; +-} +- +-static void +-cleanup_xkb_tabs (GtkBuilder * dialog, +- GObject *where_the_object_wa) +-{ +- gkbd_desktop_config_term (&desktop_config); +- gkbd_keyboard_config_term (&initial_config); +- g_object_unref (G_OBJECT (config_registry)); +- config_registry = NULL; +- /* Don't unref it here, or we'll crash if open the panel again */ +- engine = NULL; +- g_object_unref (G_OBJECT (xkb_keyboard_settings)); +- g_object_unref (G_OBJECT (xkb_desktop_settings)); +- xkb_keyboard_settings = NULL; +- xkb_desktop_settings = NULL; +-} +- +-static void +-reset_to_defaults (GtkWidget * button, GtkBuilder * dialog) +-{ +- GkbdKeyboardConfig empty_kbd_config; +- +- gkbd_keyboard_config_init (&empty_kbd_config, engine); +- gkbd_keyboard_config_save (&empty_kbd_config); +- gkbd_keyboard_config_term (&empty_kbd_config); +- +- g_settings_reset (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP); +- +- /* all the rest is g-s-d's business */ +-} +- +-static void +-chk_new_windows_inherit_layout_toggled (GtkWidget * +- chk_new_windows_inherit_layout, +- GtkBuilder * dialog) +-{ +- xkb_save_default_group (gtk_toggle_button_get_active +- (GTK_TOGGLE_BUTTON +- (chk_new_windows_inherit_layout)) ? -1 : +- 0); +-} +- +-void +-setup_xkb_tabs (GtkBuilder * dialog) +-{ +- GtkWidget *widget; +- GtkStyleContext *context; +- GtkWidget *chk_new_windows_inherit_layout; +- +- chk_new_windows_inherit_layout = WID ("chk_new_windows_inherit_layout"); +- +- xkb_desktop_settings = g_settings_new (GKBD_DESKTOP_SCHEMA); +- xkb_keyboard_settings = g_settings_new (GKBD_KEYBOARD_SCHEMA); +- +- engine = +- xkl_engine_get_instance (GDK_DISPLAY_XDISPLAY +- (gdk_display_get_default ())); +- config_registry = xkl_config_registry_get_instance (engine); +- +- gkbd_desktop_config_init (&desktop_config, engine); +- gkbd_desktop_config_load (&desktop_config); +- +- xkl_config_registry_load (config_registry, +- desktop_config.load_extra_items); +- +- gkbd_keyboard_config_init (&initial_config, engine); +- gkbd_keyboard_config_load_from_x_initial (&initial_config, NULL); +- +- /* Set initial state */ +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (WID ("chk_separate_group_per_window")), +- g_settings_get_boolean (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW)); +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (chk_new_windows_inherit_layout), +- xkb_get_default_group () < 0); +- +- g_settings_bind (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW, +- WID ("chk_separate_group_per_window"), "active", +- G_SETTINGS_BIND_DEFAULT); +- g_settings_bind (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW, +- WID ("chk_new_windows_inherit_layout"), "sensitive", +- G_SETTINGS_BIND_DEFAULT); +- g_settings_bind (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_GROUP_PER_WINDOW, +- WID ("chk_new_windows_default_layout"), "sensitive", +- G_SETTINGS_BIND_DEFAULT); +- +- xkb_layouts_prepare_selected_tree (dialog); +- xkb_layouts_fill_selected_tree (dialog); +- +- xkb_layouts_register_buttons_handlers (dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_reset_to_defaults")), +- "clicked", G_CALLBACK (reset_to_defaults), +- dialog); +- +- g_signal_connect (G_OBJECT (chk_new_windows_inherit_layout), +- "toggled", +- G_CALLBACK +- (chk_new_windows_inherit_layout_toggled), +- dialog); +- +- g_signal_connect_swapped (G_OBJECT (WID ("xkb_layout_options")), +- "clicked", +- G_CALLBACK (xkb_options_popup_dialog), +- dialog); +- +- xkb_layouts_register_conf_listener (dialog); +- xkb_options_register_conf_listener (dialog); +- +- g_object_weak_ref (G_OBJECT (WID ("region_notebook")), +- (GWeakNotify) cleanup_xkb_tabs, dialog); +- +- enable_disable_restoring (dialog); +- +- /* Setup junction between toolbar and treeview */ +- widget = WID ("xkb_layouts_swindow"); +- context = gtk_widget_get_style_context (widget); +- gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM); +- widget = WID ("layouts-toolbar"); +- context = gtk_widget_get_style_context (widget); +- gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP); +-} +- +-void +-enable_disable_restoring (GtkBuilder * dialog) +-{ +- GkbdKeyboardConfig gswic; +- gboolean enable; +- +- gkbd_keyboard_config_init (&gswic, engine); +- gkbd_keyboard_config_load (&gswic, NULL); +- +- enable = !gkbd_keyboard_config_equals (&gswic, &initial_config); +- +- gkbd_keyboard_config_term (&gswic); +- gtk_widget_set_sensitive (WID ("xkb_reset_to_defaults"), enable); +-} +diff -uNrp a/panels/region/cinnamon-region-panel-xkb.h b/panels/region/cinnamon-region-panel-xkb.h +--- a/panels/region/cinnamon-region-panel-xkb.h 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkb.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,96 +0,0 @@ +-/* cinnamon-region-panel-xkb.h +- * Copyright (C) 2003-2007 Sergey V Udaltsov +- * +- * Written by Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifndef __GNOME_KEYBOARD_PROPERTY_XKB_H +-#define __GNOME_KEYBOARD_PROPERTY_XKB_H +- +-#include +- +-#include "libgnomekbd/gkbd-keyboard-config.h" +-#include "libgnomekbd/gkbd-util.h" +- +-G_BEGIN_DECLS +-#define CWID(s) GTK_WIDGET (gtk_builder_get_object (chooser_dialog, s)) +-#define WID(s) GTK_WIDGET (gtk_builder_get_object (dialog, s)) +-extern XklEngine *engine; +-extern XklConfigRegistry *config_registry; +-extern GSettings *xkb_keyboard_settings; +-extern GSettings *xkb_desktop_settings; +-extern GkbdKeyboardConfig initial_config; +- +-extern void setup_xkb_tabs (GtkBuilder * dialog); +- +-extern void xkb_layouts_fill_selected_tree (GtkBuilder * dialog); +- +-extern void xkb_layouts_register_buttons_handlers (GtkBuilder * dialog); +- +-extern void xkb_layouts_register_conf_listener (GtkBuilder * dialog); +- +-extern void xkb_options_register_conf_listener (GtkBuilder * dialog); +- +-extern void xkb_layouts_prepare_selected_tree (GtkBuilder * dialog); +- +-extern void xkb_options_load_options (GtkBuilder * dialog); +- +-extern void xkb_options_popup_dialog (GtkBuilder * dialog); +- +-extern char *xci_desc_to_utf8 (const XklConfigItem * ci); +- +-extern gchar *xkb_layout_description_utf8 (const gchar * visible); +- +-extern void enable_disable_restoring (GtkBuilder * dialog); +- +-extern void preview_toggled (GtkBuilder * dialog, GtkWidget * button); +- +-extern GtkWidget *xkb_layout_choose (GtkBuilder * dialog); +- +-extern void xkb_layout_chooser_response (GtkDialog *dialog, gint response_id); +- +-extern gchar **xkb_layouts_get_selected_list (void); +- +-extern gchar **xkb_options_get_selected_list (void); +- +-#define xkb_layouts_set_selected_list(list) \ +- g_settings_set_strv (xkb_keyboard_settings, \ +- GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS, \ +- (const gchar *const*)(list)) +- +-#define xkb_options_set_selected_list(list) \ +- g_settings_set_strv (xkb_keyboard_settings, \ +- GKBD_KEYBOARD_CONFIG_KEY_OPTIONS, \ +- (const gchar *const*)(list)) +- +-extern GtkWidget *xkb_layout_preview_create_widget (GtkBuilder * +- chooser_dialog); +- +-extern void xkb_layout_preview_update (GtkBuilder * chooser_dialog); +- +-extern void xkb_layout_preview_set_drawing_layout (GtkWidget * kbdraw, +- const gchar * id); +- +-extern gchar *xkb_layout_chooser_get_selected_id (GtkDialog *dialog); +- +-extern void xkb_save_default_group (gint group_no); +- +-extern gint xkb_get_default_group (void); +- +-G_END_DECLS +-#endif /* __GNOME_KEYBOARD_PROPERTY_XKB_H */ +diff -uNrp a/panels/region/cinnamon-region-panel-xkbltadd.c b/panels/region/cinnamon-region-panel-xkbltadd.c +--- a/panels/region/cinnamon-region-panel-xkbltadd.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkbltadd.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,495 +0,0 @@ +-/* cinnamon-region-panel-xkbltadd.c +- * Copyright (C) 2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +- +-#include +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-enum { +- COMBO_BOX_MODEL_COL_SORT, +- COMBO_BOX_MODEL_COL_VISIBLE, +- COMBO_BOX_MODEL_COL_XKB_ID, +- COMBO_BOX_MODEL_COL_COUNTRY_DESC, +- COMBO_BOX_MODEL_COL_LANGUAGE_DESC +-}; +- +-static gchar **search_pattern_list = NULL; +- +-static GtkWidget *preview_dialog = NULL; +- +-static GRegex *left_bracket_regex = NULL; +- +-#define RESPONSE_PREVIEW 1 +- +-static void +-xkb_preview_destroy_callback (GtkWidget * widget) +-{ +- preview_dialog = NULL; +-} +- +-static gboolean +-xkb_layout_chooser_selection_dupe (GtkDialog * dialog) +-{ +- gchar *selected_id = +- (gchar *) xkb_layout_chooser_get_selected_id (dialog); +- gchar **layouts_list, **pl; +- gboolean rv = FALSE; +- if (selected_id == NULL) +- return rv; +- layouts_list = pl = xkb_layouts_get_selected_list (); +- while (pl && *pl) { +- if (!g_ascii_strcasecmp (*pl++, selected_id)) { +- rv = TRUE; +- break; +- } +- } +- g_strfreev (layouts_list); +- return rv; +-} +- +-void +-xkb_layout_chooser_response (GtkDialog * dialog, gint response) +-{ +- switch (response) +- case GTK_RESPONSE_OK:{ +- /* Handled by the main code */ +- break; +- case RESPONSE_PREVIEW:{ +- gchar *selected_id = (gchar *) +- xkb_layout_chooser_get_selected_id +- (dialog); +- +- if (selected_id != NULL) { +- if (preview_dialog == NULL) { +- preview_dialog = +- gkbd_keyboard_drawing_dialog_new +- (); +- g_signal_connect (G_OBJECT +- (preview_dialog), +- "destroy", +- G_CALLBACK +- (xkb_preview_destroy_callback), +- NULL); +- /* Put into the separate group to avoid conflict +- with modal parent */ +- gtk_window_group_add_window +- (gtk_window_group_new +- (), +- GTK_WINDOW +- (preview_dialog)); +- }; +- gkbd_keyboard_drawing_dialog_set_layout +- (preview_dialog, +- config_registry, selected_id); +- +- gtk_widget_show_all +- (preview_dialog); +- } +- } +- +- return; +- } +- if (preview_dialog != NULL) { +- gtk_widget_destroy (preview_dialog); +- } +- if (search_pattern_list != NULL) { +- g_strfreev (search_pattern_list); +- search_pattern_list = NULL; +- } +- gtk_widget_destroy (GTK_WIDGET (dialog)); +-} +- +-static gchar * +-xkl_create_description_from_list (const XklConfigItem * item, +- const XklConfigItem * subitem, +- const gchar * prop_name, +- const gchar * +- (*desc_getter) (const gchar * code)) +-{ +- gchar *rv = NULL, *code = NULL; +- gchar **list = NULL; +- const gchar *desc; +- +- if (subitem != NULL) +- list = +- (gchar +- **) (g_object_get_data (G_OBJECT (subitem), +- prop_name)); +- if (list == NULL || *list == 0) +- list = +- (gchar +- **) (g_object_get_data (G_OBJECT (item), prop_name)); +- +- /* First try the parent id as such */ +- desc = desc_getter (item->name); +- if (desc != NULL) { +- rv = g_utf8_strup (desc, -1); +- } else { +- code = g_utf8_strup (item->name, -1); +- desc = desc_getter (code); +- if (desc != NULL) { +- rv = g_utf8_strup (desc, -1); +- } +- g_free (code); +- } +- +- if (list == NULL || *list == 0) +- return rv; +- +- while (*list != 0) { +- code = *list++; +- desc = desc_getter (code); +- if (desc != NULL) { +- gchar *udesc = g_utf8_strup (desc, -1); +- if (rv == NULL) { +- rv = udesc; +- } else { +- gchar *orv = rv; +- rv = g_strdup_printf ("%s %s", rv, udesc); +- g_free (orv); +- g_free (udesc); +- } +- } +- } +- return rv; +-} +- +-static void +-xkl_layout_add_to_list (XklConfigRegistry * config, +- const XklConfigItem * item, +- const XklConfigItem * subitem, +- GtkBuilder * chooser_dialog) +-{ +- GtkListStore *list_store = +- GTK_LIST_STORE (gtk_builder_get_object (chooser_dialog, +- "layout_list_model")); +- GtkTreeIter iter; +- +- gchar *utf_variant_name = +- subitem ? +- xkb_layout_description_utf8 (gkbd_keyboard_config_merge_items +- (item->name, +- subitem->name)) : +- xci_desc_to_utf8 (item); +- +- const gchar *xkb_id = +- subitem ? gkbd_keyboard_config_merge_items (item->name, +- subitem->name) : +- item->name; +- +- gchar *country_desc = +- xkl_create_description_from_list (item, subitem, +- XCI_PROP_COUNTRY_LIST, +- xkl_get_country_name); +- gchar *language_desc = +- xkl_create_description_from_list (item, subitem, +- XCI_PROP_LANGUAGE_LIST, +- xkl_get_language_name); +- +- gchar *tmp = utf_variant_name; +- utf_variant_name = +- g_regex_replace_literal (left_bracket_regex, tmp, -1, 0, +- "<", 0, NULL); +- g_free (tmp); +- +- if (subitem +- && g_object_get_data (G_OBJECT (subitem), +- XCI_PROP_EXTRA_ITEM)) { +- gchar *buf = +- g_strdup_printf ("%s", utf_variant_name); +- gtk_list_store_insert_with_values (list_store, &iter, -1, +- COMBO_BOX_MODEL_COL_SORT, +- utf_variant_name, +- COMBO_BOX_MODEL_COL_VISIBLE, +- buf, +- COMBO_BOX_MODEL_COL_XKB_ID, +- xkb_id, +- COMBO_BOX_MODEL_COL_COUNTRY_DESC, +- country_desc, +- COMBO_BOX_MODEL_COL_LANGUAGE_DESC, +- language_desc, -1); +- g_free (buf); +- } else +- gtk_list_store_insert_with_values (list_store, &iter, +- -1, +- COMBO_BOX_MODEL_COL_SORT, +- utf_variant_name, +- COMBO_BOX_MODEL_COL_VISIBLE, +- utf_variant_name, +- COMBO_BOX_MODEL_COL_XKB_ID, +- xkb_id, +- COMBO_BOX_MODEL_COL_COUNTRY_DESC, +- country_desc, +- COMBO_BOX_MODEL_COL_LANGUAGE_DESC, +- language_desc, -1); +- g_free (utf_variant_name); +- g_free (country_desc); +- g_free (language_desc); +-} +- +-static void +-xkb_layout_filter_clear (GtkEntry * entry, +- GtkEntryIconPosition icon_pos, +- GdkEvent * event, gpointer user_data) +-{ +- gtk_entry_set_text (entry, ""); +-} +- +-static void +-xkb_layout_filter_changed (GtkBuilder * chooser_dialog) +-{ +- GtkTreeModelFilter *filtered_model = +- GTK_TREE_MODEL_FILTER (gtk_builder_get_object (chooser_dialog, +- "filtered_layout_list_model")); +- GtkWidget *xkb_layout_filter = CWID ("xkb_layout_filter"); +- const gchar *pattern = +- gtk_entry_get_text (GTK_ENTRY (xkb_layout_filter)); +- gchar *upattern = g_utf8_strup (pattern, -1); +- +- if (!g_strcmp0 (pattern, "")) { +- g_object_set (G_OBJECT (xkb_layout_filter), +- "secondary-icon-name", "edit-find-symbolic", +- "secondary-icon-activatable", FALSE, +- "secondary-icon-sensitive", FALSE, NULL); +- } else { +- g_object_set (G_OBJECT (xkb_layout_filter), +- "secondary-icon-name", "edit-clear-symbolic", +- "secondary-icon-activatable", TRUE, +- "secondary-icon-sensitive", TRUE, NULL); +- } +- +- if (search_pattern_list != NULL) +- g_strfreev (search_pattern_list); +- +- search_pattern_list = g_strsplit (upattern, " ", -1); +- g_free (upattern); +- +- gtk_tree_model_filter_refilter (filtered_model); +-} +- +-static void +-xkb_layout_chooser_selection_changed (GtkTreeSelection * selection, +- GtkBuilder * chooser_dialog) +-{ +- GList *selected_layouts = +- gtk_tree_selection_get_selected_rows (selection, NULL); +- GtkWidget *add_button = CWID ("btnOk"); +- GtkWidget *preview_button = CWID ("btnPreview"); +- gboolean anything_selected = g_list_length (selected_layouts) == 1; +- gboolean dupe = +- xkb_layout_chooser_selection_dupe (GTK_DIALOG +- (CWID +- ("xkb_layout_chooser"))); +- +- gtk_widget_set_sensitive (add_button, anything_selected && !dupe); +- gtk_widget_set_sensitive (preview_button, anything_selected); +-} +- +-static void +-xkb_layout_chooser_row_activated (GtkTreeView * tree_view, +- GtkTreePath * path, +- GtkTreeViewColumn * column, +- GtkBuilder * chooser_dialog) +-{ +- GtkWidget *add_button = CWID ("btnOk"); +- GtkWidget *dialog = CWID ("xkb_layout_chooser"); +- +- if (gtk_widget_is_sensitive (add_button)) +- gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); +-} +- +-static gboolean +-xkb_filter_layouts (GtkTreeModel * model, +- GtkTreeIter * iter, gpointer data) +-{ +- gchar *desc = NULL, *country_desc = NULL, *language_desc = +- NULL, **pattern; +- gboolean rv = TRUE; +- +- if (search_pattern_list == NULL || search_pattern_list[0] == NULL) +- return TRUE; +- +- gtk_tree_model_get (model, iter, +- COMBO_BOX_MODEL_COL_SORT, &desc, +- COMBO_BOX_MODEL_COL_COUNTRY_DESC, +- &country_desc, +- COMBO_BOX_MODEL_COL_LANGUAGE_DESC, +- &language_desc, -1); +- +- pattern = search_pattern_list; +- do { +- gboolean is_pattern_found = FALSE; +- gchar *udesc = g_utf8_strup (desc, -1); +- if (udesc != NULL && g_strstr_len (udesc, -1, *pattern)) { +- is_pattern_found = TRUE; +- } else if (country_desc != NULL +- && g_strstr_len (country_desc, -1, *pattern)) { +- is_pattern_found = TRUE; +- } else if (language_desc != NULL +- && g_strstr_len (language_desc, -1, *pattern)) { +- is_pattern_found = TRUE; +- } +- g_free (udesc); +- +- if (!is_pattern_found) { +- rv = FALSE; +- break; +- } +- +- } while (*++pattern != NULL); +- +- g_free (desc); +- g_free (country_desc); +- g_free (language_desc); +- return rv; +-} +- +-GtkWidget * +-xkb_layout_choose (GtkBuilder * dialog) +-{ +- GtkBuilder *chooser_dialog = gtk_builder_new (); +- GtkWidget *chooser, *xkb_filtered_layouts_list, *xkb_layout_filter; +- GtkTreeViewColumn *visible_column; +- GtkTreeSelection *selection; +- GtkListStore *model; +- GtkTreeModelFilter *filtered_model; +- gtk_builder_set_translation_domain (chooser_dialog, GETTEXT_PACKAGE); +- gtk_builder_add_from_file (chooser_dialog, CINNAMONCC_UI_DIR +- "/cinnamon-region-panel-layout-chooser.ui", +- NULL); +- chooser = CWID ("xkb_layout_chooser"); +- xkb_filtered_layouts_list = CWID ("xkb_filtered_layouts_list"); +- xkb_layout_filter = CWID ("xkb_layout_filter"); +- +- g_object_set_data (G_OBJECT (chooser), "xkb_filtered_layouts_list", +- xkb_filtered_layouts_list); +- visible_column = +- gtk_tree_view_column_new_with_attributes ("Layout", +- gtk_cell_renderer_text_new +- (), "markup", +- COMBO_BOX_MODEL_COL_VISIBLE, +- NULL); +- +- gtk_window_set_transient_for (GTK_WINDOW (chooser), +- GTK_WINDOW +- (gtk_widget_get_toplevel +- (WID ("region_notebook")))); +- +- gtk_tree_view_append_column (GTK_TREE_VIEW +- (xkb_filtered_layouts_list), +- visible_column); +- g_signal_connect_swapped (G_OBJECT (xkb_layout_filter), +- "notify::text", +- G_CALLBACK +- (xkb_layout_filter_changed), +- chooser_dialog); +- +- g_signal_connect (G_OBJECT (xkb_layout_filter), "icon-release", +- G_CALLBACK (xkb_layout_filter_clear), NULL); +- +- selection = +- gtk_tree_view_get_selection (GTK_TREE_VIEW +- (xkb_filtered_layouts_list)); +- +- g_signal_connect (G_OBJECT (selection), +- "changed", +- G_CALLBACK +- (xkb_layout_chooser_selection_changed), +- chooser_dialog); +- +- xkb_layout_chooser_selection_changed (selection, chooser_dialog); +- +- g_signal_connect (G_OBJECT (xkb_filtered_layouts_list), +- "row-activated", +- G_CALLBACK (xkb_layout_chooser_row_activated), +- chooser_dialog); +- +- filtered_model = +- GTK_TREE_MODEL_FILTER (gtk_builder_get_object +- (chooser_dialog, +- "filtered_layout_list_model")); +- model = +- GTK_LIST_STORE (gtk_builder_get_object +- (chooser_dialog, "layout_list_model")); +- +- left_bracket_regex = g_regex_new ("<", 0, 0, NULL); +- +- xkl_config_registry_search_by_pattern (config_registry, +- NULL, +- (TwoConfigItemsProcessFunc) +- (xkl_layout_add_to_list), +- chooser_dialog); +- +- g_regex_unref (left_bracket_regex); +- +- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), +- COMBO_BOX_MODEL_COL_SORT, +- GTK_SORT_ASCENDING); +- +- gtk_tree_model_filter_set_visible_func (filtered_model, +- xkb_filter_layouts, +- NULL, NULL); +- +- gtk_widget_grab_focus (xkb_layout_filter); +- +- gtk_widget_show (chooser); +- +- return chooser; +-} +- +-gchar * +-xkb_layout_chooser_get_selected_id (GtkDialog * dialog) +-{ +- GtkTreeModel *filtered_list_model; +- GtkWidget *xkb_filtered_layouts_list = +- g_object_get_data (G_OBJECT (dialog), +- "xkb_filtered_layouts_list"); +- GtkTreeIter viter; +- gchar *v_id; +- GtkTreeSelection *selection = +- gtk_tree_view_get_selection (GTK_TREE_VIEW +- (xkb_filtered_layouts_list)); +- GList *selected_layouts = +- gtk_tree_selection_get_selected_rows (selection, +- &filtered_list_model); +- +- if (g_list_length (selected_layouts) != 1) +- return NULL; +- +- gtk_tree_model_get_iter (filtered_list_model, +- &viter, +- (GtkTreePath *) (selected_layouts->data)); +- g_list_foreach (selected_layouts, +- (GFunc) gtk_tree_path_free, NULL); +- g_list_free (selected_layouts); +- +- gtk_tree_model_get (filtered_list_model, &viter, +- COMBO_BOX_MODEL_COL_XKB_ID, &v_id, -1); +- +- return v_id; +-} +diff -uNrp a/panels/region/cinnamon-region-panel-xkblt.c b/panels/region/cinnamon-region-panel-xkblt.c +--- a/panels/region/cinnamon-region-panel-xkblt.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkblt.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,470 +0,0 @@ +-/* cinnamon-region-panel-xkblt.c +- * Copyright (C) 2003-2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +- +-#include +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-enum { +- SEL_LAYOUT_TREE_COL_DESCRIPTION, +- SEL_LAYOUT_TREE_COL_ID, +- SEL_LAYOUT_TREE_COL_ENABLED, +- SEL_LAYOUT_N_COLS +-}; +- +-static int idx2select = -1; +-static int max_selected_layouts = -1; +- +-static GtkCellRenderer *text_renderer; +- +-static gboolean disable_buttons_sensibility_update = FALSE; +- +-static gboolean +-get_selected_iter (GtkBuilder *dialog, +- GtkTreeModel **model, +- GtkTreeIter *iter) +-{ +- GtkTreeSelection *selection; +- +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("xkb_layouts_selected"))); +- +- return gtk_tree_selection_get_selected (selection, model, iter); +-} +- +-static void +-set_selected_path (GtkBuilder *dialog, +- GtkTreePath *path) +-{ +- GtkTreeSelection *selection; +- +- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (WID ("xkb_layouts_selected"))); +- +- gtk_tree_selection_select_path (selection, path); +-} +- +-static gint +-find_selected_layout_idx (GtkBuilder *dialog) +-{ +- GtkTreeIter selected_iter; +- GtkTreeModel *model; +- GtkTreePath *path; +- gint *indices; +- gint rv; +- +- if (!get_selected_iter (dialog, &model, &selected_iter)) +- return -1; +- +- path = gtk_tree_model_get_path (model, &selected_iter); +- if (path == NULL) +- return -1; +- +- indices = gtk_tree_path_get_indices (path); +- rv = indices[0]; +- gtk_tree_path_free (path); +- return rv; +-} +- +-gchar ** +-xkb_layouts_get_selected_list (void) +-{ +- gchar **retval; +- +- retval = g_settings_get_strv (xkb_keyboard_settings, +- GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS); +- if (retval == NULL || retval[0] == NULL) { +- g_strfreev (retval); +- retval = g_strdupv (initial_config.layouts_variants); +- } +- +- return retval; +-} +- +-gint +-xkb_get_default_group () +-{ +- return g_settings_get_int (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP); +-} +- +-void +-xkb_save_default_group (gint default_group) +-{ +- g_settings_set_int (xkb_desktop_settings, +- GKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP, +- default_group); +-} +- +-static void +-xkb_layouts_enable_disable_buttons (GtkBuilder * dialog) +-{ +- GtkWidget *add_layout_btn = WID ("xkb_layouts_add"); +- GtkWidget *show_layout_btn = WID ("xkb_layouts_show"); +- GtkWidget *del_layout_btn = WID ("xkb_layouts_remove"); +- GtkWidget *selected_layouts_tree = WID ("xkb_layouts_selected"); +- GtkWidget *move_up_layout_btn = WID ("xkb_layouts_move_up"); +- GtkWidget *move_down_layout_btn = WID ("xkb_layouts_move_down"); +- +- GtkTreeSelection *s_selection = +- gtk_tree_view_get_selection (GTK_TREE_VIEW +- (selected_layouts_tree)); +- const int n_selected_selected_layouts = +- gtk_tree_selection_count_selected_rows (s_selection); +- GtkTreeModel *selected_layouts_model = gtk_tree_view_get_model +- (GTK_TREE_VIEW (selected_layouts_tree)); +- const int n_selected_layouts = +- gtk_tree_model_iter_n_children (selected_layouts_model, +- NULL); +- gint sidx = find_selected_layout_idx (dialog); +- +- if (disable_buttons_sensibility_update) +- return; +- +- gtk_widget_set_sensitive (add_layout_btn, +- (n_selected_layouts < +- max_selected_layouts +- || max_selected_layouts == 0)); +- gtk_widget_set_sensitive (del_layout_btn, (n_selected_layouts > 1) +- && (n_selected_selected_layouts > 0)); +- gtk_widget_set_sensitive (show_layout_btn, +- (n_selected_selected_layouts > 0)); +- gtk_widget_set_sensitive (move_up_layout_btn, sidx > 0); +- gtk_widget_set_sensitive (move_down_layout_btn, sidx >= 0 +- && sidx < (n_selected_layouts - 1)); +-} +- +-static void +-update_layouts_list (GtkTreeModel *model, +- GtkBuilder *dialog) +-{ +- gboolean cont; +- GtkTreeIter iter; +- GPtrArray *array; +- +- array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_free); +- cont = gtk_tree_model_get_iter_first (model, &iter); +- while (cont) { +- char *id; +- +- gtk_tree_model_get (model, &iter, +- SEL_LAYOUT_TREE_COL_ID, &id, +- -1); +- g_ptr_array_add (array, id); +- cont = gtk_tree_model_iter_next (model, &iter); +- } +- g_ptr_array_add (array, NULL); +- xkb_layouts_set_selected_list (array->pdata); +- g_ptr_array_free (array, TRUE); +- +- xkb_layouts_enable_disable_buttons (dialog); +-} +- +-static void +-xkb_layouts_drag_end (GtkWidget *widget, +- GdkDragContext *drag_context, +- gpointer user_data) +-{ +- update_layouts_list (gtk_tree_view_get_model (GTK_TREE_VIEW (widget)), +- GTK_BUILDER (user_data)); +-} +- +-void +-xkb_layouts_prepare_selected_tree (GtkBuilder * dialog) +-{ +- GtkListStore *list_store; +- GtkWidget *tree_view = WID ("xkb_layouts_selected"); +- GtkTreeSelection *selection; +- GtkTreeViewColumn *desc_column; +- +- list_store = gtk_list_store_new (SEL_LAYOUT_N_COLS, +- G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); +- +- text_renderer = GTK_CELL_RENDERER (gtk_cell_renderer_text_new ()); +- +- desc_column = +- gtk_tree_view_column_new_with_attributes (_("Layout"), +- text_renderer, +- "text", +- SEL_LAYOUT_TREE_COL_DESCRIPTION, +- "sensitive", +- SEL_LAYOUT_TREE_COL_ENABLED, +- NULL); +- selection = +- gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); +- +- gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), +- GTK_TREE_MODEL (list_store)); +- +- gtk_tree_view_column_set_sizing (desc_column, +- GTK_TREE_VIEW_COLUMN_AUTOSIZE); +- gtk_tree_view_column_set_resizable (desc_column, TRUE); +- gtk_tree_view_column_set_expand (desc_column, TRUE); +- +- gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), +- desc_column); +- +- g_signal_connect_swapped (G_OBJECT (selection), "changed", +- G_CALLBACK +- (xkb_layouts_enable_disable_buttons), +- dialog); +- max_selected_layouts = xkl_engine_get_max_num_groups (engine); +- +- /* Setting up DnD */ +- gtk_tree_view_set_reorderable (GTK_TREE_VIEW (tree_view), TRUE); +- g_signal_connect (G_OBJECT (tree_view), "drag-end", +- G_CALLBACK (xkb_layouts_drag_end), dialog); +-} +- +-gchar * +-xkb_layout_description_utf8 (const gchar * visible) +-{ +- char *l, *sl, *v, *sv; +- if (gkbd_keyboard_config_get_descriptions +- (config_registry, visible, &sl, &l, &sv, &v)) +- visible = +- gkbd_keyboard_config_format_full_description (l, v); +- return g_strstrip (g_strdup (visible)); +-} +- +-void +-xkb_layouts_fill_selected_tree (GtkBuilder * dialog) +-{ +- gchar **layouts = xkb_layouts_get_selected_list (); +- guint i; +- GtkListStore *list_store = +- GTK_LIST_STORE (gtk_tree_view_get_model +- (GTK_TREE_VIEW +- (WID ("xkb_layouts_selected")))); +- +- /* temporarily disable the buttons' status update */ +- disable_buttons_sensibility_update = TRUE; +- +- gtk_list_store_clear (list_store); +- +- for (i = 0; layouts != NULL && layouts[i] != NULL; i++) { +- char *cur_layout = layouts[i]; +- gchar *utf_visible = +- xkb_layout_description_utf8 (cur_layout); +- +- gtk_list_store_insert_with_values (list_store, NULL, G_MAXINT, +- SEL_LAYOUT_TREE_COL_DESCRIPTION, +- utf_visible, +- SEL_LAYOUT_TREE_COL_ID, +- cur_layout, +- SEL_LAYOUT_TREE_COL_ENABLED, +- i < max_selected_layouts, -1); +- g_free (utf_visible); +- } +- +- g_strfreev (layouts); +- +- /* enable the buttons' status update */ +- disable_buttons_sensibility_update = FALSE; +- +- if (idx2select != -1) { +- GtkTreeSelection *selection = +- gtk_tree_view_get_selection ((GTK_TREE_VIEW +- (WID +- ("xkb_layouts_selected")))); +- GtkTreePath *path = +- gtk_tree_path_new_from_indices (idx2select, -1); +- gtk_tree_selection_select_path (selection, path); +- gtk_tree_path_free (path); +- idx2select = -1; +- } else { +- /* if there is nothing to select - just enable/disable the buttons, +- otherwise it would be done by the selection change */ +- xkb_layouts_enable_disable_buttons (dialog); +- } +-} +- +-static void +-add_default_switcher_if_necessary () +-{ +- gchar **layouts_list = xkb_layouts_get_selected_list(); +- gchar **options_list = xkb_options_get_selected_list (); +- gboolean was_appended; +- +- options_list = +- gkbd_keyboard_config_add_default_switch_option_if_necessary +- (layouts_list, options_list, &was_appended); +- if (was_appended) +- xkb_options_set_selected_list (options_list); +- g_strfreev (options_list); +-} +- +-static void +-chooser_response (GtkDialog *chooser, +- int response_id, +- GtkBuilder *dialog) +-{ +- if (response_id == GTK_RESPONSE_OK) { +- char *id, *name; +- GtkListStore *list_store; +- +- list_store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (WID ("xkb_layouts_selected")))); +- id = xkb_layout_chooser_get_selected_id (chooser); +- name = xkb_layout_description_utf8 (id); +- gtk_list_store_insert_with_values (list_store, NULL, G_MAXINT, +- SEL_LAYOUT_TREE_COL_DESCRIPTION, name, +- SEL_LAYOUT_TREE_COL_ID, id, +- SEL_LAYOUT_TREE_COL_ENABLED, TRUE, +- -1); +- g_free (name); +- add_default_switcher_if_necessary (); +- update_layouts_list (GTK_TREE_MODEL (list_store), dialog); +- } +- +- xkb_layout_chooser_response (chooser, response_id); +-} +- +-static void +-add_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- GtkWidget *chooser; +- +- chooser = xkb_layout_choose (dialog); +- g_signal_connect (G_OBJECT (chooser), "response", +- G_CALLBACK (chooser_response), dialog); +-} +- +-static void +-show_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- gint idx = find_selected_layout_idx (dialog); +- +- if (idx != -1) { +- GtkWidget *parent = WID ("region_notebook"); +- GtkWidget *popup = gkbd_keyboard_drawing_dialog_new (); +- gkbd_keyboard_drawing_dialog_set_group (popup, +- config_registry, +- idx); +- gtk_window_set_transient_for (GTK_WINDOW (popup), +- GTK_WINDOW +- (gtk_widget_get_toplevel +- (parent))); +- gtk_widget_show_all (popup); +- } +-} +- +-static void +-remove_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- GtkTreeModel *model; +- GtkTreeIter iter; +- +- if (get_selected_iter (dialog, &model, &iter) == FALSE) +- return; +- +- gtk_list_store_remove (GTK_LIST_STORE (model), &iter); +- update_layouts_list (model, dialog); +-} +- +-static void +-move_up_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- GtkTreeModel *model; +- GtkTreeIter iter, prev; +- GtkTreePath *path; +- +- if (get_selected_iter (dialog, &model, &iter) == FALSE) +- return; +- +- prev = iter; +- if (!gtk_tree_model_iter_previous (model, &prev)) +- return; +- +- path = gtk_tree_model_get_path (model, &prev); +- +- gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &prev); +- +- update_layouts_list (model, dialog); +- +- set_selected_path (dialog, path); +- +- gtk_tree_path_free (path); +-} +- +-static void +-move_down_selected_layout (GtkWidget * button, GtkBuilder * dialog) +-{ +- GtkTreeModel *model; +- GtkTreeIter iter, next; +- GtkTreePath *path; +- +- if (get_selected_iter (dialog, &model, &iter) == FALSE) +- return; +- +- next = iter; +- if (!gtk_tree_model_iter_next (model, &next)) +- return; +- +- path = gtk_tree_model_get_path (model, &next); +- +- gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &next); +- +- update_layouts_list (model, dialog); +- +- set_selected_path (dialog, path); +- +- gtk_tree_path_free (path); +-} +- +-void +-xkb_layouts_register_buttons_handlers (GtkBuilder * dialog) +-{ +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_add")), "clicked", +- G_CALLBACK (add_selected_layout), dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_show")), "clicked", +- G_CALLBACK (show_selected_layout), dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_remove")), "clicked", +- G_CALLBACK (remove_selected_layout), dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_move_up")), +- "clicked", G_CALLBACK (move_up_selected_layout), +- dialog); +- g_signal_connect (G_OBJECT (WID ("xkb_layouts_move_down")), +- "clicked", +- G_CALLBACK (move_down_selected_layout), dialog); +-} +- +-static void +-xkb_layouts_update_list (GSettings * settings, +- gchar * key, GtkBuilder * dialog) +-{ +- if (strcmp (key, GKBD_KEYBOARD_CONFIG_KEY_LAYOUTS) == 0) { +- xkb_layouts_fill_selected_tree (dialog); +- enable_disable_restoring (dialog); +- } +-} +- +-void +-xkb_layouts_register_conf_listener (GtkBuilder * dialog) +-{ +- g_signal_connect (xkb_keyboard_settings, "changed", +- G_CALLBACK (xkb_layouts_update_list), dialog); +-} +diff -uNrp a/panels/region/cinnamon-region-panel-xkbot.c b/panels/region/cinnamon-region-panel-xkbot.c +--- a/panels/region/cinnamon-region-panel-xkbot.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkbot.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,516 +0,0 @@ +-/* cinnamon-region-panel-xkbot.c +- * Copyright (C) 2003-2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * John Spray +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-static GtkBuilder *chooser_dialog = NULL; +-static const char *current1st_level_id = NULL; +-static GSList *option_checks_list = NULL; +-static GtkWidget *current_none_radio = NULL; +-static GtkWidget *current_expander = NULL; +-static gboolean current_multi_select = FALSE; +-static GSList *current_radio_group = NULL; +- +-#define OPTION_ID_PROP "optionID" +-#define SELCOUNTER_PROP "selectionCounter" +-#define GCONFSTATE_PROP "gconfState" +-#define EXPANDERS_PROP "expandersList" +- +-gchar ** +-xkb_options_get_selected_list (void) +-{ +- gchar **retval; +- +- retval = +- g_settings_get_strv (xkb_keyboard_settings, +- GKBD_KEYBOARD_CONFIG_KEY_OPTIONS); +- if (retval == NULL) { +- retval = g_strdupv (initial_config.options); +- } +- +- return retval; +-} +- +-/* Returns the selection counter of the expander (static current_expander) */ +-static int +-xkb_options_expander_selcounter_get (void) +-{ +- return +- GPOINTER_TO_INT (g_object_get_data +- (G_OBJECT (current_expander), +- SELCOUNTER_PROP)); +-} +- +-/* Increments the selection counter in the expander (static current_expander) +- using the value (can be 0)*/ +-static void +-xkb_options_expander_selcounter_add (int value) +-{ +- g_object_set_data (G_OBJECT (current_expander), SELCOUNTER_PROP, +- GINT_TO_POINTER +- (xkb_options_expander_selcounter_get () +- + value)); +-} +- +-/* Resets the seletion counter in the expander (static current_expander) */ +-static void +-xkb_options_expander_selcounter_reset (void) +-{ +- g_object_set_data (G_OBJECT (current_expander), SELCOUNTER_PROP, +- GINT_TO_POINTER (0)); +-} +- +-/* Formats the expander (static current_expander), based on the selection counter */ +-static void +-xkb_options_expander_highlight (void) +-{ +- char *utf_group_name = +- g_object_get_data (G_OBJECT (current_expander), +- "utfGroupName"); +- int counter = xkb_options_expander_selcounter_get (); +- if (utf_group_name != NULL) { +- gchar *titlemarkup = +- g_strconcat (counter > +- 0 ? "" : "", +- utf_group_name, "", NULL); +- gtk_expander_set_label (GTK_EXPANDER (current_expander), +- titlemarkup); +- g_free (titlemarkup); +- } +-} +- +-/* Add optionname from the backend's selection list if it's not +- already in there. */ +-static void +-xkb_options_select (gchar * optionname) +-{ +- gboolean already_selected = FALSE; +- gchar **options_list; +- guint i; +- +- options_list = xkb_options_get_selected_list (); +- for (i = 0; options_list != NULL && options_list[i] != NULL; i++) { +- gchar *option = options_list[i]; +- if (!strcmp (option, optionname)) { +- already_selected = TRUE; +- break; +- } +- } +- +- if (!already_selected) { +- options_list = +- gkbd_strv_append (options_list, g_strdup (optionname)); +- xkb_options_set_selected_list (options_list); +- } +- +- g_strfreev (options_list); +-} +- +-/* Remove all occurences of optionname from the backend's selection list */ +-static void +-xkb_options_deselect (gchar * optionname) +-{ +- gchar **options_list = xkb_options_get_selected_list (); +- if (options_list != NULL) { +- gchar **option = options_list; +- while (*option != NULL) { +- gchar *id = *option; +- if (!strcmp (id, optionname)) { +- gkbd_strv_behead (option); +- } else +- option++; +- } +- xkb_options_set_selected_list (options_list); +- } +- g_strfreev (options_list); +-} +- +-/* Return true if optionname describes a string already in the backend's +- list of selected options */ +-static gboolean +-xkb_options_is_selected (gchar * optionname) +-{ +- gboolean retval = FALSE; +- gchar **options_list = xkb_options_get_selected_list (); +- if (options_list != NULL) { +- gchar **option = options_list; +- while (*option != NULL) { +- if (!strcmp (*option, optionname)) { +- retval = TRUE; +- break; +- } +- option++; +- } +- } +- g_strfreev (options_list); +- return retval; +-} +- +-/* Make sure selected options stay visible when navigating with the keyboard */ +-static gboolean +-option_focused_cb (GtkWidget * widget, GdkEventFocus * event, +- gpointer data) +-{ +- GtkScrolledWindow *win = GTK_SCROLLED_WINDOW (data); +- GtkAllocation alloc; +- GtkAdjustment *adj; +- +- gtk_widget_get_allocation (widget, &alloc); +- adj = gtk_scrolled_window_get_vadjustment (win); +- gtk_adjustment_clamp_page (adj, alloc.y, alloc.y + alloc.height); +- +- return FALSE; +-} +- +-/* Update xkb backend to reflect the new UI state */ +-static void +-option_toggled_cb (GtkWidget * checkbutton, gpointer data) +-{ +- gpointer optionID = +- g_object_get_data (G_OBJECT (checkbutton), OPTION_ID_PROP); +- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton))) +- xkb_options_select (optionID); +- else +- xkb_options_deselect (optionID); +-} +- +-/* Add a check_button or radio_button to control a particular option +- This function makes particular use of the current... variables at +- the top of this file. */ +-static void +-xkb_options_add_option (XklConfigRegistry * config_registry, +- XklConfigItem * config_item, GtkBuilder * dialog) +-{ +- GtkWidget *option_check; +- gchar *utf_option_name = xci_desc_to_utf8 (config_item); +- /* Copy this out because we'll load it into the widget with set_data */ +- gchar *full_option_name = +- g_strdup (gkbd_keyboard_config_merge_items +- (current1st_level_id, config_item->name)); +- gboolean initial_state; +- +- if (current_multi_select) +- option_check = +- gtk_check_button_new_with_label (utf_option_name); +- else { +- if (current_radio_group == NULL) { +- /* The first radio in a group is to be "Default", meaning none of +- the below options are to be included in the selected list. +- This is a HIG-compliant alternative to allowing no +- selection in the group. */ +- option_check = +- gtk_radio_button_new_with_label +- (current_radio_group, _("Default")); +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON +- (option_check), +- TRUE); +- /* Make option name underscore - +- to enforce its first position in the list */ +- g_object_set_data_full (G_OBJECT (option_check), +- "utfOptionName", +- g_strdup (" "), g_free); +- option_checks_list = +- g_slist_append (option_checks_list, +- option_check); +- current_radio_group = +- gtk_radio_button_get_group (GTK_RADIO_BUTTON +- (option_check)); +- current_none_radio = option_check; +- +- g_signal_connect (option_check, "focus-in-event", +- G_CALLBACK (option_focused_cb), +- WID ("options_scroll")); +- } +- option_check = +- gtk_radio_button_new_with_label (current_radio_group, +- utf_option_name); +- current_radio_group = +- gtk_radio_button_get_group (GTK_RADIO_BUTTON +- (option_check)); +- g_object_set_data (G_OBJECT (option_check), "NoneRadio", +- current_none_radio); +- } +- +- initial_state = xkb_options_is_selected (full_option_name); +- +- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (option_check), +- initial_state); +- +- g_object_set_data_full (G_OBJECT (option_check), OPTION_ID_PROP, +- full_option_name, g_free); +- g_object_set_data_full (G_OBJECT (option_check), "utfOptionName", +- utf_option_name, g_free); +- +- g_signal_connect (option_check, "toggled", +- G_CALLBACK (option_toggled_cb), NULL); +- +- option_checks_list = +- g_slist_append (option_checks_list, option_check); +- +- g_signal_connect (option_check, "focus-in-event", +- G_CALLBACK (option_focused_cb), +- WID ("options_scroll")); +- +- xkb_options_expander_selcounter_add (initial_state); +- g_object_set_data (G_OBJECT (option_check), GCONFSTATE_PROP, +- GINT_TO_POINTER (initial_state)); +-} +- +-static gint +-xkb_option_checks_compare (GtkWidget * chk1, GtkWidget * chk2) +-{ +- const gchar *t1 = +- g_object_get_data (G_OBJECT (chk1), "utfOptionName"); +- const gchar *t2 = +- g_object_get_data (G_OBJECT (chk2), "utfOptionName"); +- return g_utf8_collate (t1, t2); +-} +- +-/* Add a group of options: create title and layout widgets and then +- add widgets for all the options in the group. */ +-static void +-xkb_options_add_group (XklConfigRegistry * config_registry, +- XklConfigItem * config_item, GtkBuilder * dialog) +-{ +- GtkWidget *align, *vbox, *option_check; +- gboolean allow_multiple_selection = +- GPOINTER_TO_INT (g_object_get_data (G_OBJECT (config_item), +- XCI_PROP_ALLOW_MULTIPLE_SELECTION)); +- +- GSList *expanders_list = +- g_object_get_data (G_OBJECT (dialog), EXPANDERS_PROP); +- +- gchar *utf_group_name = xci_desc_to_utf8 (config_item); +- gchar *titlemarkup = +- g_strconcat ("", utf_group_name, "", NULL); +- +- current_expander = gtk_expander_new (titlemarkup); +- gtk_expander_set_use_markup (GTK_EXPANDER (current_expander), +- TRUE); +- g_object_set_data_full (G_OBJECT (current_expander), +- "utfGroupName", utf_group_name, g_free); +- g_object_set_data_full (G_OBJECT (current_expander), "groupId", +- g_strdup (config_item->name), g_free); +- +- g_free (titlemarkup); +- align = gtk_alignment_new (0, 0, 1, 1); +- gtk_alignment_set_padding (GTK_ALIGNMENT (align), 6, 12, 12, 0); +- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); +- gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE); +- gtk_container_add (GTK_CONTAINER (align), vbox); +- gtk_container_add (GTK_CONTAINER (current_expander), align); +- +- current_multi_select = (gboolean) allow_multiple_selection; +- current_radio_group = NULL; +- current1st_level_id = config_item->name; +- +- option_checks_list = NULL; +- +- xkl_config_registry_foreach_option (config_registry, +- config_item->name, +- (ConfigItemProcessFunc) +- xkb_options_add_option, +- dialog); +- /* sort it */ +- option_checks_list = +- g_slist_sort (option_checks_list, +- (GCompareFunc) xkb_option_checks_compare); +- while (option_checks_list) { +- option_check = GTK_WIDGET (option_checks_list->data); +- gtk_box_pack_start (GTK_BOX (vbox), option_check, TRUE, +- TRUE, 0); +- option_checks_list = option_checks_list->next; +- } +- /* free it */ +- g_slist_free (option_checks_list); +- option_checks_list = NULL; +- +- xkb_options_expander_highlight (); +- +- expanders_list = g_slist_append (expanders_list, current_expander); +- g_object_set_data (G_OBJECT (dialog), EXPANDERS_PROP, +- expanders_list); +- +- g_signal_connect (current_expander, "focus-in-event", +- G_CALLBACK (option_focused_cb), +- WID ("options_scroll")); +-} +- +-static gint +-xkb_options_expanders_compare (GtkWidget * expander1, +- GtkWidget * expander2) +-{ +- const gchar *t1 = +- g_object_get_data (G_OBJECT (expander1), "utfGroupName"); +- const gchar *t2 = +- g_object_get_data (G_OBJECT (expander2), "utfGroupName"); +- return g_utf8_collate (t1, t2); +-} +- +-/* Create widgets to represent the options made available by the backend */ +-void +-xkb_options_load_options (GtkBuilder * dialog) +-{ +- GtkWidget *opts_vbox = WID ("options_vbox"); +- GtkWidget *dialog_vbox = WID ("dialog_vbox"); +- GtkWidget *options_scroll = WID ("options_scroll"); +- GtkWidget *expander; +- GSList *expanders_list; +- +- current1st_level_id = NULL; +- current_none_radio = NULL; +- current_multi_select = FALSE; +- current_radio_group = NULL; +- +- /* fill the list */ +- xkl_config_registry_foreach_option_group (config_registry, +- (ConfigItemProcessFunc) +- xkb_options_add_group, +- dialog); +- /* sort it */ +- expanders_list = +- g_object_get_data (G_OBJECT (dialog), EXPANDERS_PROP); +- expanders_list = +- g_slist_sort (expanders_list, +- (GCompareFunc) xkb_options_expanders_compare); +- g_object_set_data (G_OBJECT (dialog), EXPANDERS_PROP, +- expanders_list); +- while (expanders_list) { +- expander = GTK_WIDGET (expanders_list->data); +- gtk_box_pack_start (GTK_BOX (opts_vbox), expander, FALSE, +- FALSE, 0); +- expanders_list = expanders_list->next; +- } +- +- /* Somewhere in gtk3 the top vbox in dialog is made non-expandable */ +- gtk_box_set_child_packing (GTK_BOX (dialog_vbox), options_scroll, +- TRUE, TRUE, 0, GTK_PACK_START); +- gtk_widget_show_all (dialog_vbox); +-} +- +-static void +-chooser_response_cb (GtkDialog * dialog, gint response, gpointer data) +-{ +- switch (response) { +- case GTK_RESPONSE_DELETE_EVENT: +- case GTK_RESPONSE_CLOSE: { +- /* just cleanup */ +- GSList *expanders_list = +- g_object_get_data (G_OBJECT (dialog), +- EXPANDERS_PROP); +- g_object_set_data (G_OBJECT (dialog), +- EXPANDERS_PROP, NULL); +- g_slist_free (expanders_list); +- +- gtk_widget_destroy (GTK_WIDGET (dialog)); +- chooser_dialog = NULL; +- } +- break; +- } +-} +- +-/* Create popup dialog */ +-void +-xkb_options_popup_dialog (GtkBuilder * dialog) +-{ +- GtkWidget *chooser; +- +- chooser_dialog = gtk_builder_new (); +- gtk_builder_set_translation_domain (chooser_dialog, GETTEXT_PACKAGE); +- gtk_builder_add_from_file (chooser_dialog, CINNAMONCC_UI_DIR +- "/cinnamon-region-panel-options-dialog.ui", +- NULL); +- +- chooser = CWID ("xkb_options_dialog"); +- gtk_window_set_transient_for (GTK_WINDOW (chooser), +- GTK_WINDOW (gtk_widget_get_toplevel (WID ("region_notebook")))); +- gtk_window_set_modal (GTK_WINDOW (chooser), TRUE); +- xkb_options_load_options (chooser_dialog); +- +- g_signal_connect (chooser, "response", +- G_CALLBACK (chooser_response_cb), dialog); +- gtk_widget_show (chooser); +-} +- +-/* Update selected option counters for a group-bound expander */ +-static void +-xkb_options_update_option_counters (XklConfigRegistry * config_registry, +- XklConfigItem * config_item) +-{ +- gchar *full_option_name = +- g_strdup (gkbd_keyboard_config_merge_items +- (current1st_level_id, config_item->name)); +- gboolean current_state = +- xkb_options_is_selected (full_option_name); +- g_free (full_option_name); +- +- xkb_options_expander_selcounter_add (current_state); +-} +- +-/* Respond to a change in the xkb gconf settings */ +-static void +-xkb_options_update (GSettings * settings, gchar * key, GtkBuilder * dialog) +-{ +- if (!strcmp (key, GKBD_KEYBOARD_CONFIG_KEY_OPTIONS)) { +- /* Updating options is handled by gconf notifies for each widget +- This is here to avoid calling it N_OPTIONS times for each gconf +- change. */ +- enable_disable_restoring (dialog); +- +- if (chooser_dialog != NULL) { +- GSList *expanders_list = +- g_object_get_data (G_OBJECT (chooser_dialog), +- EXPANDERS_PROP); +- while (expanders_list) { +- current_expander = +- GTK_WIDGET (expanders_list->data); +- gchar *group_id = +- g_object_get_data (G_OBJECT +- (current_expander), +- "groupId"); +- current1st_level_id = group_id; +- xkb_options_expander_selcounter_reset (); +- xkl_config_registry_foreach_option +- (config_registry, group_id, +- (ConfigItemProcessFunc) +- xkb_options_update_option_counters, +- current_expander); +- xkb_options_expander_highlight (); +- expanders_list = expanders_list->next; +- } +- } +- } +-} +- +-void +-xkb_options_register_conf_listener (GtkBuilder * dialog) +-{ +- g_signal_connect (xkb_keyboard_settings, "changed", +- G_CALLBACK (xkb_options_update), dialog); +-} +diff -uNrp a/panels/region/cinnamon-region-panel-xkbpv.c b/panels/region/cinnamon-region-panel-xkbpv.c +--- a/panels/region/cinnamon-region-panel-xkbpv.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/cinnamon-region-panel-xkbpv.c 1970-01-01 01:00:00.000000000 +0100 +@@ -1,120 +0,0 @@ +-/* cinnamon-region-panel-xkbpv.c +- * Copyright (C) 2003-2007 Sergey V. Udaltsov +- * +- * Written by: Sergey V. Udaltsov +- * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin Street - Suite 500, Boston, MA +- * 02110-1335, USA. +- */ +- +-#ifdef HAVE_CONFIG_H +-# include +-#endif +- +-#include +- +-#include "cinnamon-region-panel-xkb.h" +- +-#ifdef HAVE_X11_EXTENSIONS_XKB_H +-#include "X11/XKBlib.h" +-/** +- * BAD STYLE: Taken from xklavier_private_xkb.h +- * Any ideas on architectural improvements are WELCOME +- */ +-extern gboolean xkl_xkb_config_native_prepare (XklEngine * engine, +- const XklConfigRec * data, +- XkbComponentNamesPtr +- component_names); +- +-extern void xkl_xkb_config_native_cleanup (XklEngine * engine, +- XkbComponentNamesPtr +- component_names); +- +-/* */ +-#endif +- +-static GkbdKeyboardDrawingGroupLevel groupsLevels[] = +- { {0, 1}, {0, 3}, {0, 0}, {0, 2} }; +-static GkbdKeyboardDrawingGroupLevel *pGroupsLevels[] = { +- groupsLevels, groupsLevels + 1, groupsLevels + 2, groupsLevels + 3 +-}; +- +-GtkWidget * +-xkb_layout_preview_create_widget (GtkBuilder * chooserDialog) +-{ +- GtkWidget *kbdraw = gkbd_keyboard_drawing_new (); +- +- gkbd_keyboard_drawing_set_groups_levels (GKBD_KEYBOARD_DRAWING +- (kbdraw), pGroupsLevels); +- return kbdraw; +-} +- +-void +-xkb_layout_preview_set_drawing_layout (GtkWidget * kbdraw, +- const gchar * id) +-{ +-#ifdef HAVE_X11_EXTENSIONS_XKB_H +- if (kbdraw != NULL) { +- if (id != NULL) { +- XklConfigRec *data; +- char **p, *layout, *variant; +- XkbComponentNamesRec component_names; +- +- data = xkl_config_rec_new (); +- if (xkl_config_rec_get_from_server (data, engine)) { +- if ((p = data->layouts) != NULL) +- g_strfreev (data->layouts); +- +- if ((p = data->variants) != NULL) +- g_strfreev (data->variants); +- +- data->layouts = g_new0 (char *, 2); +- data->variants = g_new0 (char *, 2); +- if (gkbd_keyboard_config_split_items +- (id, &layout, &variant) +- && variant != NULL) { +- data->layouts[0] = +- (layout == +- NULL) ? NULL : +- g_strdup (layout); +- data->variants[0] = +- (variant == +- NULL) ? NULL : +- g_strdup (variant); +- } else { +- data->layouts[0] = +- (id == +- NULL) ? NULL : g_strdup (id); +- data->variants[0] = NULL; +- } +- +- if (xkl_xkb_config_native_prepare +- (engine, data, &component_names)) { +- gkbd_keyboard_drawing_set_keyboard +- (GKBD_KEYBOARD_DRAWING +- (kbdraw), &component_names); +- +- xkl_xkb_config_native_cleanup +- (engine, &component_names); +- } +- } +- g_object_unref (G_OBJECT (data)); +- } else +- gkbd_keyboard_drawing_set_keyboard +- (GKBD_KEYBOARD_DRAWING (kbdraw), NULL); +- +- } +-#endif +-} +diff -uNrp a/panels/region/.indent.pro b/panels/region/.indent.pro +--- a/panels/region/.indent.pro 1970-01-01 01:00:00.000000000 +0100 ++++ b/panels/region/.indent.pro 2013-08-25 16:50:30.000000000 +0100 +@@ -0,0 +1,2 @@ ++-kr -i8 -pcs -lps -psl ++ +diff -uNrp a/panels/region/Makefile.am b/panels/region/Makefile.am +--- a/panels/region/Makefile.am 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/Makefile.am 2013-09-21 13:24:15.347949247 +0100 +@@ -23,12 +23,9 @@ libregion_la_SOURCES = \ + cinnamon-region-panel-lang.h \ + cinnamon-region-panel-system.c \ + cinnamon-region-panel-system.h \ +- cinnamon-region-panel-xkb.c \ +- cinnamon-region-panel-xkblt.c \ +- cinnamon-region-panel-xkbltadd.c \ +- cinnamon-region-panel-xkbot.c \ +- cinnamon-region-panel-xkbpv.c \ +- cinnamon-region-panel-xkb.h ++ cinnamon-region-panel-input.c \ ++ cinnamon-region-panel-input.h \ ++ $(NULL) + + libregion_la_LIBADD = $(PANEL_LIBS) $(REGION_PANEL_LIBS) $(builddir)/../common/liblanguage.la + +@@ -39,8 +36,8 @@ libregion_la_LDFLAGS = $(PANEL_LDFLAGS) + uidir = $(pkgdatadir)/ui + ui_DATA = \ + cinnamon-region-panel.ui \ +- cinnamon-region-panel-layout-chooser.ui \ +- cinnamon-region-panel-options-dialog.ui ++ cinnamon-region-panel-input-chooser.ui \ ++ $(NULL) + + desktopdir = $(datadir)/applications + Desktop_in_files = cinnamon-region-panel.desktop.in +diff -uNrp a/panels/region/region-module.c b/panels/region/region-module.c +--- a/panels/region/region-module.c 2013-08-25 14:40:14.000000000 +0100 ++++ b/panels/region/region-module.c 2013-09-21 13:24:15.347949247 +0100 +@@ -28,6 +28,7 @@ + void + g_io_module_load (GIOModule * module) + { ++ + /* register the panel */ + cc_region_panel_register (module); + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 514a3f09bfb..cf1c0875e2b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9887,8 +9887,10 @@ let cinnamon = recurseIntoAttrs rec { callPackage = newScope pkgs.cinnamon; - inherit (gnome3) gnome_common libgnomekbd; - + inherit (gnome3) gnome_common libgnomekbd gnome-menus; + + cinnamon-control-center = callPackage ../desktops/cinnamon/cinnamon-control-center.nix{ }; + cinnamon-settings-daemon = callPackage ../desktops/cinnamon/cinnamon-settings-daemon.nix{ }; cinnamon-session = callPackage ../desktops/cinnamon/cinnamon-session.nix{ } ; From f4cc9c29c756681177cb694916b61158ec59642c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 21:49:04 +0200 Subject: [PATCH 739/880] ipython: update 1.1.0 -> 2.0.0 Release notes: http://ipython.org/ipython-doc/2/whatsnew/version2.0.html Build and run tested terminal mode (default), notebook, qtconsole; all works. (And the release notes list few backwards incompatible changes.) --- pkgs/shells/ipython/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/shells/ipython/default.nix b/pkgs/shells/ipython/default.nix index b9b9129cb48..cb0cc95c4ce 100644 --- a/pkgs/shells/ipython/default.nix +++ b/pkgs/shells/ipython/default.nix @@ -13,12 +13,12 @@ assert qtconsoleSupport == true -> pyqt4 != null; assert pylabQtSupport == true -> pyqt4 != null && sip != null; buildPythonPackage rec { - name = "ipython-1.1.0"; + name = "ipython-2.0.0"; namePrefix = ""; src = fetchurl { url = "http://pypi.python.org/packages/source/i/ipython/${name}.tar.gz"; - sha256 = "1glivwy7k2dciy0y5i39syngip84nrqhpggn4glmpd2s49jllkkc"; + sha256 = "0fl9sznx83y2ck8wh5zr8avzjm5hz6r0xz38ij2fil3gin7w10sf"; }; propagatedBuildInputs = [ From f249de831207885d3838fb517ea07848d80f297c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 22:18:33 +0200 Subject: [PATCH 740/880] lftp: update 4.4.5 -> 4.4.15 Bug fixes and minor improvements. I had to switch download mirror because the current one didn't have the newest release(s). --- pkgs/tools/networking/lftp/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index 2bc575bbd02..a9bbf84a425 100644 --- a/pkgs/tools/networking/lftp/default.nix +++ b/pkgs/tools/networking/lftp/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gnutls, pkgconfig, readline, zlib, xz }: stdenv.mkDerivation rec { - name = "lftp-4.4.5"; + name = "lftp-4.4.15"; src = fetchurl { - url = "ftp://ftp.tuwien.ac.at/infosys/browsers/ftp/lftp/${name}.tar.xz"; - sha256 = "1p3nxsd2an9pdwc3vgwxy8p5nnjrc7mhilikjaddy62cyvxdbpxq"; + url = "http://lftp.yar.ru/ftp/${name}.tar.gz"; + sha256 = "1iw0xvvi9wr7grm6dwbxgm8ms98pg5skj44q477gxzrrff9dvvvp"; }; patches = [ ./no-gets.patch ]; From b8cadc493e5bc7e1875f7fefe6ac6651a2e87c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 22:23:23 +0200 Subject: [PATCH 741/880] lftp: add/update meta attributes --- pkgs/tools/networking/lftp/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index a9bbf84a425..434ddbce3e7 100644 --- a/pkgs/tools/networking/lftp/default.nix +++ b/pkgs/tools/networking/lftp/default.nix @@ -12,9 +12,11 @@ stdenv.mkDerivation rec { buildInputs = [ gnutls pkgconfig readline zlib ]; - meta = { - homepage = http://lftp.yar.ru/; + meta = with stdenv.lib; { description = "A file transfer program supporting a number of network protocols"; - license = "GPL"; + homepage = http://lftp.yar.ru/; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.bjornfor ]; }; } From 5e50b35a26911479a62d4c80a76d83014a43be8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 22:36:31 +0200 Subject: [PATCH 742/880] bluez5: remove unneeded libusb dependency bluez >= 5.9 does not depend on libusb[1]. [1] http://www.bluez.org/release-of-bluez-5-9/ --- pkgs/os-specific/linux/bluez/bluez5.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix index ffa91e951a8..f9f5c185bbd 100644 --- a/pkgs/os-specific/linux/bluez/bluez5.nix +++ b/pkgs/os-specific/linux/bluez/bluez5.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib, python, +{ stdenv, fetchurl, pkgconfig, dbus, glib, alsaLib, python, pythonPackages, pythonDBus, readline, libsndfile, udev, libical, systemd }: @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { [ pythonDBus pygobject pygobject3 recursivePthLoader ]; buildInputs = - [ pkgconfig dbus.libs glib libusb alsaLib python pythonPackages.wrapPython + [ pkgconfig dbus.libs glib alsaLib python pythonPackages.wrapPython readline libsndfile udev libical # Disables GStreamer; not clear what it gains us other than a # zillion extra dependencies. From 129637268166dd7e63674658c8fb866d9abfe91b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sun, 13 Apr 2014 22:56:21 +0200 Subject: [PATCH 743/880] cifs-utils: update 6.2 -> 6.3 January 9, 2014: Release 6.3: * fixes for various bugs turned up by Coverity * clean unused cruft out of upcall binary * add new pam_cifscreds PAM module for establishing NTLM creds on login * https://lists.samba.org/archive/samba-technical/2014-January/097124.html --- pkgs/os-specific/linux/cifs-utils/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix index bef8de495ad..ce609c5be47 100644 --- a/pkgs/os-specific/linux/cifs-utils/default.nix +++ b/pkgs/os-specific/linux/cifs-utils/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "cifs-utils-6.2"; + name = "cifs-utils-6.3"; src = fetchurl { url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2"; - sha256 = "0cydya7l7xwxk2j1g1659kbvb4jzql11ivb6cldwwfg19qvnwrrl"; + sha256 = "0nrpd3ibzfhdxgq1pw0jhzx163z5jvq4qcjxl35qlqj74lm3pxzz"; }; makeFlags = "root_sbindir=$(out)/sbin"; From 091ce87a00fd20d7a4a2ece8e563fd0a013661f1 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 13 Apr 2014 23:30:15 +0200 Subject: [PATCH 744/880] audacious: find gsettings schemas --- pkgs/applications/audio/audacious/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/audio/audacious/default.nix b/pkgs/applications/audio/audacious/default.nix index d838d29e8be..409a831727b 100644 --- a/pkgs/applications/audio/audacious/default.nix +++ b/pkgs/applications/audio/audacious/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation { source $stdenv/setup # gsettings schemas for file dialogues for file in "$out/bin/"*; do - wrapProgram "$file" --prefix XDG_DATA_DIRS : "$XDG_ADD" + wrapProgram "$file" --prefix XDG_DATA_DIRS : "$XDG_ADD:$GSETTINGS_SCHEMAS_PATH" done ) ''; From 57b6ecb7999ce57fc131837ba26929f148a56034 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 13 Apr 2014 23:50:21 +0200 Subject: [PATCH 745/880] sflphone: find gsettings schemas --- .../networking/instant-messengers/sflphone/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/sflphone/default.nix b/pkgs/applications/networking/instant-messengers/sflphone/default.nix index 2401d796bfd..a31a682abf8 100644 --- a/pkgs/applications/networking/instant-messengers/sflphone/default.nix +++ b/pkgs/applications/networking/instant-messengers/sflphone/default.nix @@ -75,8 +75,10 @@ rec { ''; # gtk3 programs have the runtime dependency on XDG_DATA_DIRS - postInstall = '' - wrapProgram $out/bin/sflphone* --prefix XDG_DATA_DIRS ":" ${gtk}/share + preFixup = '' + for f in "$out/bin/sflphone" "$out/bin/sflphone-client-gnome"; do + wrapProgram $f --prefix XDG_DATA_DIRS ":" "${gtk}/share:$GSETTINGS_SCHEMAS_PATH" + done ''; buildInputs = [ daemon pkgconfig gtk glib dbus_glib libnotify intltool makeWrapper ]; From 93e91548050cb97f31fdeeb029498d616a6243b3 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 11 Apr 2014 07:35:06 -0400 Subject: [PATCH 746/880] rsync updated 3.0.9 to 3.1.0, rsyncd service module --- nixos/modules/module-list.nix | 1 + .../services/network-filesystems/rsyncd.nix | 139 ++++++++++++++++++ .../networking/sync/rsync/default.nix | 13 +- 3 files changed, 147 insertions(+), 6 deletions(-) create mode 100644 nixos/modules/services/network-filesystems/rsyncd.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b2f530474b5..f59e04425fc 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -159,6 +159,7 @@ ./services/network-filesystems/drbd.nix ./services/network-filesystems/nfsd.nix ./services/network-filesystems/openafs-client/default.nix + ./services/network-filesystems/rsyncd.nix ./services/network-filesystems/samba.nix ./services/networking/amuled.nix ./services/networking/avahi-daemon.nix diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix new file mode 100644 index 00000000000..bc17add809b --- /dev/null +++ b/nixos/modules/services/network-filesystems/rsyncd.nix @@ -0,0 +1,139 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.rsyncd; + + motdFile = pkgs.writeText "rsyncd-motd" cfg.motd; + + rsyncdCfg = "" + + optionalString (cfg.motd != "") "motd file = ${motdFile}\n" + + optionalString (cfg.address != "") "address = ${cfg.address}\n" + + optionalString (cfg.port != 873) "port = ${toString cfg.port}\n" + + cfg.extraConfig + + "\n" + + flip concatMapStrings cfg.modules (m: "[${m.name}]\n\tpath = ${m.path}\n" + + optionalString (m.comment != "") "\tcomment = ${m.comment}\n" + + m.extraConfig + + "\n" + ); + + rsyncdCfgFile = pkgs.writeText "rsyncd.conf" rsyncdCfg; + +in + +{ + options = { + + services.rsyncd = { + + enable = mkOption { + default = false; + description = "Whether to enable the rsync daemon."; + }; + + motd = mkOption { + type = types.string; + default = ""; + description = '' + Message of the day to display to clients on each connect. + This usually contains site information and any legal notices. + ''; + }; + + port = mkOption { + default = 873; + type = types.int; + description = "TCP port the daemon will listen on."; + }; + + address = mkOption { + default = ""; + example = "192.168.1.2"; + description = '' + IP address the daemon will listen on; rsyncd will listen on + all addresses if this is not specified. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Lines of configuration to add to rsyncd globally. + See man rsyncd.conf for more options. + ''; + }; + + modules = mkOption { + default = [ ]; + example = [ + { name = "ftp"; + path = "/home/ftp"; + comment = "ftp export area"; + extraConfig = '' + secrets file = /etc/rsyncd.secrets + ''; + } + ]; + description = "The list of file paths to export."; + type = types.listOf types.optionSet; + + options = { + + name = mkOption { + example = "ftp"; + type = types.string; + description = "Name of export module."; + }; + + comment = mkOption { + default = ""; + description = '' + Description string that is displayed next to the module name + when clients obtain a list of available modules. + ''; + }; + + path = mkOption { + example = "/home/ftp"; + type = types.string; + description = "Directory to make available in this module."; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Lines of configuration to add to this module. + See man rsyncd.conf for more options. + ''; + }; + }; + }; + }; + }; + + ###### implementation + + config = mkIf cfg.enable { + + environment.etc = singleton + { source = rsyncdCfgFile; + target = "rsyncd.conf"; + }; + + systemd.services.rsyncd = { + description = "Rsync daemon"; + wantedBy = [ "multi-user.target" ]; + + path = [ pkgs.rsync ]; + + serviceConfig.ExecStart = "${pkgs.rsync}/bin/rsync --daemon --no-detach"; + }; + + networking.firewall.allowedTCPPorts = [ cfg.port ]; + }; +} \ No newline at end of file diff --git a/pkgs/applications/networking/sync/rsync/default.nix b/pkgs/applications/networking/sync/rsync/default.nix index 5447b21009f..5265faf87b6 100644 --- a/pkgs/applications/networking/sync/rsync/default.nix +++ b/pkgs/applications/networking/sync/rsync/default.nix @@ -6,16 +6,17 @@ assert enableACLs -> acl != null; stdenv.mkDerivation rec { - name = "rsync-3.0.9"; + name = "rsync-${version}"; + version = "3.1.0"; mainSrc = fetchurl { - url = http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz; - sha256 = "01bw4klqsrlhh3i9lazd485sd9qx5djvnwa21lj2h3a9sn6hzw9h"; + url = "http://rsync.samba.org/ftp/rsync/src/rsync-${version}.tar.gz"; + sha256 = "0kirw8wglqvwi1v8bwxp373g03xg857h59j5k3mmgff9gzvj7jl1"; }; patchesSrc = fetchurl { - url = http://rsync.samba.org/ftp/rsync/rsync-patches-3.0.9.tar.gz; - sha256 = "0c1e9b56e99667dfc47641124460bac61a04c5d2ee89f575c6bc78c7a69005a9"; + url = "http://rsync.samba.org/ftp/rsync/rsync-patches-${version}.tar.gz"; + sha256 = "0sl8aadpjblvbb05vgais40z90yzhr09rwz0cykjdiv452gli75p"; }; srcs = [mainSrc] ++ stdenv.lib.optional enableCopyDevicesPatch patchesSrc; @@ -30,6 +31,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.gpl3Plus; platforms = stdenv.lib.platforms.unix; - maintainers = [ stdenv.lib.maintainers.simons ]; + maintainers = [ stdenv.lib.maintainers.simons stdenv.lib.maintainers.emery ]; }; } From da5b52f1b4aaba59e3651caa70d1e3f4fdbea3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 14 Apr 2014 07:06:49 +0200 Subject: [PATCH 747/880] minicom: update 2.6.2 -> 2.7 Changelog: - Configurable status line via -F option, see manpage for a listing of format specifier. - Improve display of device name in status line. - Script: Binary transmission feature via "!<" - Bugfixes --- pkgs/tools/misc/minicom/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/minicom/default.nix b/pkgs/tools/misc/minicom/default.nix index 2ab1195020c..8ede3aa918b 100644 --- a/pkgs/tools/misc/minicom/default.nix +++ b/pkgs/tools/misc/minicom/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "minicom-2.6.2"; + name = "minicom-2.7"; src = fetchurl { - url = "http://alioth.debian.org/frs/download.php/file/3869/${name}.tar.gz"; - sha256 = "0s4ibk8scspm8a0raf5s4zgp9b82c4bn529rir9abzqlg5gj3kzk"; + url = "http://alioth.debian.org/frs/download.php/file/3977/${name}.tar.gz"; + sha256 = "1x04m4k7c71j5cnhzpjrbz43dd96k4mpkd0l87v5skrgp1isdhws"; }; buildInputs = [ncurses]; From 13137dbb460c14e4ecfd77e2d6ac5149a6bd90ba Mon Sep 17 00:00:00 2001 From: Ramakrishnan Muthukrishnan Date: Mon, 14 Apr 2014 11:29:36 +0530 Subject: [PATCH 748/880] doc: meta.xml -- fix a typo --- doc/meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/meta.xml b/doc/meta.xml index 00e9b8ac67a..6c8e458509a 100644 --- a/doc/meta.xml +++ b/doc/meta.xml @@ -164,7 +164,7 @@ meta.hydraPlatforms = []; If set to true, the package is marked as “broken”, meaning that it won’t show up in nix-env -qa, and cannot be built or installed. - Sush packages should be removed from Nixpkgs eventually unless + Such packages should be removed from Nixpkgs eventually unless they are fixed. From 58b58903ba2f4f10aae4b29a1fb8625ca6fb5563 Mon Sep 17 00:00:00 2001 From: Ramakrishnan Muthukrishnan Date: Mon, 14 Apr 2014 11:42:01 +0530 Subject: [PATCH 749/880] doc: quick-start.xml -- fix a typo in the link. Chapter 2, gmp 5.1.1.nix url and filename has changed in the repo to 5.1.x.nix. --- doc/quick-start.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/quick-start.xml b/doc/quick-start.xml index 35983f0b114..49c674052b9 100644 --- a/doc/quick-start.xml +++ b/doc/quick-start.xml @@ -71,7 +71,7 @@ $ git add pkgs/development/libraries/libfoo/default.nix GNU Multiple Precision arithmetic library (GMP): pkgs/development/libraries/gmp/5.1.1.nix. + xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/gmp/5.1.x.nix">pkgs/development/libraries/gmp/5.1.x.nix. Also done by the generic builder, but has a dependency on m4. From ebe8fab999e6333953849cf300b89ed7e9b968be Mon Sep 17 00:00:00 2001 From: Alexander Kjeldaas Date: Mon, 14 Apr 2014 09:22:31 +0200 Subject: [PATCH 750/880] Make the user aware of the allowUnfree option. --- pkgs/stdenv/generic/default.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 3a475933d24..035e1516932 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -58,7 +58,16 @@ let pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»"; in if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then - throw "package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate" + throw ''package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate. + You can set + { nixpkgs.config.allowUnfree = true; } + in configuration.nix to override this. + If you use nix standalnd, you can add + { config.allowUnfree = true; } + to ~/.nixpkgs/config.nix or pass + --arg config '{ allowUnfree = true; }' + on the command line. + '' else if !allowBroken && attrs.meta.broken or false then throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken" else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then From 722143a5d365ab084bc69db4aa4258d0b4a8c549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Mon, 14 Apr 2014 09:29:41 +0200 Subject: [PATCH 751/880] fix typo --- pkgs/stdenv/generic/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index 035e1516932..a341e36b631 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -62,7 +62,7 @@ let You can set { nixpkgs.config.allowUnfree = true; } in configuration.nix to override this. - If you use nix standalnd, you can add + If you use nix standalne, you can add { config.allowUnfree = true; } to ~/.nixpkgs/config.nix or pass --arg config '{ allowUnfree = true; }' From d5b4c3c63e97415396ff0ad74299aa770512c71b Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 9 Apr 2014 15:57:02 +0200 Subject: [PATCH 752/880] tracker: new package Desktop-neutral user information store, search tool and indexer https://wiki.gnome.org/Projects/Tracker --- nixos/modules/module-list.nix | 1 + .../services/desktops/gnome3/tracker.nix | 39 +++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../desktops/gnome-3/core/tracker/default.nix | 49 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 5 files changed, 92 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/tracker.nix create mode 100644 pkgs/desktops/gnome-3/core/tracker/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b2f530474b5..a4915a2fa5c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -101,6 +101,7 @@ ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/sushi.nix + ./services/desktops/gnome3/tracker.nix ./services/desktops/telepathy.nix ./services/games/ghost-one.nix ./services/games/minecraft-server.nix diff --git a/nixos/modules/services/desktops/gnome3/tracker.nix b/nixos/modules/services/desktops/gnome3/tracker.nix new file mode 100644 index 00000000000..94a22d0c881 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/tracker.nix @@ -0,0 +1,39 @@ +# Tracker daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.tracker = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Tracker services, a search engine, + search tool and metadata storage system. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.tracker.enable { + + environment.systemPackages = [ pkgs.gnome3.tracker ]; + + services.dbus.packages = [ pkgs.gnome3.tracker ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index bebda772352..aa231f2bad7 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -33,6 +33,7 @@ in { services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; services.gnome3.sushi.enable = true; + services.gnome3.tracker.enable = mkDefault true; services.telepathy.enable = true; networking.networkmanager.enable = true; services.upower.enable = config.powerManagement.enable; diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix new file mode 100644 index 00000000000..6ac3592f6bf --- /dev/null +++ b/pkgs/desktops/gnome-3/core/tracker/default.nix @@ -0,0 +1,49 @@ +{ stdenv, intltool, fetchurl, libxml2, upower +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, vala, sqlite +, gnome3, librsvg, gdk_pixbuf, file, libnotify +, evolution_data_server, gst_all_1, poppler +, icu, taglib, libjpeg, libtiff, giflib, libcue +, libvorbis, flac, exempi, networkmanager +, libpng, libexif, libgsf, libuuid, bzip2 }: + +stdenv.mkDerivation rec { + name = "tracker-1.0.0"; + + src = fetchurl { + url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz"; + sha256 = "a1d033faf2c78f0e239f3c2c961b96623c9a7dabd938c08e3f5660bd70f54ba2"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + enableParallelBuilding = true; + + buildInputs = [ vala pkgconfig gtk3 glib intltool itstool libxml2 + bzip2 gnome3.totem-pl-parser + gnome3.gsettings_desktop_schemas makeWrapper file + gdk_pixbuf gnome3.gnome_icon_theme librsvg sqlite + upower libnotify evolution_data_server gnome3.libgee + gst_all_1.gstreamer gst_all_1.gst-plugins-base flac + poppler icu taglib libjpeg libtiff giflib libvorbis + exempi networkmanager libpng libexif libgsf libuuid + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + for f in $out/bin/* $out/libexec/*; do + wrapProgram $f \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + done + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/Tracker; + description = "Desktop-neutral user information store, search tool and indexer"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index d9a673fb4c7..d8d510b0bb9 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -122,6 +122,8 @@ rec { totem-pl-parser = callPackage ./core/totem-pl-parser { }; + tracker = callPackage ./core/tracker { }; + vte = callPackage ./core/vte { }; vino = callPackage ./core/vino { }; From b4096479faf7147e885e5a7abc03c35c23db88ea Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 10 Apr 2014 22:29:36 +0200 Subject: [PATCH 753/880] gnome-user-docs: new package licensed under the new licenses.cc-by-30 User and system administration help for the Gnome https://help.gnome.org/users/gnome-help/3.10 --- lib/licenses.nix | 6 ++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../gnome-3/core/gnome-user-docs/default.nix | 20 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 ++ 4 files changed, 29 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix diff --git a/lib/licenses.nix b/lib/licenses.nix index 603fddcb857..20c1b220031 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -64,6 +64,12 @@ url = https://fedoraproject.org/wiki/Licensing/BSD; }; + cc-by-30 = { + shortName = "CC BY 3.0"; + fullName = "Creative Commons Attribution 3.0"; + url = http://creativecommons.org/licenses/by/3.0; + }; + cddl = { shortName = "CDDL"; fullName = "Common Development Distribution License "; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index aa231f2bad7..9f0d53bb653 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -85,6 +85,7 @@ in { gnome3.gnome-system-log gnome3.gnome-system-monitor gnome3.gnome_terminal + gnome3.gnome-user-docs gnome3.file-roller ] config.environment.gnome3.excludePackages); diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix new file mode 100644 index 00000000000..d66863a2218 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, file, gnome3, itstool, libxml2, intltool }: + +stdenv.mkDerivation rec { + name = "gnome-user-docs-3.10.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-user-docs/3.10/${name}.tar.xz"; + sha256 = "960b6373ea52e41e3deb3501930e024005b29d2cc958bfadc87450a291d2a905"; + }; + + buildInputs = [ pkgconfig gnome3.yelp itstool libxml2 intltool ]; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-help/3.10; + description = "User and system administration help for the Gnome desktop"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.cc-by-30; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index d8d510b0bb9..5ac3fb75f16 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -86,6 +86,8 @@ rec { gnome_themes_standard = callPackage ./core/gnome-themes-standard { }; + gnome-user-docs = callPackage ./core/gnome-user-docs { }; + grilo = callPackage ./core/grilo { }; gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; From 87284dd9e9196caa0c5aa78f997de4d4e8c58d48 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Thu, 10 Apr 2014 23:31:37 +0200 Subject: [PATCH 754/880] sushi, telepathy: make enabling the service overridable --- nixos/modules/services/x11/desktop-managers/gnome3.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 9f0d53bb653..be41d917792 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -32,9 +32,9 @@ in { services.accounts-daemon.enable = true; services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; - services.gnome3.sushi.enable = true; + services.gnome3.sushi.enable = mkDefault true; services.gnome3.tracker.enable = mkDefault true; - services.telepathy.enable = true; + services.telepathy.enable = mkDefault true; networking.networkmanager.enable = true; services.upower.enable = config.powerManagement.enable; From 4c8b9fc957e4dcd15cd0e6ff7d55937f367c4a37 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 11 Apr 2014 00:24:40 +0200 Subject: [PATCH 755/880] sushi: upgrade to 3.10.0 --- pkgs/desktops/gnome-3/core/sushi/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/sushi/default.nix b/pkgs/desktops/gnome-3/core/sushi/default.nix index 55729a54669..089b5cd03c1 100644 --- a/pkgs/desktops/gnome-3/core/sushi/default.nix +++ b/pkgs/desktops/gnome-3/core/sushi/default.nix @@ -4,11 +4,11 @@ , gdk_pixbuf, librsvg, hicolor_icon_theme }: stdenv.mkDerivation rec { - name = "sushi-3.8.1"; + name = "sushi-3.10.0"; src = fetchurl { - url = "mirror://gnome/sources/sushi/3.8/${name}.tar.xz"; - sha256 = "c4f24d0961ce8fc5ef3a4fe9af178e368c7117459df2c0be12c8f953646c82dd"; + url = "mirror://gnome/sources/sushi/3.10/${name}.tar.xz"; + sha256 = "cffcf28b170f5825e84983a979972d4d901a453b61cbe3e560d362e8dd4b4bc8"; }; propagatedUserEnvPkgs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ]; From 9d5a06cfe7160db895962815fb60d989e3705d4b Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 11 Apr 2014 00:28:15 +0200 Subject: [PATCH 756/880] gnome3: use package names for environment.gnome3.excludePackages --- lib/lists.nix | 2 -- .../modules/services/x11/desktop-managers/gnome3.nix | 12 +++++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/lists.nix b/lib/lists.nix index 6c7773304de..4b5f04a6758 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -227,6 +227,4 @@ in rec { crossLists = f: foldl (fs: args: concatMap (f: map f args) fs) [f]; - # List difference, xs - ys. Removes elements of ys from xs. - difference = xs: ys: filter (y: !(builtins.elem y ys)) xs; } diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index be41d917792..60a74d6c7fe 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -5,6 +5,16 @@ with pkgs.lib; let cfg = config.services.xserver.desktopManager.gnome3; gnome3 = pkgs.gnome3; + + # Remove packages of ys from xs, based on their names + removePackagesByName = xs: ys: + let + pkgName = drv: (builtins.parseDrvName drv.name).name; + ysNames = map pkgName ys; + res = (filter (x: !(builtins.elem (pkgName x) ysNames)) xs); + in + filter (x: !(builtins.elem (pkgName x) ysNames)) xs; + in { options = { @@ -68,7 +78,7 @@ in { gnome3.gnome_settings_daemon gnome3.gnome_shell gnome3.gnome_themes_standard - ] ++ (lists.difference [ + ] ++ (removePackagesByName [ gnome3.baobab gnome3.eog gnome3.epiphany From b0154961ed7765ae11dd857a4699e18a0a36015b Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 11 Apr 2014 00:41:51 +0200 Subject: [PATCH 757/880] gnome-keyring: add dbus service --- nixos/modules/module-list.nix | 1 + .../desktops/gnome3/gnome-keyring.nix | 40 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + 3 files changed, 42 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/gnome-keyring.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a4915a2fa5c..2541bc6a98a 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -100,6 +100,7 @@ ./services/desktops/accountservice.nix ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix + ./services/desktops/gnome3/gnome-keyring.nix ./services/desktops/gnome3/sushi.nix ./services/desktops/gnome3/tracker.nix ./services/desktops/telepathy.nix diff --git a/nixos/modules/services/desktops/gnome3/gnome-keyring.nix b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix new file mode 100644 index 00000000000..447fd783f14 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-keyring.nix @@ -0,0 +1,40 @@ +# GNOME Keyring daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.gnome-keyring = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Keyring daemon, a service designed to + take care of the user's security credentials, + such as user names and passwordsa search engine. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-keyring.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome_keyring ]; + + services.dbus.packages = [ pkgs.gnome3.gnome_keyring ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 60a74d6c7fe..a6f63304d7d 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -42,6 +42,7 @@ in { services.accounts-daemon.enable = true; services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; + services.gnome3.gnome-keyring.enable = true; services.gnome3.sushi.enable = mkDefault true; services.gnome3.tracker.enable = mkDefault true; services.telepathy.enable = mkDefault true; From 191c4b6145aa3c3c2f2b62e4cd26b5ef019dc39e Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 11 Apr 2014 15:03:32 +0200 Subject: [PATCH 758/880] gnome3: make extensions.gnome.org recognize the gnome desktop --- nixos/modules/services/x11/desktop-managers/gnome3.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index a6f63304d7d..ea12ce2ef18 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -62,6 +62,9 @@ in { export XDG_MENU_PREFIX=gnome + # Don't let epiphany depend upon gnome-shell + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${pkgs.gnome3.gnome_shell}/share/gsettings-schemas/${pkgs.gnome3.gnome_shell.name} + ${gnome3.gnome_session}/bin/gnome-session& waitPID=$! ''; From bff4580852853f064231397cd4125da8775216e5 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 11 Apr 2014 17:12:14 +0200 Subject: [PATCH 759/880] gnome-shell: add unzip to PATH for installing extensions --- pkgs/desktops/gnome-3/core/gnome-shell/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix index 087b5778163..be25c615d97 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns -, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit +, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper , accountservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }: @@ -29,6 +29,7 @@ stdenv.mkDerivation rec { preFixup = with gnome3; '' wrapProgram "$out/bin/gnome-shell" \ + --prefix PATH : "${unzip}/bin" \ --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ --prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ From d3a34c18622ac7e65c1031e33047e7a278fa8829 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 11 Apr 2014 22:55:15 +0200 Subject: [PATCH 760/880] dconf: rm HighContrast icon cache --- pkgs/desktops/gnome-3/core/dconf/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix index a485b18c5e5..a6236f16744 100644 --- a/pkgs/desktops/gnome-3/core/dconf/default.nix +++ b/pkgs/desktops/gnome-3/core/dconf/default.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation rec { rm $out/lib/gio/modules/giomodule.cache rm $out/share/icons/hicolor/icon-theme.cache + rm $out/share/icons/HighContrast/icon-theme.cache ''; meta = with stdenv.lib; { From e08861a4cd7e5e6f84652230bb32d78d4b8dbb3f Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 12 Apr 2014 12:48:16 +0200 Subject: [PATCH 761/880] mod_dnssd: new apache httpd 2.2 module Provide Zeroconf support via DNS-SD using Avahi http://0pointer.de/lennart/projects/mod_dnssd --- .../http/apache-modules/mod_dnssd/default.nix | 28 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/servers/http/apache-modules/mod_dnssd/default.nix diff --git a/pkgs/servers/http/apache-modules/mod_dnssd/default.nix b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix new file mode 100644 index 00000000000..06f12820a10 --- /dev/null +++ b/pkgs/servers/http/apache-modules/mod_dnssd/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, pkgconfig, apacheHttpd_2_2, apr, avahi }: + +stdenv.mkDerivation rec { + name = "mod_dnssd-0.6"; + + src = fetchurl { + url = "http://0pointer.de/lennart/projects/mod_dnssd/${name}.tar.gz"; + sha256 = "2cd171d76eba398f03c1d5bcc468a1756f4801cd8ed5bd065086e4374997c5aa"; + }; + + configureFlags = [ "--disable-lynx" ]; + + buildInputs = [ pkgconfig apacheHttpd_2_2 avahi apr ]; + + installPhase = '' + mkdir -p $out/modules + cp src/.libs/mod_dnssd.so $out/modules + ''; + + meta = with stdenv.lib; { + homepage = http://0pointer.de/lennart/projects/mod_dnssd; + description = "Provide Zeroconf support via DNS-SD using Avahi"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = with maintainers; [ lethalman ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d695253fbbf..3ca1041fa09 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6451,6 +6451,8 @@ let memcached = callPackage ../servers/memcached {}; + mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd/default.nix { }; + mod_evasive = callPackage ../servers/http/apache-modules/mod_evasive { }; mod_python = callPackage ../servers/http/apache-modules/mod_python { }; From a5b4c74a163660c1adca8ba273b4902ae65098ea Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 11 Apr 2014 23:13:31 +0200 Subject: [PATCH 762/880] gnome-user-share: new package Service that exports the contents of the Public folder in your home directory on the local network https://help.gnome.org/users/gnome-user-share/3.8 --- nixos/modules/module-list.nix | 1 + .../desktops/gnome3/gnome-user-share.nix | 42 +++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../gnome-3/core/gnome-user-share/default.nix | 52 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 5 files changed, 98 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/gnome-user-share.nix create mode 100644 pkgs/desktops/gnome-3/core/gnome-user-share/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 2541bc6a98a..bdb678248eb 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -101,6 +101,7 @@ ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/gnome-keyring.nix + ./services/desktops/gnome3/gnome-user-share.nix ./services/desktops/gnome3/sushi.nix ./services/desktops/gnome3/tracker.nix ./services/desktops/telepathy.nix diff --git a/nixos/modules/services/desktops/gnome3/gnome-user-share.nix b/nixos/modules/services/desktops/gnome3/gnome-user-share.nix new file mode 100644 index 00000000000..df796ed77ff --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-user-share.nix @@ -0,0 +1,42 @@ +# GNOME User Share daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.gnome-user-share = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME User Share, a service that exports the + contents of the Public folder in your home directory on the local network. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-user-share.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome-user-share ]; + + services.xserver.displayManager.sessionCommands = with pkgs.gnome3; '' + # Don't let gnome-control-center depend upon gnome-user-share + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome-user-share}/share/gsettings-schemas/${gnome-user-share.name} + ''; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index ea12ce2ef18..f7f11ff5f92 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -43,6 +43,7 @@ in { services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; services.gnome3.gnome-keyring.enable = true; + services.gnome3.gnome-user-share.enable = mkDefault true; services.gnome3.sushi.enable = mkDefault true; services.gnome3.tracker.enable = mkDefault true; services.telepathy.enable = mkDefault true; diff --git a/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix new file mode 100644 index 00000000000..976b0eaca45 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-user-share/default.nix @@ -0,0 +1,52 @@ +{ stdenv, intltool, fetchurl, apacheHttpd_2_2, nautilus +, pkgconfig, gtk3, glib, hicolor_icon_theme, libxml2, gnused +, bash, makeWrapper, itstool, libnotify, libtool, mod_dnssd +, gnome3, librsvg, gdk_pixbuf, file, libcanberra_gtk3 }: + +stdenv.mkDerivation rec { + name = "gnome-user-share-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-user-share/3.10/${name}.tar.xz"; + sha256 = "1d1ea57a49224c36e7cba04f80265e835639377f474a7582c9e8ac946eda0f8f"; + }; + + doCheck = true; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + preConfigure = '' + sed -e 's,^LoadModule dnssd_module.\+,LoadModule dnssd_module ${mod_dnssd}/modules/mod_dnssd.so,' -i data/dav_user_2.2.conf + ''; + + configureFlags = [ "--with-httpd=${apacheHttpd_2_2}/bin/httpd" + "--with-modules-path=${apacheHttpd_2_2}/modules" + "--disable-bluetooth" + "--with-nautilusdir=$(out)/lib/nautilus/extensions-3.0" ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 libtool + makeWrapper file gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + nautilus libnotify libcanberra_gtk3 ]; + + postInstall = '' + mkdir -p $out/share/gsettings-schemas/$name + mv $out/share/glib-2.0 $out/share/gsettings-schemas/$name + ${glib}/bin/glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas + ''; + + preFixup = '' + wrapProgram "$out/libexec/gnome-user-share" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://help.gnome.org/users/gnome-user-share/3.8; + description = "Service that exports the contents of the Public folder in your home directory on the local network"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 5ac3fb75f16..a6d4f6197d8 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -88,6 +88,8 @@ rec { gnome-user-docs = callPackage ./core/gnome-user-docs { }; + gnome-user-share = callPackage ./core/gnome-user-share { }; + grilo = callPackage ./core/grilo { }; gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; From add4977a91f90db9ae3389e204f9277f4d43ca17 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 12 Apr 2014 16:30:29 +0200 Subject: [PATCH 763/880] system-path, gnome3: run update-desktop-database to create the mime cache This allows programs such as yelp to handle help:// protocol schemas --- nixos/modules/config/system-path.nix | 4 ++++ nixos/modules/services/x11/desktop-managers/gnome3.nix | 1 + 2 files changed, 5 insertions(+) diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 1913e17f929..37d452cf942 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -135,6 +135,10 @@ in if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas fi + + if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then + $out/bin/update-desktop-database $out/share/applications + fi ''; }; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index f7f11ff5f92..7930a6457fd 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -75,6 +75,7 @@ in { "${pkgs.glib_networking}/lib/gio/modules" ]; environment.systemPackages = [ gnome3.dconf + pkgs.desktop_file_utils pkgs.glib_networking pkgs.ibus gnome3.gnome-backgrounds From 64ce2101a48643ccc407cc5288b9f593ec7b6f15 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 12 Apr 2014 19:43:42 +0200 Subject: [PATCH 764/880] telepathy-glib: update to 0.24.0 Adding a gnome online account was not possible due to https://bugs.freedesktop.org/show_bug.cgi?id=68892 --- pkgs/development/libraries/telepathy/glib/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix index 78d2d520050..6c0806ec4cd 100644 --- a/pkgs/development/libraries/telepathy/glib/default.nix +++ b/pkgs/development/libraries/telepathy/glib/default.nix @@ -2,11 +2,11 @@ , gobjectIntrospection, valaSupport ? true, vala }: stdenv.mkDerivation rec { - name = "telepathy-glib-0.22.1"; + name = "telepathy-glib-0.24.0"; src = fetchurl { url = "${meta.homepage}/releases/telepathy-glib/${name}.tar.gz"; - sha256 = "0vf2drh7g55nxyd0mxyn9sf99m981dagnvv9yc3q9f4k8x092a78"; + sha256 = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf"; }; configureFlags = stdenv.lib.optional valaSupport "--enable-vala-bindings"; From c6383af311edacfb837be33ae00413b017bf52a9 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 12 Apr 2014 19:45:12 +0200 Subject: [PATCH 765/880] gnome-online-accounts: add dbus service --- nixos/modules/module-list.nix | 1 + .../desktops/gnome3/gnome-online-accounts.nix | 39 +++++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../core/gnome-control-center/default.nix | 4 ++ .../core/gnome-online-accounts/default.nix | 2 + 5 files changed, 47 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index bdb678248eb..bf7e2eb3fa2 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -101,6 +101,7 @@ ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/gnome-keyring.nix + ./services/desktops/gnome3/gnome-online-accounts.nix ./services/desktops/gnome3/gnome-user-share.nix ./services/desktops/gnome3/sushi.nix ./services/desktops/gnome3/tracker.nix diff --git a/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix new file mode 100644 index 00000000000..365e19c15bb --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix @@ -0,0 +1,39 @@ +# GNOME Online Accounts daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.gnome-online-accounts = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Online Accounts daemon, a service that provides + a single sign-on framework for the GNOME desktop. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-online-accounts.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome_online_accounts ]; + + services.dbus.packages = [ pkgs.gnome3.gnome_online_accounts ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 7930a6457fd..72729f1c1f6 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -43,6 +43,7 @@ in { services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; services.gnome3.gnome-keyring.enable = true; + services.gnome3.gnome-online-accounts.enable = mkDefault true; services.gnome3.gnome-user-share.enable = mkDefault true; services.gnome3.sushi.enable = mkDefault true; services.gnome3.tracker.enable = mkDefault true; diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix index 92a6b6c2c40..76b06f59bcb 100644 --- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + enableParallelBuilding = true; + buildInputs = with gnome3; [ pkgconfig intltool ibus gtk glib upower libcanberra gsettings_desktop_schemas libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus @@ -48,6 +50,8 @@ stdenv.mkDerivation rec { ''; meta = with stdenv.lib; { + description = "Single sign-on framework for GNOME"; + maintainers = with maintainers; [ lethalman ]; platforms = platforms.linux; }; diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix index c17b3ba3eb6..8c459435733 100644 --- a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0"; + enableParallelBuilding = true; + buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl]; meta = with stdenv.lib; { From dd23d9a5a7d4bad9bdcccc5eeccd03bba4d2cdcb Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 13 Apr 2014 17:19:56 +0200 Subject: [PATCH 766/880] libnotify: enable gobject introspection --- .../development/libraries/libnotify/default.nix | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix index 00308bf9471..2b82fe2a4bc 100644 --- a/pkgs/development/libraries/libnotify/default.nix +++ b/pkgs/development/libraries/libnotify/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool, glib, gdk_pixbuf }: +{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool +, glib, gdk_pixbuf, gobjectIntrospection, autoreconfHook }: stdenv.mkDerivation rec { ver_maj = "0.7"; @@ -9,23 +10,15 @@ stdenv.mkDerivation rec { url = "mirror://gnome/sources/libnotify/${ver_maj}/${name}.tar.xz"; sha256 = "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"; }; - src_m4 = fetchurl { - url = "mirror://gentoo/distfiles/introspection-20110205.m4.tar.bz2"; - sha256 = "1cnqh7aaji648nfd5537v7xaak8hgww3bpifhwam7bl0sc3ad523"; - }; # see Gentoo ebuild - we don't need to depend on gtk+(2/3) - preConfigure = '' - cd m4 - tar xvf ${src_m4} - cd .. - + preAutoreconf = '' sed -i -e 's:noinst_PROG:check_PROG:' tests/Makefile.am || die sed -i -e '/PKG_CHECK_MODULES(TESTS/d' configure.ac || die - AT_M4DIR=. autoreconf ''; - buildInputs = [ pkgconfig automake autoconf glib gdk_pixbuf ]; + buildInputs = [ pkgconfig automake autoconf autoreconfHook + libtool glib gdk_pixbuf gobjectIntrospection ]; meta = { homepage = http://galago-project.org/; # very obsolete but found no better From 3cc07a44bc45886cb194f79c87a4ebb093c11ddf Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 13 Apr 2014 17:20:40 +0200 Subject: [PATCH 767/880] gnome-tweak-tool: new package A tool to customize advanced GNOME 3 options https://wiki.gnome.org/action/show/Apps/GnomeTweakTool --- .../services/x11/desktop-managers/gnome3.nix | 1 + pkgs/desktops/gnome-3/default.nix | 2 + .../gnome-3/misc/gnome-tweak-tool/default.nix | 46 +++++++++++++++++++ .../gnome-tweak-tool/find_gsettings.patch | 22 +++++++++ 4 files changed, 71 insertions(+) create mode 100644 pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix create mode 100644 pkgs/desktops/gnome-3/misc/gnome-tweak-tool/find_gsettings.patch diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 72729f1c1f6..c8a996dca08 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -105,6 +105,7 @@ in { gnome3.gnome-user-docs gnome3.file-roller + gnome3.gnome-tweak-tool ] config.environment.gnome3.excludePackages); }; diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index a6d4f6197d8..4518293f68e 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -162,4 +162,6 @@ rec { libgit2-glib = callPackage ./misc/libgit2-glib { }; gexiv2 = callPackage ./misc/gexiv2 { }; + + gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { }; } diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix new file mode 100644 index 00000000000..2eccb9a32cf --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/default.nix @@ -0,0 +1,46 @@ +{ stdenv, intltool, fetchurl, python, pygobject3, atk +, pkgconfig, gtk3, glib, hicolor_icon_theme, libsoup +, bash, makeWrapper, itstool, libxml2, python3Packages +, gnome3, librsvg, gdk_pixbuf, file, libnotify }: + +stdenv.mkDerivation rec { + name = "gnome-tweak-tool-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-tweak-tool/3.10/${name}.tar.xz"; + sha256 = "fb5af9022c0521a925ef9f295e4080212b1b45427cd5f5f3a901667590afa7ec"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + makeFlags = [ "DESTDIR=/" ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 + gnome3.gsettings_desktop_schemas makeWrapper file + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + python pygobject3 libnotify gnome3.gnome_shell + libsoup gnome3.gnome_settings_daemon gnome3.nautilus + gnome3.gnome_desktop ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-tweak-tool" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${libsoup}/lib:${gnome3.gnome_desktop}/lib:${libnotify}/lib:${gtk3}/lib:${atk}/lib" \ + --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" + ''; + + patches = [ ./find_gsettings.patch ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Apps/GnomeTweakTool; + description = "A tool to customize advanced GNOME 3 options"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/find_gsettings.patch b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/find_gsettings.patch new file mode 100644 index 00000000000..3e68c04cb3a --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gnome-tweak-tool/find_gsettings.patch @@ -0,0 +1,22 @@ +diff --git a/gtweak/gsettings.py b/gtweak/gsettings.py +index a00fe19..dce74b2 100644 +--- a/gtweak/gsettings.py ++++ b/gtweak/gsettings.py +@@ -33,10 +33,15 @@ class GSettingsMissingError(Exception): + + class _GSettingsSchema: + def __init__(self, schema_name, schema_dir=None, schema_filename=None, **options): +- if not schema_dir: +- schema_dir = gtweak.GSETTINGS_SCHEMA_DIR + if not schema_filename: + schema_filename = schema_name + ".gschema.xml" ++ if not schema_dir: ++ schema_dir = gtweak.GSETTINGS_SCHEMA_DIR ++ for xdg_dir in GLib.get_system_data_dirs(): ++ dir = os.path.join(xdg_dir, "glib-2.0", "schemas") ++ if os.path.exists(os.path.join(dir, schema_filename)): ++ schema_dir = dir ++ break + + schema_path = os.path.join(schema_dir, schema_filename) + if not os.path.exists(schema_path): From 997b4898b51ca06b952f926c8c026122889dc277 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 13 Apr 2014 17:22:07 +0200 Subject: [PATCH 768/880] gnome-shell-extensions: new package Modify and extend GNOME Shell functionality and behavior https://wiki.gnome.org/Projects/GnomeShell/Extensions --- .../services/x11/desktop-managers/gnome3.nix | 1 + .../core/gnome-shell-extensions/default.nix | 26 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 ++ 3 files changed, 29 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index c8a996dca08..54bc8524607 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -99,6 +99,7 @@ in { gnome3.gnome-contacts gnome3.gnome-font-viewer gnome3.gnome-screenshot + gnome3.gnome-shell-extensions gnome3.gnome-system-log gnome3.gnome-system-monitor gnome3.gnome_terminal diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix new file mode 100644 index 00000000000..00974edb1db --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix @@ -0,0 +1,26 @@ +{ stdenv, intltool, fetchurl, libgtop +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool +, gnome3, file }: + +stdenv.mkDerivation rec { + name = "gnome-shell-extensions-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-shell-extensions/3.10/${name}.tar.xz"; + sha256 = "9baa9ddaf4e14cab6d4d7944d8dc009378b25f995acfd0fd72843f599cb5ae43"; + }; + + doCheck = true; + + buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool + makeWrapper file ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions; + description = "Modify and extend GNOME Shell functionality and behavior"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 4518293f68e..d29ea3d1c69 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -74,6 +74,8 @@ rec { gnome_shell = callPackage ./core/gnome-shell { }; + gnome-shell-extensions = callPackage ./core/gnome-shell-extensions { }; + gnome-screenshot = callPackage ./core/gnome-screenshot { }; gnome_settings_daemon = callPackage ./core/gnome-settings-daemon { }; From ba29614578dd7181a05ed0972c80ba59548b6f52 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 14 Apr 2014 10:19:30 +0200 Subject: [PATCH 769/880] Manual: Generate stable ids for options MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit E.g. ‘#opt-boot.initrd.kernelModules’. Also, shut up a stupid XSLT warning (‘attribute value is not an NCName’). --- nixos/doc/manual/options-to-docbook.xsl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl index 9647aae0f2f..6170332880f 100644 --- a/nixos/doc/manual/options-to-docbook.xsl +++ b/nixos/doc/manual/options-to-docbook.xsl @@ -18,8 +18,10 @@ + - + +