summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xmaintainers/scripts/gnu/gnupdate139
-rw-r--r--pkgs/applications/editors/zile/default.nix8
-rw-r--r--pkgs/applications/misc/xpdf/default.nix33
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/fix-2.7.0.patch27
-rw-r--r--pkgs/applications/version-management/subversion/default.nix9
-rw-r--r--pkgs/build-support/clang-wrapper/builder.sh2
-rw-r--r--pkgs/build-support/kernel/modules-closure.sh2
-rw-r--r--pkgs/build-support/nuke-references/builder.sh2
-rw-r--r--pkgs/data/documentation/man-pages/default.nix2
-rw-r--r--pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix33
-rw-r--r--pkgs/development/compilers/llvm/clang.nix5
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix44
-rw-r--r--pkgs/development/libraries/haskell/ConfigFile/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/GLURaw/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix (renamed from pkgs/development/libraries/haskell/GLUT/2.2.2.0.nix)6
-rw-r--r--pkgs/development/libraries/haskell/Hipmunk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix (renamed from pkgs/development/libraries/haskell/OpenGL/2.4.0.1.nix)6
-rw-r--r--pkgs/development/libraries/haskell/OpenGLRaw/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/base16-bytestring/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/cabal-file-th/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/clientsession/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cprng-aes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/cryptocipher/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/curl/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/download-curl/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/download/default.nix18
-rwxr-xr-xpkgs/development/libraries/haskell/gamma/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hamlet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/happstack/happstack-server.nix4
-rw-r--r--pkgs/development/libraries/haskell/hashable/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hledger-web/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-date/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.5.nix18
-rw-r--r--pkgs/development/libraries/haskell/network/2.3.0.7.nix (renamed from pkgs/development/libraries/haskell/network/2.3.0.6.nix)4
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/shakespeare/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/simple-sendfile/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/skein/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix24
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix4
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/0.10.1nix16
-rw-r--r--pkgs/development/libraries/haskell/texmath/default.nix (renamed from pkgs/development/libraries/haskell/texmath/0.5.0.1.nix)4
-rw-r--r--pkgs/development/libraries/haskell/text/0.11.1.7.nix (renamed from pkgs/development/libraries/haskell/text/0.11.1.5.nix)6
-rw-r--r--pkgs/development/libraries/haskell/time/1.4.0.1.nix (renamed from pkgs/development/libraries/haskell/time/1.4.nix)4
-rw-r--r--pkgs/development/libraries/haskell/tls-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/uu-parsinglib/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/vacuum/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix4
-rw-r--r--pkgs/development/libraries/ldns/default.nix23
-rw-r--r--pkgs/development/libraries/libassuan/default.nix1
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix5
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix7
-rw-r--r--pkgs/development/libraries/libjson/default.nix16
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix4
-rw-r--r--pkgs/development/libraries/osip/default.nix4
-rw-r--r--pkgs/development/libraries/pth/default.nix1
-rw-r--r--pkgs/development/libraries/ucommon/default.nix6
-rw-r--r--pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch31
-rw-r--r--pkgs/development/tools/misc/cflow/default.nix4
-rw-r--r--pkgs/development/tools/misc/gengetopt/default.nix4
-rw-r--r--pkgs/development/tools/misc/global/default.nix4
-rw-r--r--pkgs/development/tools/misc/libtool/libtool2.nix4
-rw-r--r--pkgs/development/tools/misc/lsof/default.nix6
-rw-r--r--pkgs/lib/types.nix1
-rw-r--r--pkgs/os-specific/gnu/default.nix89
-rw-r--r--pkgs/os-specific/gnu/libpthread/default.nix28
-rw-r--r--pkgs/os-specific/linux/drbd/default.nix33
-rw-r--r--pkgs/os-specific/linux/firmware/bcm43xx/default.nix5
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-2.6.35.nix3
-rw-r--r--pkgs/os-specific/linux/module-init-tools/default.nix6
-rw-r--r--pkgs/os-specific/linux/udev/173.nix3
-rw-r--r--pkgs/os-specific/linux/udev/pre-accept4-kernel.patch43
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix2
-rw-r--r--pkgs/servers/http/nginx/default.nix31
-rw-r--r--pkgs/servers/http/nginx/src-for-default.nix9
-rw-r--r--pkgs/servers/http/nginx/src-info-for-default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/2.0.nix8
-rw-r--r--pkgs/servers/sip/sipwitch/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/8.3.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/8.4.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/9.0.x.nix4
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix8
-rw-r--r--pkgs/tools/cd-dvd/xorriso/default.nix4
-rw-r--r--pkgs/tools/filesystems/ntfs-3g/default.nix2
-rw-r--r--pkgs/tools/filesystems/reiserfsprogs/default.nix2
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/time/default.nix2
-rw-r--r--pkgs/tools/misc/time/max-resident.patch16
-rw-r--r--pkgs/tools/networking/unbound/default.nix12
-rw-r--r--pkgs/tools/networking/wget/default.nix4
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/system/fdisk/default.nix4
-rw-r--r--pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--pkgs/tools/typesetting/docbook2x/default.nix8
-rw-r--r--pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix106
-rw-r--r--pkgs/top-level/haskell-packages.nix96
-rw-r--r--pkgs/top-level/perl-packages.nix16
110 files changed, 829 insertions, 519 deletions
diff --git a/maintainers/scripts/gnu/gnupdate b/maintainers/scripts/gnu/gnupdate
index 96517f86cb85..a0c1f338d3a4 100755
--- a/maintainers/scripts/gnu/gnupdate
+++ b/maintainers/scripts/gnu/gnupdate
@@ -308,12 +308,17 @@ replaced by the result of their application to DERIVATIONS, a vhash."
   ;; DERIVATION lacks an "src" attribute.
   (and=> (derivation-source derivation) source-output-path))
 
-(define (open-nixpkgs nixpkgs)
+(define* (open-nixpkgs nixpkgs #:optional attribute)
+  ;; Return an input pipe to the XML representation of Nixpkgs.  When
+  ;; ATTRIBUTE is true, only that attribute is considered.
   (let ((script  (string-append nixpkgs
                                 "/maintainers/scripts/eval-release.nix")))
-    (open-pipe* OPEN_READ "nix-instantiate"
-                "--strict" "--eval-only" "--xml"
-                script)))
+    (apply open-pipe* OPEN_READ
+           "nix-instantiate" "--strict" "--eval-only" "--xml"
+           `(,@(if attribute
+                   `("-A" ,attribute)
+                   '())
+             ,script))))
 
 (define (pipe-failed? pipe)
   "Close pipe and return its status if it failed."
@@ -323,21 +328,36 @@ replaced by the result of their application to DERIVATIONS, a vhash."
         status
         #f)))
 
-(define (nix-prefetch-url url)
-  ;; Download URL in the Nix store and return the base32-encoded SHA256 hash
-  ;; of the file at URL
-  (let* ((pipe (open-pipe* OPEN_READ "nix-prefetch-url" url))
-         (hash (read-line pipe)))
-    (if (or (pipe-failed? pipe)
-            (eof-object? hash))
-        (values #f #f)
-        (let* ((pipe (open-pipe* OPEN_READ "nix-store" "--print-fixed-path"
-                                   "sha256" hash (basename url)))
-               (path (read-line pipe)))
-          (if (or (pipe-failed? pipe)
-                  (eof-object? path))
-              (values #f #f)
-              (values (string-trim-both hash) (string-trim-both path)))))))
+(define (memoize proc)
+  "Return a memoizing version of PROC."
+  (let ((cache (make-hash-table)))
+    (lambda args
+      (let ((results (hash-ref cache args)))
+        (if results
+            (apply values results)
+            (let ((results (call-with-values (lambda ()
+                                               (apply proc args))
+                             list)))
+              (hash-set! cache args results)
+              (apply values results)))))))
+
+(define nix-prefetch-url
+  (memoize
+   (lambda (url)
+     "Download URL in the Nix store and return the base32-encoded SHA256 hash of
+the file at URL."
+     (let* ((pipe (open-pipe* OPEN_READ "nix-prefetch-url" url))
+            (hash (read-line pipe)))
+       (if (or (pipe-failed? pipe)
+               (eof-object? hash))
+           (values #f #f)
+           (let* ((pipe (open-pipe* OPEN_READ "nix-store" "--print-fixed-path"
+                                    "sha256" hash (basename url)))
+                  (path (read-line pipe)))
+             (if (or (pipe-failed? pipe)
+                     (eof-object? path))
+                 (values #f #f)
+                 (values (string-trim-both hash) (string-trim-both path)))))))))
 
 (define (update-nix-expression file
                                old-version old-hash
@@ -409,8 +429,7 @@ replaced by the result of their application to DERIVATIONS, a vhash."
 (define %openpgp-key-server "keys.gnupg.net")
 
 (define (gnupg-verify sig file)
-  "Verify signature SIG for FILE.  Return a status s-exp or #f if GnuPG
-failed."
+  "Verify signature SIG for FILE.  Return a status s-exp if GnuPG failed."
 
   (define (status-line->sexp line)
     ;; See file `doc/DETAILS' in GnuPG.
@@ -475,9 +494,10 @@ failed."
   (let* ((pipe   (open-pipe* OPEN_READ %gpg-command "--status-fd=1"
                              "--verify" sig file))
          (status (parse-status pipe)))
-    (if (pipe-failed? pipe)
-        #f
-        status)))
+    ;; Ignore PIPE's exit status since STATUS above should contain all the
+    ;; info we need.
+    (close-pipe pipe)
+    status))
 
 (define (gnupg-status-good-signature? status)
   "If STATUS, as returned by `gnupg-verify', denotes a good signature, return
@@ -716,7 +736,8 @@ Return #t if the signature was good, #f otherwise."
                         (('attribute _ "description" value)
                          (string-prefix? "GNU" value))
                         (('attribute _ "homepage" (? string? value))
-                         (string-contains value "www.gnu.org"))
+                         (or (string-contains value "gnu.org")
+                             (string-contains value "gnupg.org")))
                         (('attribute _ "homepage" ((? string? value) ...))
                          (any (cut string-contains <> "www.gnu.org") value))
                         (_ #f)))
@@ -749,6 +770,7 @@ Return #t if the signature was good, #f otherwise."
       ("libosip2"     "ftp.gnu.org"   "/gnu/osip" #f)
       ("libgcrypt"    "ftp.gnupg.org" "/gcrypt" #t)
       ("libgpg-error" "ftp.gnupg.org" "/gcrypt" #t)
+      ("libassuan"    "ftp.gnupg.org" "/gcrypt" #t)
       ("freefont-ttf" "ftp.gnu.org"   "/gnu/freefont" #f)
       ("gnupg"        "ftp.gnupg.org" "/gcrypt" #t)
       ("gnu-ghostscript" "ftp.gnu.org"  "/gnu/ghostscript" #f)
@@ -921,6 +943,7 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
         gnu-packages))
 
 (define (fetch-gnu project directory version archive-type)
+  "Download PROJECT's tarball over FTP."
   (let* ((server  (ftp-server/directory project))
          (base    (string-append project "-" version ".tar." archive-type))
          (url     (string-append "ftp://" server "/" directory "/" base))
@@ -963,12 +986,18 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
                   (format #t "~%")
                   (format #t "  -x, --xml=FILE      Read XML output of `nix-instantiate'~%")
                   (format #t "                      from FILE.~%")
+                  (format #t "  -A, --attribute=ATTR~%")
+                  (format #t "                      Update only the package pointed to by attribute~%")
+                  (format #t "                      ATTR.~%")
                   (format #t "  -s, --select=SET    Update only packages from SET, which may~%")
                   (format #t "                      be either `all', `stdenv', or `non-stdenv'.~%")
                   (format #t "  -d, --dry-run       Don't actually update Nix expressions~%")
                   (format #t "  -h, --help          Give this help list.~%~%")
                   (format #t "Report bugs to <ludo@gnu.org>~%")
                   (exit 0)))
+        (option '(#\A "attribute") #t #f
+                (lambda (opt name arg result)
+                  (alist-cons 'attribute arg result)))
         (option '(#\s "select") #t #f
                 (lambda (opt name arg result)
                   (cond ((string-ci=? arg "stdenv")
@@ -994,13 +1023,14 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
 (define (gnupdate . args)
   ;; Assume Nixpkgs is under $NIXPKGS or ~/src/nixpkgs.
 
-  (define (nixpkgs->snix xml-file)
+  (define (nixpkgs->snix xml-file attribute)
     (format (current-error-port) "evaluating Nixpkgs...~%")
     (let* ((home (getenv "HOME"))
            (xml  (if xml-file
                      (open-input-file xml-file)
                      (open-nixpkgs (or (getenv "NIXPKGS")
-                                       (string-append home "/src/nixpkgs")))))
+                                       (string-append home "/src/nixpkgs"))
+                                   attribute)))
            (snix (xml->snix xml)))
       (if (not xml-file)
           (let ((status (pipe-failed? xml)))
@@ -1009,7 +1039,34 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
                   (format (current-error-port) "`nix-instantiate' failed: ~A~%"
                           status)
                   (exit 1)))))
-      snix))
+
+      ;; If we asked for a specific attribute, rewrap the thing in an
+      ;; attribute set to match the expectations of `packages-to-update' & co.
+      (if attribute
+          (match snix
+            (('snix loc ('derivation args ...))
+             `(snix ,loc
+                    (attribute-set
+                     ((attribute #f ,attribute
+                                 (derivation ,@args)))))))
+          snix)))
+
+  (define (selected-gnu-packages packages stdenv selection)
+    ;; Return the subset of PACKAGES that are/aren't in STDENV, according to
+    ;; SELECTION.  To do that reliably, we check whether their "src"
+    ;; derivation is a requisite of STDENV.
+    (define gnu
+      (gnu-packages packages))
+
+    (case selection
+      ((stdenv)
+       gnu)
+      ((non-stdenv)
+       (filter (lambda (p)
+                 (not (member (package-source-output-path p)
+                              (force stdenv))))
+               gnu))
+      (else gnu)))
 
   (let* ((opts      (args-fold (cdr args) %options
                                (lambda (opt name arg result)
@@ -1017,7 +1074,8 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
                                (lambda (operand result)
                                  (error "extraneous argument `~A'" operand))
                                '()))
-         (snix      (nixpkgs->snix (assoc-ref opts 'xml-file)))
+         (snix      (nixpkgs->snix (assq-ref opts 'xml-file)
+                                   (assq-ref opts 'attribute)))
          (packages  (match snix
                       (('snix _ ('attribute-set attributes))
                        attributes)
@@ -1026,23 +1084,12 @@ pairs.  Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\").
                       ;; The source tarballs that make up stdenv.
                       (filter-map derivation-source-output-path
                                   (package-requisites (stdenv-package packages)))))
-         (gnu       (gnu-packages packages))
-         (gnu*      (case (assoc-ref opts 'filter)
-                      ;; Filter out packages that are/aren't in `stdenv'.  To
-                      ;; do that reliably, we check whether their "src"
-                      ;; derivation is a requisite of stdenv.
-                      ((stdenv)
-                       (filter (lambda (p)
-                                 (member (package-source-output-path p)
-                                         (force stdenv)))
-                               gnu))
-                      ((non-stdenv)
-                       (filter (lambda (p)
-                                 (not (member (package-source-output-path p)
-                                              (force stdenv))))
-                               gnu))
-                      (else gnu)))
-         (updates   (packages-to-update gnu*)))
+         (attribute (assq-ref opts 'attribute))
+         (selection (assq-ref opts 'filter))
+         (to-update (if attribute
+                        packages                  ; already a subset
+                        (selected-gnu-packages packages stdenv selection)))
+         (updates   (packages-to-update to-update)))
 
     (format #t "~%~A packages to update...~%" (length updates))
     (for-each (lambda (update)
diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix
index d8acf24cbf5d..6a1762d77ff3 100644
--- a/pkgs/applications/editors/zile/default.nix
+++ b/pkgs/applications/editors/zile/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, ncurses, help2man }:
+{ fetchurl, stdenv, ncurses, boehmgc, perl, help2man }:
 
 stdenv.mkDerivation rec {
-  name = "zile-2.3.24";
+  name = "zile-2.4.2";
 
   src = fetchurl {
     url = "mirror://gnu/zile/${name}.tar.gz";
-    sha256 = "12by1f5nbk2qcq0f35aqjq5g54nsnajk2rk5060icsjc86pv52r1";
+    sha256 = "0ia91c18fyssnhabfb22npmidjkx32rqfkjgxxjibvdwfja25d3k";
   };
 
-  buildInputs = [ ncurses ];
+  buildInputs = [ ncurses boehmgc perl ];
   buildNativeInputs = [ help2man ];
 
   # Tests can't be run because most of them rely on the ability to
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index 8b375fb26595..8cefdd39b3a3 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -8,40 +8,19 @@ assert enablePDFtoPPM -> freetype != null;
 assert useT1Lib -> t1lib != null;
 
 stdenv.mkDerivation {
-  name = "xpdf-3.02pl5";
+  name = "xpdf-3.03";
 
   src = fetchurl {
-    url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz;
-    sha256 = "000zq4ddbwyxiki4vdwpmxbnw5n9hsg9hvwra2p33hslyib7sfmk";
+    url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.03.tar.gz;
+    sha256 = "1jnfzdqc54wa73lw28kjv0m7120mksb0zkcn81jdlvijyvc67kq2";
   };
 
   buildInputs =
     (if enableGUI then [x11 motif] else []) ++
     (if useT1Lib then [t1lib] else []);
 
-  patches = [
-    (fetchurl {
-      url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl1.patch;
-      sha256 = "1wxv9l0d2kkwi961ihpdwi75whdvk7cgqxkbfym8cjj11fq17xjq";
-    })
-    (fetchurl {
-      url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl2.patch;
-      sha256 = "1nfrgsh9xj0vryd8h65myzd94bjz117y89gq0hzji9dqn23xihfi";
-    })
-    (fetchurl {
-      url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl3.patch;
-      sha256 = "0jskkv8x6dqr9zj4azaglas8cziwqqrkbbnzrpm2kzrvsbxyhk2r";
-    })
-    (fetchurl {
-      url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4.patch;
-      sha256 = "1c48h7aizx0ngmzlzw0mpja1w8vqyy3pg62hyxp7c60k86al715h";
-    })
-    (fetchurl {
-      url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl5.patch;
-      sha256 = "1fki66pw56yr6aw38f6amrx7wxwcxbx4704pjqq7pqqr784b7z4j";
-    })
-    ./xpdf-3.02-protection.patch
-  ];
+  # Debian uses '-fpermissive' to bypass some errors on char* constantness.
+  CXXFLAGS = "-O2 -fpermissive";
 
   configureFlags =
     "--infodir=$out/share/info --mandir=$out/share/man --enable-a4-paper"
@@ -54,7 +33,7 @@ stdenv.mkDerivation {
     if test -n \"${base14Fonts}\"; then
       substituteInPlace $out/etc/xpdfrc \\
         --replace /usr/local/share/ghostscript/fonts ${base14Fonts} \\
-        --replace '#displayFontT1' displayFontT1
+        --replace '#displayFontT1' displayFontT2
     fi
   ";
 
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index 02fbc9643b71..e8afdb37cbc4 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchurl, pidgin, intltool, libxml2 }:
 
-let version = "1.10.0"; in
+let version = "1.12.0"; in
 
 stdenv.mkDerivation {
   name = "pidgin-sipe-${version}";
   
   src = fetchurl {
-    url = "mirror://sourceforge/sipe/sipe/pidgin-sipe-${version}/pidgin-sipe-${version}.tar.gz";
-    sha256 = "11d85qxix1dmwvzs3lx0sycsx1d5sy67r9y78fs7z716py4mg9np";
+    url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
+    sha256 = "12ki6n360v2ja961fzw4mwpgb8jdp9k21y5mbiab151867c862r6";
   };
 
-  patches = [ ./fix-2.7.0.patch ];
-
   meta = {
     description = "SIPE plugin for Pidgin IM.";
     homepage = http://sipe.sourceforge.net/;
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/fix-2.7.0.patch b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/fix-2.7.0.patch
deleted file mode 100644
index cecfa8a18e49..000000000000
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/fix-2.7.0.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 8ad28171ac5c3fbd1917a2f52e75423c4d357b24 Mon Sep 17 00:00:00 2001
-From: David Brown <nix@davidb.org>
-Date: Thu, 3 Jun 2010 06:40:04 -0700
-Subject: [PATCH] Fix initializer for 2.7.0 release
-
-The release of 2.7.0 of pidgin/purple gained two extra fields in a
-structure.
----
- src/core/sipe.c |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/src/core/sipe.c b/src/core/sipe.c
-index 45a9015..19f4237 100644
---- a/src/core/sipe.c
-+++ b/src/core/sipe.c
-@@ -10683,6 +10683,8 @@ PurplePluginProtocolInfo prpl_info =
- 	NULL,					/* get_media_caps */
- #if PURPLE_VERSION_CHECK(2,7,0)
- 	NULL,					/* get_moods */
-+	NULL,					/* set_public_alias */
-+	NULL,					/* get_public_alias */
- #endif
- #endif
- #endif
--- 
-1.7.1
-
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index e1604ccc2e76..0199dd113027 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -19,13 +19,13 @@ assert compressionSupport -> neon.compressionSupport;
 
 stdenv.mkDerivation rec {
 
-  version = "1.6.17";
+  version = "1.7.1";
 
   name = "subversion-${version}";
 
   src = fetchurl {
-    url = "http://subversion.tigris.org/downloads/${name}.tar.bz2";
-    sha1 = "6e3ed7c87d98fdf5f0a999050ab601dcec6155a1";
+    url = "mirror://apache/subversion//${name}.tar.bz2";
+    sha1 = "4bfaa8e33e9eaf26a504117cd91b23805518071a";
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
@@ -48,9 +48,6 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    ensureDir $out/share/emacs/site-lisp
-    cp contrib/client-side/emacs/[dp]svn*.el $out/share/emacs/site-lisp/
-
     if test -n "$pythonBindings"; then
         make swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn
         make install-swig-py swig_pydir=$(toPythonPath $out)/libsvn swig_pydir_extra=$(toPythonPath $out)/svn
diff --git a/pkgs/build-support/clang-wrapper/builder.sh b/pkgs/build-support/clang-wrapper/builder.sh
index dc039605d031..fe714a0719a1 100644
--- a/pkgs/build-support/clang-wrapper/builder.sh
+++ b/pkgs/build-support/clang-wrapper/builder.sh
@@ -47,7 +47,7 @@ else
     # It's unclear if these will ever be provided by an LLVM project
     clangCFlags="$clangCFlags -B$basePath"
 
-    clangCFlags="$clangCFlags -I$clang/lib/clang/$clangVersion/include"
+    clangCFlags="$clangCFlags -isystem$clang/lib/clang/$clangVersion/include"
     echo "$clangCFlags" > $out/nix-support/clang-cflags
     
     clangPath="$clang/bin"
diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh
index 8b244043676c..faf6e92fdff1 100644
--- a/pkgs/build-support/kernel/modules-closure.sh
+++ b/pkgs/build-support/kernel/modules-closure.sh
@@ -27,7 +27,7 @@ done
 echo "closure:"
 ensureDir $out/lib/modules/"$version"
 for module in $closure; do
-    target=$(echo $module | sed "s^/nix/store/.*/lib/modules/^$out/lib/modules/^")
+    target=$(echo $module | sed "s^$NIX_STORE.*/lib/modules/^$out/lib/modules/^")
     if test -e "$target"; then continue; fi
     if test \! -e "$module"; then continue; fi # XXX: to avoid error with "cp builtin builtin"
     mkdir -p $(dirname $target)
diff --git a/pkgs/build-support/nuke-references/builder.sh b/pkgs/build-support/nuke-references/builder.sh
index 429a5a8dee4e..3b9324073ef8 100644
--- a/pkgs/build-support/nuke-references/builder.sh
+++ b/pkgs/build-support/nuke-references/builder.sh
@@ -5,7 +5,7 @@ cat > $out/bin/nuke-refs <<EOF
 #! $SHELL -e
 for i in \$*; do
     if test ! -L \$i -a -f \$i; then
-        cat \$i | sed "s|/nix/store/[a-z0-9]*-|/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" > \$i.tmp
+        cat \$i | sed "s|$NIX_STORE/[a-z0-9]*-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" > \$i.tmp
         if test -x \$i; then chmod +x \$i.tmp; fi
         mv \$i.tmp \$i
     fi
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 71c66a0794b0..1376a92c1349 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Linux development manual pages";
-    homepage = http://kernel.org/pub/linux/docs/manpages/;
+    homepage = http://www.kernel.org/doc/man-pages/;
   };
 }
diff --git a/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix
new file mode 100644
index 000000000000..811515ee55b3
--- /dev/null
+++ b/pkgs/data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip }:
+
+let 
+
+  src = fetchurl {
+    url = http://www.oasis-open.org/docbook/sgml/4.1/docbk41.zip;
+    sha256 = "04b3gp4zkh9c5g9kvnywdkdfkcqx3kjc04j4mpkr4xk7lgqgrany";
+  };
+
+  isoents = fetchurl {
+    url = http://www.oasis-open.org/cover/ISOEnts.zip;
+    sha256 = "1clrkaqnvc1ja4lj8blr0rdlphngkcda3snm7b9jzvcn76d3br6w";
+  };
+
+in
+
+stdenv.mkDerivation {
+  name = "docbook-sgml-4.1";
+
+  unpackPhase = "true";
+
+  buildInputs = [ unzip ];
+
+  installPhase =
+    ''
+      o=$out/sgml/dtd/docbook-4.1
+      mkdir -p $o
+      cd $o
+      unzip ${src}
+      unzip ${isoents}
+      sed -e "s/iso-/ISO/" -e "s/.gml//" -i docbook.cat
+    '';
+}
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
index 78b3219a3284..8e2fa723df69 100644
--- a/pkgs/development/compilers/llvm/clang.nix
+++ b/pkgs/development/compilers/llvm/clang.nix
@@ -46,11 +46,6 @@ stdenv.mkDerivation {
     cd tools/clang
   '';
 
-  postInstall = ''
-    install -v -m755 tools/scan-build/scan-build $out/bin
-    install -v -m755 tools/scan-view/scan-view $out/bin
-  '';
-
   passthru = { gcc = stdenv.gcc.gcc; };
 
   meta = {
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
index 8a277f9b89e3..dcbdb6518d35 100644
--- a/pkgs/development/compilers/mit-scheme/default.nix
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -1,7 +1,7 @@
-{ fetchurl, stdenv, gnum4 }:
+{ fetchurl, stdenv, gnum4, texinfo, texLive, automake }:
 
 let
-  version = "9.0.1";
+  version = "9.1";
   bootstrapFromC = ! (stdenv.isi686 || stdenv.isx86_64);
 in
 stdenv.mkDerivation {
@@ -15,23 +15,47 @@ stdenv.mkDerivation {
     if stdenv.isi686
     then fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-i386.tar.gz";
-      sha256 = "0cfj3bawjdnpa7cbqh2f23hfpjpmryypmzkhndvdbi79a65fl0n2";
+      sha256 = "1vqdy9f1lbzflr9bw0gjn4g4w3hdpnjrkiwj5aaah70flif5ndns";
     } else if stdenv.isx86_64
     then fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-x86-64.tar.gz";
-      sha256 = "0p188d7n0iqdgvra6qv5apvcsv0z2p97ry7xz5216zkc364i6mmr";
+      sha256 = "1l4zxqm5r1alc6y1cky62rn8h6i40qyiba081n6phwypwxr5sd0g";
     } else fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-c-${version}.tar.gz";
-      sha256 = "1g2mifrx0bvag0hlrbk81rkrlm1pbn688zw8b9d2i0sl5g2p1ril";
+      sha256 = "1661cybycfvjjyq92gb3n1cygxfmfjdhnh3d2ha3vy6xxk9d7za9";
     };
 
-  preConfigure = "cd src";
+  configurePhase =
+    '' cd src
+       ./configure --prefix="$out"
+
+       cd ../doc
+       ./configure --prefix="$out"
+       cd ..
+     '';
+
   buildPhase =
-    if bootstrapFromC
-    then "./etc/make-liarc.sh --prefix=$out"
-    else "make compile-microcode";
+    '' cd src
+       ${if bootstrapFromC
+         then "./etc/make-liarc.sh --prefix=$out"
+         else "make compile-microcode"}
+
+       cd ../doc
+
+       # Provide a `texinfo.tex'.
+       export TEXINPUTS="$(echo ${automake}/share/automake-*)"
+       echo "\$TEXINPUTS is \`$TEXINPUTS'"
+       make
+
+       cd ..
+    '';
+
+  installPhase =
+    '' make install -C src
+       make install -C doc
+    '';
 
-  buildInputs = [ gnum4 ];
+  buildNativeInputs = [ gnum4 texinfo texLive automake ];
 
   # XXX: The `check' target doesn't exist.
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/ConfigFile/default.nix b/pkgs/development/libraries/haskell/ConfigFile/default.nix
index d7a5a674bb6a..d8cfb2ee407a 100644
--- a/pkgs/development/libraries/haskell/ConfigFile/default.nix
+++ b/pkgs/development/libraries/haskell/ConfigFile/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ConfigFile";
-  version = "1.1.0";
-  sha256 = "0m5p56if711qi69lxw78746sb0jr5gqbmip5hdbb7lk4z5drgvhc";
+  version = "1.1.1";
+  sha256 = "0w2yhbnqldhmj3d98j720l4lj4d08abqcff751p2slszdm5pw1jm";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ MissingH mtl parsec ];
diff --git a/pkgs/development/libraries/haskell/GLURaw/default.nix b/pkgs/development/libraries/haskell/GLURaw/default.nix
index c6ed00e08360..034808566692 100644
--- a/pkgs/development/libraries/haskell/GLURaw/default.nix
+++ b/pkgs/development/libraries/haskell/GLURaw/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "GLURaw";
-  version = "1.1.0.0";
-  sha256 = "03lsskqxh2q7kbnw8hbxz5wp7zq55nwbibsb9maj4y3xpc1vprac";
+  version = "1.1.0.1";
+  sha256 = "0n2yazdk98ia9j65n4ac7k0lnyp9cmz51d344x0jsi0xyfckm0mq";
   buildDepends = [ OpenGLRaw ];
   extraLibraries = [ freeglut mesa ];
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
     description = "A raw binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/GLUT/2.2.2.0.nix b/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
index 2f25c5bd1cec..3248631be3e2 100644
--- a/pkgs/development/libraries/haskell/GLUT/2.2.2.0.nix
+++ b/pkgs/development/libraries/haskell/GLUT/2.2.2.1.nix
@@ -4,12 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "GLUT";
-  version = "2.2.2.0";
-  sha256 = "0hilpjwkjvpz4sz0zqa36vmx8m1yycjnqdd721mqns7lib2fnzrx";
+  version = "2.2.2.1";
+  sha256 = "09qpkrwpc3w173mvqwda7vi0ncpzzzrnlfa14ja7jba489a8l1mw";
   buildDepends = [ OpenGL StateVar Tensor ];
   extraLibraries = [ freeglut libICE libSM libXi libXmu mesa ];
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
     description = "A binding for the OpenGL Utility Toolkit";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/Hipmunk/default.nix b/pkgs/development/libraries/haskell/Hipmunk/default.nix
index ab3fe660cfaa..593831e2f294 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.4";
-  sha256 = "0sa0a4hg0xp8l64dy8hnfkhvy2miv79b5550v8gkvrbqcci0qfay";
+  version = "5.2.0.5";
+  sha256 = "0zmc1bddpvjg11r5931hfx6va73jk1f3nb8nb1qfh86a4addp9id";
   buildDepends = [ StateVar transformers ];
   noHaddock = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
index 1c992f4b5719..52080c26a3b9 100644
--- a/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
+++ b/pkgs/development/libraries/haskell/MonadCatchIO-transformers/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "MonadCatchIO-transformers";
-  version = "0.2.2.2";
-  sha256 = "083c0abwja447j0p8q0j15iv7bshchy83rfqw07b2hfy38467h9g";
+  version = "0.2.2.3";
+  sha256 = "1qwy9rrmf3kl7rb7v46n81xmrwy4xl63lfnlsiz1qc0hybjkl7m6";
   buildDepends = [ extensibleExceptions transformers ];
   meta = {
     description = "Monad-transformer compatible version of the Control.Exception module";
-    license = self.stdenv.lib.licenses.publicDomain;
+    license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [
       self.stdenv.lib.maintainers.andres
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.4.0.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
index 2deb96d750f5..73b5c741bbb2 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.4.0.1.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.4.0.2.nix
@@ -4,12 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "OpenGL";
-  version = "2.4.0.1";
-  sha256 = "0xdclf0m7qxp4157053cbsybpy7fqiiiak0g2kyf8awr7a5736n5";
+  version = "2.4.0.2";
+  sha256 = "00rjvm02p6h8vbyxi3ri4jkk75ki414wk5al2z2fsszjfpdl93b6";
   buildDepends = [ GLURaw ObjectName OpenGLRaw StateVar Tensor ];
   extraLibraries = [ libX11 mesa ];
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
     description = "A binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/OpenGLRaw/default.nix b/pkgs/development/libraries/haskell/OpenGLRaw/default.nix
index 16863a4be15e..3a86955a4383 100644
--- a/pkgs/development/libraries/haskell/OpenGLRaw/default.nix
+++ b/pkgs/development/libraries/haskell/OpenGLRaw/default.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "OpenGLRaw";
-  version = "1.1.0.1";
-  sha256 = "0v6zcy4xvjj5g137rwjsh6hs0ni9dfkvsqynxv4bl5s78amppqnf";
+  version = "1.1.0.2";
+  sha256 = "0d1rjh2vq0w1pzf3vz0mw6p0w43h3sf6034qsi89m4jkx3125fwf";
   extraLibraries = [ mesa ];
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "http://www.haskell.org/haskellwiki/Opengl";
     description = "A raw binding for the OpenGL graphics system";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/base16-bytestring/default.nix b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
new file mode 100644
index 000000000000..33b7d437b339
--- /dev/null
+++ b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
@@ -0,0 +1,17 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "base16-bytestring";
+  version = "0.1.1.2";
+  sha256 = "1isxyl52vh0lg195wq9nkr3hlmbw3d3c9aymxlz8hynz0hh1q1z0";
+  meta = {
+    homepage = "http://github.com/mailrank/base16-bytestring";
+    description = "Fast base16 (hex) encoding and deconding for ByteStrings";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cabal-file-th/default.nix b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
index 427e4ba2cc60..e03c10dea311 100644
--- a/pkgs/development/libraries/haskell/cabal-file-th/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
@@ -9,5 +9,9 @@ cabal.mkDerivation (self: {
     description = "Template Haskell expressions for reading fields from a project's cabal file";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 46e3d078a692..1e8fca8ca295 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -1,12 +1,15 @@
-{ cabal, asn1Data, base64Bytestring, mtl, time }:
+{ cabal, asn1Data, base64Bytestring, cryptoPubkeyTypes, mtl, time
+}:
 
 cabal.mkDerivation (self: {
   pname = "certificate";
-  version = "0.9.5";
-  sha256 = "0nc50x4pqsrm8q6n4xjp79q4dmmglrqd8rbryza8jmcml8fchvbz";
+  version = "1.0.0";
+  sha256 = "1i4s1yvl765cfj7ya5rsvzqnijf307zh4i4pzcgncmr37mlkfjz2";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ asn1Data base64Bytestring mtl time ];
+  buildDepends = [
+    asn1Data base64Bytestring cryptoPubkeyTypes mtl time
+  ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-certificate";
     description = "Certificates and Key Reader/Writer";
diff --git a/pkgs/development/libraries/haskell/clientsession/default.nix b/pkgs/development/libraries/haskell/clientsession/default.nix
index a2ebb5c2d9ba..d4f89de04660 100644
--- a/pkgs/development/libraries/haskell/clientsession/default.nix
+++ b/pkgs/development/libraries/haskell/clientsession/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "clientsession";
-  version = "0.7.3.2";
-  sha256 = "1ml1f5sarfck39qrv4zjcbk1vwgazn32gnjm78fm047ixczi9340";
+  version = "0.7.3.3";
+  sha256 = "0cfj225hzn8fsffwnq5zq55dh9m5av1i58b4njhna7miiz6b4jsq";
   buildDepends = [
     base64Bytestring cereal cryptoApi cryptocipher skein
   ];
diff --git a/pkgs/development/libraries/haskell/cprng-aes/default.nix b/pkgs/development/libraries/haskell/cprng-aes/default.nix
index 80a04e965498..0a40bd29575a 100644
--- a/pkgs/development/libraries/haskell/cprng-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cprng-aes/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cprng-aes";
-  version = "0.2.2";
-  sha256 = "0jfa9fb670bqlnkplmscz878hvdbpap47xfxvshgs102iq7rjasf";
+  version = "0.2.3";
+  sha256 = "1xyphzb3afvw7kpgq3b0c86b45rp5a8s870gag1lp7h686lhfnn3";
   buildDepends = [ cereal cryptoApi cryptocipher entropy random ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cprng-aes";
diff --git a/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
new file mode 100644
index 000000000000..5f146d047be8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/crypto-pubkey-types/default.nix
@@ -0,0 +1,18 @@
+{ cabal, cryptoApi }:
+
+cabal.mkDerivation (self: {
+  pname = "crypto-pubkey-types";
+  version = "0.1.0";
+  sha256 = "1ib5bqxydvv37l53wl6b4j6m6y904rsiamhh144lm6rmqiym26f5";
+  buildDepends = [ cryptoApi ];
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-crypto-pubkey-types";
+    description = "Generic cryptography Public keys algorithm types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cryptocipher/default.nix b/pkgs/development/libraries/haskell/cryptocipher/default.nix
index 754f728aed54..a95e3ec1f642 100644
--- a/pkgs/development/libraries/haskell/cryptocipher/default.nix
+++ b/pkgs/development/libraries/haskell/cryptocipher/default.nix
@@ -1,12 +1,16 @@
-{ cabal, cereal, cryptoApi, primitive, tagged, vector }:
+{ cabal, cereal, cryptoApi, cryptoPubkeyTypes, primitive, tagged
+, vector
+}:
 
 cabal.mkDerivation (self: {
   pname = "cryptocipher";
-  version = "0.2.14";
-  sha256 = "1r91d9sqc53c628z378fyah7vvmkakvxpwbslam0yhfgp2p0l23z";
+  version = "0.3.0";
+  sha256 = "17jbzssdbprspadz5ynyam60l5iw7s809irklfg1ii89x26mlyix";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [ cereal cryptoApi primitive tagged vector ];
+  buildDepends = [
+    cereal cryptoApi cryptoPubkeyTypes primitive tagged vector
+  ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cryptocipher";
     description = "Symmetrical Block, Stream and PubKey Ciphers";
diff --git a/pkgs/development/libraries/haskell/curl/default.nix b/pkgs/development/libraries/haskell/curl/default.nix
new file mode 100644
index 000000000000..c512820114fe
--- /dev/null
+++ b/pkgs/development/libraries/haskell/curl/default.nix
@@ -0,0 +1,17 @@
+{ cabal, curl }:
+
+cabal.mkDerivation (self: {
+  pname = "curl";
+  version = "1.3.7";
+  sha256 = "0i6d7732p5gn1bcvavbxcg4wd18j425mi1yjg0b29zzz3yl0qhgi";
+  extraLibraries = [ curl ];
+  meta = {
+    description = "Haskell binding to libcurl";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/download-curl/default.nix b/pkgs/development/libraries/haskell/download-curl/default.nix
new file mode 100644
index 000000000000..81e88b8f58d5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/download-curl/default.nix
@@ -0,0 +1,18 @@
+{ cabal, curl, feed, tagsoup, xml }:
+
+cabal.mkDerivation (self: {
+  pname = "download-curl";
+  version = "0.1.3";
+  sha256 = "17g5dnw4yxi4kf5x71bkk4wx1zl8yjs5dd34k6dgnw9wgkz97qw1";
+  buildDepends = [ curl feed tagsoup xml ];
+  meta = {
+    homepage = "http://code.haskell.org/~dons/code/download-curl";
+    description = "High-level file download based on URLs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/download/default.nix b/pkgs/development/libraries/haskell/download/default.nix
new file mode 100644
index 000000000000..c0895ac2938e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/download/default.nix
@@ -0,0 +1,18 @@
+{ cabal, feed, tagsoup, xml }:
+
+cabal.mkDerivation (self: {
+  pname = "download";
+  version = "0.3.2";
+  sha256 = "0nhbfq8q9ckc5fnlg54l361p2jhkag9cz11v07kj9f1kwkm4d7w3";
+  buildDepends = [ feed tagsoup xml ];
+  meta = {
+    homepage = "http://code.haskell.org/~dons/code/download";
+    description = "High-level file download based on URLs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gamma/default.nix b/pkgs/development/libraries/haskell/gamma/default.nix
index 523b9d233cac..feb57b32a890 100755
--- a/pkgs/development/libraries/haskell/gamma/default.nix
+++ b/pkgs/development/libraries/haskell/gamma/default.nix
@@ -5,6 +5,9 @@ cabal.mkDerivation (self: {
   version = "0.7.0.1";
   sha256 = "0728b5mrzmj9hkaqvikl45jyi2p9hnkl2p6l9yv7wnw557yb0gb2";
   buildDepends = [ continuedFractions converge vector ];
+  preConfigure = ''
+    sed -i 's|\(vector.*\) && < 0.8|\1|' ${self.pname}.cabal
+  '';
   meta = {
     homepage = "https://github.com/mokus0/gamma";
     description = "Gamma function and related functions";
diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix
index 6bc322bce0ee..495ecee2d7a8 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss";
-  version = "1.4.0.1";
-  sha256 = "0za7imyzfgk3ndh9db55wi7zbxrmpvshws4vywrr35b77b3nabr1";
+  version = "1.5.0.2";
+  sha256 = "01fd5yl5wdw09xqslmx8h563k2v8dglc60902kia8b5h62xjr1w6";
   buildDepends = [ bmp GLUT OpenGL ];
   meta = {
     homepage = "http://gloss.ouroborus.net";
diff --git a/pkgs/development/libraries/haskell/hamlet/default.nix b/pkgs/development/libraries/haskell/hamlet/default.nix
index 9f1831a991f2..4499d3388854 100644
--- a/pkgs/development/libraries/haskell/hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/hamlet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hamlet";
-  version = "0.10.3";
-  sha256 = "1xkk8hcmfnn9y14fsrab3cv8xknhf8j6hkv668yshg8bjzz1smva";
+  version = "0.10.4";
+  sha256 = "10ik9rbj9srb1f7vavs5siidyybzbr4fpy3akv90qldd2xyifhxa";
   buildDepends = [
     blazeBuilder blazeHtml failure parsec shakespeare text
   ];
diff --git a/pkgs/development/libraries/haskell/happstack/happstack-server.nix b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
index b62c8bd02024..c8e5e12cf4ba 100644
--- a/pkgs/development/libraries/haskell/happstack/happstack-server.nix
+++ b/pkgs/development/libraries/haskell/happstack/happstack-server.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "happstack-server";
-  version = "6.2.4";
-  sha256 = "0lhyjaxw1qkh1pi0v14j7ya2ljrfizmxwahrhqk3sasnf2mrqycp";
+  version = "6.2.5";
+  sha256 = "196s8i3v55i10nkapkvzyw048flshw8mlm604548f0qjciynfjmg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hashable/default.nix b/pkgs/development/libraries/haskell/hashable/default.nix
index 5149da865c70..ba4c0312f9b0 100644
--- a/pkgs/development/libraries/haskell/hashable/default.nix
+++ b/pkgs/development/libraries/haskell/hashable/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hashable";
-  version = "1.1.2.1";
-  sha256 = "1kmx3jr9cmkbapd7gywx7zvyd22nyz2mgs8lnzspp5hi7crx3wcx";
+  version = "1.1.2.2";
+  sha256 = "0gfg1cyd468czfv5xfhn7rz0r5s0v378c4xjlm6kkw7n10n2zg8y";
   buildDepends = [ text ];
   meta = {
     homepage = "http://github.com/tibbe/hashable";
diff --git a/pkgs/development/libraries/haskell/hledger-web/default.nix b/pkgs/development/libraries/haskell/hledger-web/default.nix
index 426e477fc0f2..5b697906f3b0 100644
--- a/pkgs/development/libraries/haskell/hledger-web/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-web/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hledger-web";
-  version = "0.16.4";
-  sha256 = "1p776fzgan9y7g03g92gsvnassc3k28l6l3gr1vd9v3fcnckg2wj";
+  version = "0.16.5";
+  sha256 = "0gqhmyl62jkz156gypzxwj46xrh5as3wrvkwrg04wfmpqrac5n06";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/http-date/default.nix b/pkgs/development/libraries/haskell/http-date/default.nix
index e7dbaedb591d..1fbcc40a8147 100644
--- a/pkgs/development/libraries/haskell/http-date/default.nix
+++ b/pkgs/development/libraries/haskell/http-date/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-date";
-  version = "0.0.0";
-  sha256 = "0jia05636xk9k70hqjjiny5298pkb8g7mck7zybfwvigi1fppa46";
+  version = "0.0.1";
+  sha256 = "1dqnglz1l6h14339nd5q8sq90fak64ab8fs9fkhf8ipg5y0pzwbd";
   buildDepends = [ attoparsec ];
   meta = {
     description = "HTTP Date parser/formatter";
diff --git a/pkgs/development/libraries/haskell/http-enumerator/default.nix b/pkgs/development/libraries/haskell/http-enumerator/default.nix
index 8b868d15a824..55e5ff9dc41a 100644
--- a/pkgs/development/libraries/haskell/http-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/http-enumerator/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-enumerator";
-  version = "0.7.1.2";
-  sha256 = "1jxy017vhmzwq4480r6g45mg3x1d48zckbcyqhsk40bw5i32dfmv";
+  version = "0.7.1.4";
+  sha256 = "1dp3hw10wpf8izmp48jai90x7mxws05gbjqx9s24gl7y2m24q2xg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index 4966803af365..6e179063c8d5 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.6.5.1";
-  sha256 = "1gmf5ghfm8hzifinknyk10m7ayxkn48h1l0mchi2vl6h5rg0nnca";
+  version = "0.6.6";
+  sha256 = "1x1jgfh399a88dc3ms6va12lvq9iih1shxmqm08xzz4fly6v4k7r";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ blazeBuilder caseInsensitive text ];
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.5.nix b/pkgs/development/libraries/haskell/network/2.3.0.5.nix
deleted file mode 100644
index bf9330eb256a..000000000000
--- a/pkgs/development/libraries/haskell/network/2.3.0.5.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ cabal, parsec }:
-
-cabal.mkDerivation (self: {
-  pname = "network";
-  version = "2.3.0.5";
-  sha256 = "0y1sbgsffzr0skm6xl8907iclgw9vmf395zvpwgakp69i3snh1z0";
-  buildDepends = [ parsec ];
-  meta = {
-    homepage = "http://github.com/haskell/network";
-    description = "Low-level networking interface";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    maintainers = [
-      self.stdenv.lib.maintainers.andres
-      self.stdenv.lib.maintainers.simons
-    ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/network/2.3.0.6.nix b/pkgs/development/libraries/haskell/network/2.3.0.7.nix
index a62a0f597731..3c0e0065ed9d 100644
--- a/pkgs/development/libraries/haskell/network/2.3.0.6.nix
+++ b/pkgs/development/libraries/haskell/network/2.3.0.7.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network";
-  version = "2.3.0.6";
-  sha256 = "0xdqcf7zfxpa7qmvwzxf11y61b6xn4v2jjrqpibr2pfqqr0p3gkw";
+  version = "2.3.0.7";
+  sha256 = "1rlzdacgaq8nv0bwczsrkw47rw4aamf9y4ynm3xjw0r3w1xcg9yv";
   buildDepends = [ parsec ];
   meta = {
     homepage = "http://github.com/haskell/network";
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index 879edcbcb7b0..70677d0f336d 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "0.6.3";
-  sha256 = "0m50z9k941bhh05jjz1268sn1bi7w8i6jzccldgnbjjvsw2xaisx";
+  version = "0.6.4";
+  sha256 = "149dk6i6w36rq3z6zzrcmpr0kxpp6hk0qpc43vwj0dm68nrffaqk";
   buildDepends = [
     blazeHtml dataObject enumerator monadControl mtl pathPieces pool
     text time transformers
diff --git a/pkgs/development/libraries/haskell/shakespeare/default.nix b/pkgs/development/libraries/haskell/shakespeare/default.nix
index 1c57e45713ca..bc5f3097855e 100644
--- a/pkgs/development/libraries/haskell/shakespeare/default.nix
+++ b/pkgs/development/libraries/haskell/shakespeare/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "shakespeare";
-  version = "0.10.1.1";
-  sha256 = "1qd5wrcr4ss5zigbb7s6c7y7qbvrnbvgdpwq985yyy71i5hwxv0a";
+  version = "0.10.2";
+  sha256 = "173pcdm69w1xg3vm31xh6hs9w1552cmb1pz99ri09h1ajdhf2qwc";
   buildDepends = [ parsec text ];
   meta = {
     homepage = "http://www.yesodweb.com/book/templates";
diff --git a/pkgs/development/libraries/haskell/simple-sendfile/default.nix b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
index fd362b44b885..f66eb3bb5910 100644
--- a/pkgs/development/libraries/haskell/simple-sendfile/default.nix
+++ b/pkgs/development/libraries/haskell/simple-sendfile/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "simple-sendfile";
-  version = "0.1.2";
-  sha256 = "08w5ria2x41j85z1126kddi918zdqrwmr4vwqczgzh9kdi49wv8j";
+  version = "0.1.3";
+  sha256 = "0n78d6bn2hsm3p6r2kc2cr5nf9v1vqs6v5i9x71f910r3kk2grm8";
   buildDepends = [ network ];
   meta = {
     description = "Cross platform library for the sendfile system call";
diff --git a/pkgs/development/libraries/haskell/skein/default.nix b/pkgs/development/libraries/haskell/skein/default.nix
index e197ab349e35..cd7f21150744 100644
--- a/pkgs/development/libraries/haskell/skein/default.nix
+++ b/pkgs/development/libraries/haskell/skein/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "skein";
-  version = "0.1.0.2";
-  sha256 = "1ay7ri011vwvl74b9calbnav90d0r08gzqgdk8nvw1qx4slk1ibs";
+  version = "0.1.0.3";
+  sha256 = "1lag86db793l7n6zg97kn5wv31dal5sb8wig4sr7kqschxszq44d";
   buildDepends = [ cereal cryptoApi tagged ];
   meta = {
     description = "Skein, a family of cryptographic hash functions. Includes Skein-MAC as well.";
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index ceb18b666f9d..ffdc99d2edf5 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -1,19 +1,21 @@
-{ cabal, attoparsec, attoparsecEnumerator, blazeBuilder
-, blazeBuilderEnumerator, bytestringMmap, bytestringNums
-, caseInsensitive, deepseq, dlist, enumerator
-, MonadCatchIOTransformers, mtl, text, time, transformers
-, unixCompat, vector, zlibEnum
+{ cabal, attoparsec, attoparsecEnumerator, base16Bytestring
+, blazeBuilder, blazeBuilderEnumerator, bytestringMmap
+, bytestringNums, caseInsensitive, deepseq, dlist, enumerator
+, HUnit, MonadCatchIOTransformers, mtl, mwcRandom, regexPosix, text
+, time, transformers, unixCompat, unorderedContainers, vector
+, zlibEnum
 }:
 
 cabal.mkDerivation (self: {
   pname = "snap-core";
-  version = "0.5.5";
-  sha256 = "1md9n3f11ki87774fh3p7d6bykfdwcqz6b2yrjci4mwf1b1xppkj";
+  version = "0.6.0.1";
+  sha256 = "1vcpi56a5cia8z7n3zskhl2b7v9vkqkr87hy8n3hz5lz1lc82kkz";
   buildDepends = [
-    attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
-    bytestringMmap bytestringNums caseInsensitive deepseq dlist
-    enumerator MonadCatchIOTransformers mtl text time transformers
-    unixCompat vector zlibEnum
+    attoparsec attoparsecEnumerator base16Bytestring blazeBuilder
+    blazeBuilderEnumerator bytestringMmap bytestringNums
+    caseInsensitive deepseq dlist enumerator HUnit
+    MonadCatchIOTransformers mtl mwcRandom regexPosix text time
+    transformers unixCompat unorderedContainers vector zlibEnum
   ];
   meta = {
     homepage = "http://snapframework.com/";
diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix
index 838097064e79..bdfb541c3d3a 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-server";
-  version = "0.5.5";
-  sha256 = "10b4y5sfgr1bxs48b78nv6hs68v6qhg008rj9qnwwdp8lxgl4hi8";
+  version = "0.6.0.1";
+  sha256 = "0df6db841vwakdxmmy375g89pjsgiv0a6nas37b68gaanfcrkch3";
   buildDepends = [
     attoparsec attoparsecEnumerator binary blazeBuilder
     blazeBuilderEnumerator bytestringNums caseInsensitive directoryTree
diff --git a/pkgs/development/libraries/haskell/tagsoup/0.10.1nix b/pkgs/development/libraries/haskell/tagsoup/0.10.1nix
new file mode 100644
index 000000000000..462ee658fd25
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tagsoup/0.10.1nix
@@ -0,0 +1,16 @@
+{ cabal, mtl, network }:
+
+cabal.mkDerivation (self: {
+  pname = "tagsoup";
+  version = "0.10.1";
+  sha256 = "0bssfj5r790yj33q23i0lbj83xahzd9rf4jhqs21vgrpn9fqsynl";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ mtl network ];
+  meta = {
+    homepage = "http://community.haskell.org/~ndm/tagsoup/";
+    description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/texmath/0.5.0.1.nix b/pkgs/development/libraries/haskell/texmath/default.nix
index f82e98703c78..2bfc62b9bff7 100644
--- a/pkgs/development/libraries/haskell/texmath/0.5.0.1.nix
+++ b/pkgs/development/libraries/haskell/texmath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "texmath";
-  version = "0.5.0.1";
-  sha256 = "0kw23b1df7456d2h48g2p7k8nvfv80a8a70xgkq4pn7v50vqipdy";
+  version = "0.5.0.2";
+  sha256 = "1ysg28q1l33hi6ias5pw0qps46kbys5piczipacrp58b0cm6pvrg";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ parsec syb xml ];
diff --git a/pkgs/development/libraries/haskell/text/0.11.1.5.nix b/pkgs/development/libraries/haskell/text/0.11.1.7.nix
index db438a54bc24..426df6de602c 100644
--- a/pkgs/development/libraries/haskell/text/0.11.1.5.nix
+++ b/pkgs/development/libraries/haskell/text/0.11.1.7.nix
@@ -2,11 +2,11 @@
 
 cabal.mkDerivation (self: {
   pname = "text";
-  version = "0.11.1.5";
-  sha256 = "0fxxhw932gdvaqafsbw7dfzccc43hv92yhxppzp6jrg0npbyz04l";
+  version = "0.11.1.7";
+  sha256 = "1pjllmqnl4rwa6d2mjcj2kp0w7whwxlb04rsaml7yyyk4dw97a2p";
   buildDepends = [ deepseq ];
   meta = {
-    homepage = "https://bitbucket.org/bos/text";
+    homepage = "https://github.com/bos/text";
     description = "An efficient packed Unicode text type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/time/1.4.nix b/pkgs/development/libraries/haskell/time/1.4.0.1.nix
index 5ece2f13f0dd..8d9f810f7245 100644
--- a/pkgs/development/libraries/haskell/time/1.4.nix
+++ b/pkgs/development/libraries/haskell/time/1.4.0.1.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "time";
-  version = "1.4";
-  sha256 = "0y9g7kazch7747x2s4f6yp1b1ys4s0r1r1n7qsvb3dwfbfmv93pz";
+  version = "1.4.0.1";
+  sha256 = "046jyz2xnbg2s94d9xhpphgq93mqlky7bc50vss40wdk6l7w8aws";
   buildDepends = [ deepseq ];
   meta = {
     homepage = "http://semantic.org/TimeLib/";
diff --git a/pkgs/development/libraries/haskell/tls-extra/default.nix b/pkgs/development/libraries/haskell/tls-extra/default.nix
index 7409d9d1b94c..52cdfc5ffe41 100644
--- a/pkgs/development/libraries/haskell/tls-extra/default.nix
+++ b/pkgs/development/libraries/haskell/tls-extra/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tls-extra";
-  version = "0.4.0";
-  sha256 = "1incrrkvzhq7gdcrrqka0l50a7fj7nccdrin00wplm7ljl129d87";
+  version = "0.4.1";
+  sha256 = "0yimnq5p89jfbnk5cpa9w30zvfqs9dxxjxy2a86l8jvba5xb8068";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
index de1027dbef16..b4d6dc5e83b6 100644
--- a/pkgs/development/libraries/haskell/tls/default.nix
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tls";
-  version = "0.8.1";
-  sha256 = "1qgjzsp9f0mrkwrqzs69279q1dkz72hpazq6qp49p2xfsfzdp7dj";
+  version = "0.8.2";
+  sha256 = "0306f7im6dclr2h50wvb7rw9r1zc5492hgqm3m33y1nlci319qx8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
index de2d1e1f020a..e589c4b7d386 100644
--- a/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
+++ b/pkgs/development/libraries/haskell/uu-parsinglib/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "uu-parsinglib";
-  version = "2.7.1.1";
-  sha256 = "1qn3impl64cvbzyvhc73yxyibgak4dkgl1vkbrzxrxb770kb5r4p";
+  version = "2.7.2.2";
+  sha256 = "0na5c2l6q6mzscqha59ma8v5d0j2vh3y5vl51gb7rzwqz4a6hg95";
   buildDepends = [ ListLike time ];
   meta = {
     homepage = "http://www.cs.uu.nl/wiki/bin/view/HUT/ParserCombinators";
diff --git a/pkgs/development/libraries/haskell/vacuum/default.nix b/pkgs/development/libraries/haskell/vacuum/default.nix
index 1c3c1df5a006..1b5b5d540fd0 100644
--- a/pkgs/development/libraries/haskell/vacuum/default.nix
+++ b/pkgs/development/libraries/haskell/vacuum/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vacuum";
-  version = "1.0.0.1";
-  sha256 = "172py7nvyv66hvqmhigfm59rjb328bfzv0z11q8qdpf5w1fpvmc5";
+  version = "1.0.0.2";
+  sha256 = "1amlzd89952fvw1sbajf9kv3f2s2i6xbqs1zjxw442achg465y7i";
   extraLibraries = [ ghcPaths ];
   meta = {
     homepage = "http://web.archive.org/web/20100410115820/http://moonpatio.com/vacuum/";
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 7a06bfb1958d..120e1a96a26b 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,15 +1,16 @@
 { cabal, blazeBuilder, blazeBuilderEnumerator, caseInsensitive
-, enumerator, httpTypes, network, text, time, transformers, wai
-, zlibBindings
+, dataDefault, enumerator, httpTypes, network, text, time
+, transformers, wai, zlibBindings, zlibEnum
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "0.4.3";
-  sha256 = "07m86khgfyyadjgq8yp9kj3ljlpkvf209b1cfz2x7n5wdq8k2wm9";
+  version = "0.4.4";
+  sha256 = "04mzpqa6q3ggk5r0shzc11q5qmmri566nzbsafpv2sbmiwm5s7nd";
   buildDepends = [
-    blazeBuilder blazeBuilderEnumerator caseInsensitive enumerator
-    httpTypes network text time transformers wai zlibBindings
+    blazeBuilder blazeBuilderEnumerator caseInsensitive dataDefault
+    enumerator httpTypes network text time transformers wai
+    zlibBindings zlibEnum
   ];
   meta = {
     homepage = "http://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index fb74e1dfba24..c5bcd1888dd5 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "0.7.4";
-  sha256 = "088hhyy7fwga7hwqqwxxn12iqnz6jadq1bc9p8hdv1jy6ib769dl";
+  version = "0.7.5";
+  sha256 = "1njs3z01as6mamdflx2686s4qq4qwpkl0xnfdlrhswzgfpn8qqb6";
   buildDepends = [
     aesonNative authenticate blazeHtml controlMonadAttempt hamlet
     httpEnumerator mimeMail persistent persistentTemplate pureMD5
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 9319eb9a39cd..20b344eb2f01 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "0.9.3.2";
-  sha256 = "1h45vgxcn4sraax5rsccksx5yz57k32d7vzpp02prz2s2x5bv3xl";
+  version = "0.9.3.3";
+  sha256 = "0qy926x009mci17fhlrcn758vc9lxybzfg16pb69ydzbdr9lqa77";
   buildDepends = [
     aesonNative blazeBuilder blazeHtml caseInsensitive cereal
     clientsession cookie dataObject dataObjectYaml enumerator failure
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 84a5c25b91f4..8e924bc2e9f9 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "0.9.3";
-  sha256 = "1w5fml250i63qhlxkn1bidc3sminmxf98zsdzvdi42sfjx8fdkkx";
+  version = "0.9.3.1";
+  sha256 = "0af4nyfrpvkyr070fkg1qf4pn783n5443j8hi3wqn4i371vqsmp0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
new file mode 100644
index 000000000000..a357fccca16f
--- /dev/null
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl, openssl, perl}:
+
+stdenv.mkDerivation {
+  name = "ldns-1.6.11";
+  src = fetchurl {
+    url = "http://www.nlnetlabs.nl/downloads/ldns/ldns-1.6.11.tar.gz";
+    sha256 = "1248c9gkgfmjdmpp3lfd56vvln94ii54kbxa5iykxvcxivmbi4b8";
+  };
+
+  patchPhase = ''
+    sed -i 's,\$(srcdir)/doc/doxyparse.pl,perl $(srcdir)/doc/doxyparse.pl,' Makefile.in
+  '';
+
+  buildInputs = [ openssl perl ];
+
+  configureFlags = [ "--with-ssl=${openssl}" ];
+
+  meta = {
+    description = "Library with the aim of simplifying DNS programming in C";
+    license = "BSD";
+    homepage = "http://www.nlnetlabs.nl/projects/ldns/";
+  };
+}
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 90ee45865ed4..63bee27da78c 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -24,5 +24,6 @@ stdenv.mkDerivation rec {
 
     homepage = http://gnupg.org;
     license = "LGPLv2+";
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 038fbef69e58..d705bd80bdc2 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libgcrypt-1.4.6";
+  name = "libgcrypt-1.5.0";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "11bbpjlqwp0nh4q76wmsk6z1812anqrj28nh6d9mcyrmdgd30jry";
+    sha256 = "1ykkh7dm0gyndz7bbpvn3agijj8xb2h02m02f42hm504c18zqqjb";
   };
 
   propagatedBuildInputs = [ libgpgerror ];
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     license = "LGPLv2+";
 
     homepage = http://gnupg.org/;
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 7554ec0e2f9a..f167ecbc2ad9 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "libgpg-error-1.7";
+  name = "libgpg-error-1.8";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "14as9cpm4k9c6lxm517s9vzqrmjmdpf8i4s41k355xc27qdk6083";
+    sha256 = "1i88jl2jm8ckjzyzk7iw2dydk7sxcd27zqyl4qnrs8s7f5kz5yxx";
   };
 
   doCheck = true;
@@ -23,5 +23,6 @@ stdenv.mkDerivation rec {
     homepage = http://gnupg.org;
 
     license = "LGPLv2+";
-  };    
+    platforms = stdenv.lib.platforms.all;
+  };
 }
diff --git a/pkgs/development/libraries/libjson/default.nix b/pkgs/development/libraries/libjson/default.nix
new file mode 100644
index 000000000000..f49c885c066b
--- /dev/null
+++ b/pkgs/development/libraries/libjson/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "libjson-7.4.0";
+  src = fetchurl {
+    url = "mirror://sourceforge/libjson/libjson_7.4.0.zip";
+    sha256 = "0rd6m3r3acm7xq6f0mbyyhc3dnwmiga60cws29yjl6nx2f9h3r0x";
+  };
+  buildInputs = [ unzip ];
+  makeFlags = "prefix=$out";
+  meta = {
+    homepage = "http://libjson.sourceforge.net/";
+    description = "A JSON reader and writer";
+    longDescription = "A JSON reader and writer which is super-effiecient and usually runs circles around other JSON libraries. It's highly customizable to optimize for your particular project, and very lightweight. For Windows, OSX, or Linux. Works in any language.";
+  };
+}
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 0f33174bf9f3..660b02d0a930 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-2.9";
+  name = "libtasn1-2.10";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "1i0jnk810hg88jh3bhq63yn0n2cfmpmhrdm1ypv8rc68z9anii7s";
+    sha256 = "1l0622ysv68k1xazg3000m47h8dd7pbnxhik6v0kf17029ic1r0p";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix
index 9e270f9eec26..2c1b148251c6 100644
--- a/pkgs/development/libraries/osip/default.nix
+++ b/pkgs/development/libraries/osip/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation rec {
-  version = "3.5.0";
+  version = "3.6.0";
   src = fetchurl {
     url = "mirror://gnu/osip/libosip2-${version}.tar.gz";
-    sha256 = "14csf6z7b802bahxd560ibx3mg2fq3ki734vf3k2vknr4jm5v5fx";
+    sha256 = "1kcndqvsyxgbhkksgydvvjw15znfq6jiznvw058d21h5fq68p8f9";
   };
   name = "libosip2-${version}";
 
diff --git a/pkgs/development/libraries/pth/default.nix b/pkgs/development/libraries/pth/default.nix
index be219f1f2881..ffd81f84489d 100644
--- a/pkgs/development/libraries/pth/default.nix
+++ b/pkgs/development/libraries/pth/default.nix
@@ -11,5 +11,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The GNU Portable Threads library";
     homepage = http://www.gnu.org/software/pth;
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
index af481f2ffeda..4c91dee514ea 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, gnutls, pkgconfig, zlib, libgcrypt }:
 
 stdenv.mkDerivation rec {
-  name = "ucommon-5.0.5";
+  name = "ucommon-5.0.6";
 
   src = fetchurl {
-    url = mirror://gnu/commoncpp/ucommon-5.0.5.tar.gz;
-    sha256 = "0rpq6qkhzcsls2rmnf1p1dnf9vyzmgw0cips3hl82mh0w5d70253";
+    url = mirror://gnu/commoncpp/ucommon-5.0.6.tar.gz;
+    sha256 = "102djhfzs5jp10r3ajm25p1phs9cxn2dx8vycf0i8vjhmd20yp5c";
   };
 
   buildInputs = [ pkgconfig gnutls zlib ];
diff --git a/pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch b/pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch
index 453d8f7d29e9..0568aeb56bf7 100644
--- a/pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch
+++ b/pkgs/development/perl-modules/net-amazon-ec2-ipv6.patch
@@ -1,8 +1,6 @@
-Support OpenStack's DescribeInstancesV6 API call.
-
-diff -ru -x '*~' Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2/RunningInstances.pm Net-Amazon-EC2-0.14//lib/Net/Amazon/EC2/RunningInstances.pm
---- Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2/RunningInstances.pm	2010-01-24 02:12:50.000000000 +0100
-+++ Net-Amazon-EC2-0.14//lib/Net/Amazon/EC2/RunningInstances.pm	2011-06-21 17:19:36.000000000 +0200
+diff -ru stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2/RunningInstances.pm stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2/RunningInstances.pm
+--- stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2/RunningInstances.pm	2011-06-13 19:45:30.000000000 -0400
++++ stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2/RunningInstances.pm	2011-10-27 17:25:29.000000000 -0400
 @@ -25,6 +25,10 @@
  This element remains empty until the instance enters a 
  running state.
@@ -14,7 +12,7 @@ diff -ru -x '*~' Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2/RunningInstances.
  =item image_id (required)
  
  The image id of the AMI currently running in this instance.
-@@ -126,6 +130,7 @@
+@@ -134,6 +138,7 @@
  
  has 'ami_launch_index'  	=> ( is => 'ro', isa => 'Str', required => 0 );
  has 'dns_name'          	=> ( is => 'ro', isa => 'Maybe[Str]', required => 0 );
@@ -22,10 +20,10 @@ diff -ru -x '*~' Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2/RunningInstances.
  has 'image_id'          	=> ( is => 'ro', isa => 'Str', required => 1 );
  has 'kernel_id'         	=> ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
  has 'ramdisk_id'        	=> ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
-diff -ru -x '*~' Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2.pm Net-Amazon-EC2-0.14//lib/Net/Amazon/EC2.pm
---- Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2.pm	2011-06-16 16:11:53.000000000 +0200
-+++ Net-Amazon-EC2-0.14//lib/Net/Amazon/EC2.pm	2011-10-20 20:13:12.585277245 +0200
-@@ -1542,6 +1542,7 @@
+diff -ru stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2.pm stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2.pm
+--- stanaka-net-amazon-ec2-bc66577-orig/lib/Net/Amazon/EC2.pm	2011-06-13 19:45:30.000000000 -0400
++++ stanaka-net-amazon-ec2-bc66577/lib/Net/Amazon/EC2.pm	2011-10-27 17:25:29.000000000 -0400
+@@ -1691,6 +1691,7 @@
  	my $self = shift;
  	my %args = validate( @_, {
  		InstanceId => { type => SCALAR | ARRAYREF, optional => 1 },
@@ -33,8 +31,8 @@ diff -ru -x '*~' Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2.pm Net-Amazon-EC2
  	});
  	
  	# If we have a array ref of instances lets split them out into their InstanceId.n format
-@@ -1556,7 +1557,8 @@
- 		$args{"InstanceId.1"} = delete $args{InstanceId};
+@@ -1703,7 +1704,8 @@
+ 		}
  	}
  	
 -	my $xml = $self->_sign(Action  => 'DescribeInstances', %args);
@@ -43,7 +41,7 @@ diff -ru -x '*~' Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2.pm Net-Amazon-EC2
  	my $reservations;
  	
  	if ( grep { defined && length } $xml->{Errors} ) {
-@@ -1635,6 +1637,7 @@
+@@ -1791,6 +1793,7 @@
  				my $running_instance = Net::Amazon::EC2::RunningInstances->new(
  					ami_launch_index		=> $instance_elem->{amiLaunchIndex},
  					dns_name				=> $instance_elem->{dnsName},
@@ -51,10 +49,3 @@ diff -ru -x '*~' Net-Amazon-EC2-0.14-orig2//lib/Net/Amazon/EC2.pm Net-Amazon-EC2
  					image_id				=> $instance_elem->{imageId},
  					kernel_id				=> $instance_elem->{kernelId},
  					ramdisk_id				=> $instance_elem->{ramdiskId},
-@@ -3866,4 +3869,4 @@
- 
- =head1 SEE ALSO
- 
--Amazon EC2 API: L<http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/>
-\ No newline at end of file
-+Amazon EC2 API: L<http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/>
diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix
index c8cfb77d71ac..041191640bd4 100644
--- a/pkgs/development/tools/misc/cflow/default.nix
+++ b/pkgs/development/tools/misc/cflow/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, emacs }:
 
 stdenv.mkDerivation rec {
-  name = "cflow-1.3";
+  name = "cflow-1.4";
 
   src = fetchurl {
     url = "mirror://gnu/cflow/${name}.tar.bz2";
-    sha256 = "1nlmgcjsy1rl5zpqz9f8mf74faq3rm725hhpf11b8w80sniqgnnk";
+    sha256 = "1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/misc/gengetopt/default.nix b/pkgs/development/tools/misc/gengetopt/default.nix
index 7d5f47dba397..ff4eec81d96b 100644
--- a/pkgs/development/tools/misc/gengetopt/default.nix
+++ b/pkgs/development/tools/misc/gengetopt/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "gengetopt-2.22.4";
+  name = "gengetopt-2.22.5";
 
   src = fetchurl {
     url = "mirror://gnu/gengetopt/${name}.tar.gz";
-    sha256 = "08a4wmzvin8ljdgw2c0mcz654h4hpzam2p43hsf951c0xhj6ppsf";
+    sha256 = "0dr1xmlgk9q8za17wnpgghb5ifnbca5vb0w5bc6fpc2j0cjb6vrv";
   };
 
   doCheck = true;
diff --git a/pkgs/development/tools/misc/global/default.nix b/pkgs/development/tools/misc/global/default.nix
index 93d3641de721..fef5a71201ab 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.0";
+  name = "global-6.1";
 
   src = fetchurl {
     url = "mirror://gnu/global/${name}.tar.gz";
-    sha256 = "1nwhlxd97grq8ynw7szv5lcxiqgqifiy1jqaa45664hd6bv1i5xx";
+    sha256 = "1q305isw1hy2zxcg10jk1g9rmpl8x2r3nkla52jdl4dbydsg6z39";
   };
 
   buildInputs = [ libtool ncurses ];
diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix
index 14848dc23528..403381af4851 100644
--- a/pkgs/development/tools/misc/libtool/libtool2.nix
+++ b/pkgs/development/tools/misc/libtool/libtool2.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, m4, perl, lzma }:
 
 stdenv.mkDerivation (rec {
-  name = "libtool-2.4";
+  name = "libtool-2.4.2";
 
   src = fetchurl {
     url = "mirror://gnu/libtool/${name}.tar.gz";
-    sha256 = "0bpnvmqryzqpiz184phdg3z38a16ad7dd5bfbmn1jkm9cfmmgpqk";
+    sha256 = "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk";
   };
 
   buildNativeInputs = [ lzma m4 perl ];
diff --git a/pkgs/development/tools/misc/lsof/default.nix b/pkgs/development/tools/misc/lsof/default.nix
index 628546e47a7e..f679577a3f1a 100644
--- a/pkgs/development/tools/misc/lsof/default.nix
+++ b/pkgs/development/tools/misc/lsof/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "lsof-4.84";
+  name = "lsof-4.85";
 
   src = fetchurl {
-    url = ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_4.84.tar.bz2;
-    sha256 = "09f71lrwav31nay3c4nwyslm887psn95dw02jr8vlgs4kcnkm290";
+    url = ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_4.85.tar.bz2;
+    sha256 = "1hd1aihbzx2c2p4ps4zll6nldyf9l7js59hllnnmpi1r6pk5iaj9";
   };
 
   unpackPhase = "tar xvjf $src; cd lsof_*; tar xvf lsof_*.tar; sourceRoot=$( echo lsof_*/); ";
diff --git a/pkgs/lib/types.nix b/pkgs/lib/types.nix
index 9a6bb4b24dd3..c1d7240f6931 100644
--- a/pkgs/lib/types.nix
+++ b/pkgs/lib/types.nix
@@ -148,7 +148,6 @@ rec {
       }
     ;
 
-
     uniq = elemType: mkOptionType {
       inherit (elemType) name check iter fold docPath hasOptions;
       merge = list:
diff --git a/pkgs/os-specific/gnu/default.nix b/pkgs/os-specific/gnu/default.nix
new file mode 100644
index 000000000000..3978979d7020
--- /dev/null
+++ b/pkgs/os-specific/gnu/default.nix
@@ -0,0 +1,89 @@
+# Packages that make up the GNU/Hurd operating system (aka. GNU).
+
+args@{ fetchgit, stdenv, autoconf, automake, automake111x, libtool
+, texinfo, glibcCross, hurdPartedCross, libuuid
+, gccCrossStageStatic, gccCrossStageFinal
+, forceBuildDrv, callPackage, platform, config, crossSystem }:
+
+with args;
+
+rec {
+  hurdCross = forceBuildDrv(import ./hurd {
+    inherit fetchgit stdenv autoconf libtool texinfo machHeaders
+      mig glibcCross hurdPartedCross;
+    libuuid = libuuid.hostDrv;
+    automake = automake111x;
+    headersOnly = false;
+    cross = assert crossSystem != null; crossSystem;
+    gccCross = gccCrossStageFinal;
+  });
+
+  hurdCrossIntermediate = forceBuildDrv(import ./hurd {
+    inherit fetchgit stdenv autoconf libtool texinfo machHeaders
+      mig glibcCross;
+    automake = automake111x;
+    headersOnly = false;
+    cross = assert crossSystem != null; crossSystem;
+
+    # The "final" GCC needs glibc and the Hurd libraries (libpthread in
+    # particular) so we first need an intermediate Hurd built with the
+    # intermediate GCC.
+    gccCross = gccCrossStageStatic;
+
+    # This intermediate Hurd is only needed to build libpthread, which needs
+    # libihash, and to build Parted, which needs libstore and
+    # libshouldbeinlibc.
+    buildTarget = "libihash libstore libshouldbeinlibc";
+    installTarget = "libihash-install libstore-install libshouldbeinlibc-install";
+  });
+
+  hurdHeaders = callPackage ./hurd {
+    automake = automake111x;
+    headersOnly = true;
+    gccCross = null;
+    glibcCross = null;
+    libuuid = null;
+    hurdPartedCross = null;
+  };
+
+  libpthreadHeaders = callPackage ./libpthread {
+    headersOnly = true;
+    hurd = null;
+  };
+
+  libpthreadCross = forceBuildDrv(import ./libpthread {
+    inherit fetchgit stdenv autoconf automake libtool
+      machHeaders hurdHeaders glibcCross;
+    hurd = hurdCrossIntermediate;
+    gccCross = gccCrossStageStatic;
+    cross = assert crossSystem != null; crossSystem;
+  });
+
+  # In theory GNU Mach doesn't have to be cross-compiled.  However, since it
+  # has to be built for i586 (it doesn't work on x86_64), one needs a cross
+  # compiler for that host.
+  mach = callPackage ./mach {
+    automake = automake111x;
+  };
+
+  machHeaders = callPackage ./mach {
+    automake = automake111x;
+    headersOnly = true;
+    mig = null;
+  };
+
+  mig = callPackage ./mig
+    (if stdenv.isLinux
+     then {
+       # Build natively, but force use of a 32-bit environment because we're
+       # targeting `i586-pc-gnu'.
+       stdenv = (import ../../stdenv {
+         system = "i686-linux";
+         stdenvType = "i686-linux";
+         allPackages = args:
+           import ../../top-level/all-packages.nix ({ inherit config; } // args);
+         inherit platform;
+       }).stdenv;
+     }
+     else { });
+}
diff --git a/pkgs/os-specific/gnu/libpthread/default.nix b/pkgs/os-specific/gnu/libpthread/default.nix
index 6f978b0c76de..08838f17affc 100644
--- a/pkgs/os-specific/gnu/libpthread/default.nix
+++ b/pkgs/os-specific/gnu/libpthread/default.nix
@@ -1,27 +1,29 @@
 { fetchgit, stdenv, autoconf, automake, libtool
-, machHeaders, hurdHeaders, hurd
+, machHeaders, hurdHeaders, hurd, headersOnly ? false
 , cross ? null, gccCross ? null, glibcCross ? null }:
 
 assert (cross != null) -> (gccCross != null) && (glibcCross != null);
+assert (!headersOnly) -> (hurd != null);
 
 let
-  date = "20100512";
+  date = "20111020";
 
   # Use the `tschwinge/Peter_Herbolzheimer' branch as prescribed in
   # <http://www.gnu.org/software/hurd/hurd/building/cross-compiling.html>.
-  rev = "c4bb52770f0b6703bef76c5abdd08663b46b4dc9";
+  rev = "a7b82c3302bf9c47176648eb802a61ae2d9a16f5";
 in
 stdenv.mkDerivation ({
-  name = "libpthread-hurd-${date}";
+  name = "libpthread-hurd-${if headersOnly then "headers-" else ""}${date}";
 
   src = fetchgit {
     url = "git://git.sv.gnu.org/hurd/libpthread.git";
-    sha256 = "1wya9kfmqgn04l995a25p4hxfwddjahfmhdzljb4cribw0bqdizg";
+    sha256 = "e8300762914d927c0da4168341a5982a1057613e1af363ee68942087b2570b3d";
     inherit rev;
   };
 
   buildNativeInputs = [ autoconf automake libtool ];
-  buildInputs = [ machHeaders hurdHeaders hurd ]
+  buildInputs = [ machHeaders hurdHeaders ]
+   ++ stdenv.lib.optional (!headersOnly) hurd
    ++ stdenv.lib.optional (gccCross != null) gccCross;
 
   preConfigure = "autoreconf -vfi";
@@ -37,6 +39,20 @@ stdenv.mkDerivation ({
 
 //
 
+(if headersOnly
+ then {
+   configureFlags =
+     [ "--build=i586-pc-gnu"
+       "ac_cv_lib_ihash_hurd_ihash_create=yes"
+     ];
+
+   buildPhase = ":";
+   installPhase = "make install-data-local-headers";
+ }
+ else { })
+
+//
+
 (if cross != null
  then {
    crossConfig = cross.config;
diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix
new file mode 100644
index 000000000000..a3c8c5606d66
--- /dev/null
+++ b/pkgs/os-specific/linux/drbd/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, flex, udev }:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation rec {
+  name = "drbd-8.4.0";
+
+  src = fetchurl {
+    url = "http://oss.linbit.com/drbd/8.4/${name}.tar.gz";
+    sha256 = "096njwxjpwvnl259gxq6cr6n0r6ba0h5aryvgk05hqi95jx927vg";
+  };
+
+  buildInputs = [ flex ];
+
+  configureFlags = "--without-distro --without-legacy_utils --without-pacemaker --localstatedir=/var --sysconfdir=/etc";
+
+  preConfigure =
+    ''
+      export PATH=${udev}/sbin:$PATH
+      substituteInPlace user/Makefile.in --replace /sbin/ $out/sbin/
+      substituteInPlace scripts/drbd.rules --replace /sbin/drbdadm $out/sbin/drbdadm
+    '';
+
+  makeFlags = "SHELL=${stdenv.shell}";
+
+  installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc INITDIR=$(out)/etc/init.d";
+
+  meta = {
+    homepage = http://www.drbd.org/;
+    description = "Distributed Replicated Block Device, a distributed storage system for Linux";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/firmware/bcm43xx/default.nix b/pkgs/os-specific/linux/firmware/bcm43xx/default.nix
index 9dc67b32c537..edc15a360ff0 100644
--- a/pkgs/os-specific/linux/firmware/bcm43xx/default.nix
+++ b/pkgs/os-specific/linux/firmware/bcm43xx/default.nix
@@ -22,9 +22,8 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/brcm
-    for i in ${src1} ${src2}; do
-      cp -v $i $out/brcm/$(echo $i | sed -r -e 's|.*/[a-z0-9]+-||')
-    done
+    cp ${src1} $out/brcm/${src1.name}
+    cp ${src2} $out/brcm/${src2.name}
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 806efdcba6d0..6fe5a0aadf23 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "iproute2-2.6.35";
 
   src = fetchurl {
-    url = "http://devresources.linux-foundation.org/dev/iproute2/download/${name}.tar.bz2";
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/iproute/iproute2-2.6.35.tar.bz2/b0f281b3124bf04669e18f5fe16d4934/iproute2-2.6.35.tar.bz2";
     sha256 = "18why1wy0v859axgrlfxn80zmskss0410hh9rf5gn9cr29zg9cla";
   };
 
diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.35.nix b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
index b08c4b9bb235..7234c61e59b3 100644
--- a/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
+++ b/pkgs/os-specific/linux/kernel/linux-2.6.35.nix
@@ -181,6 +181,9 @@ let
       X86_CHECK_BIOS_CORRUPTION y
       X86_MCE y
 
+      # Allow up to 128 GiB of RAM in Xen domains.
+      XEN_MAX_DOMAIN_MEMORY 128
+
       ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""}
       ${extraConfig}
     '';
diff --git a/pkgs/os-specific/linux/module-init-tools/default.nix b/pkgs/os-specific/linux/module-init-tools/default.nix
index fc716469a49c..077d08f899da 100644
--- a/pkgs/os-specific/linux/module-init-tools/default.nix
+++ b/pkgs/os-specific/linux/module-init-tools/default.nix
@@ -1,8 +1,8 @@
-{stdenv, fetchurl, docbook2x}:
+{ stdenv, fetchurl, docbook2x, docbook_sgml_dtd_41 }:
 
 stdenv.mkDerivation {
   name = "module-init-tools-3.16";
-  
+
   src = [
     (fetchurl {
       url = mirror://kernel/linux/utils/kernel/module-init-tools/module-init-tools-3.16.tar.bz2;
@@ -17,6 +17,8 @@ stdenv.mkDerivation {
     })
   ];
 
+  SGML_CATALOG_FILES = "${docbook_sgml_dtd_41}/sgml/dtd/docbook-4.1/docbook.cat";
+
   patches = [ ./module-dir.patch ./docbook2man.patch ];
 
   postInstall = "rm $out/sbin/insmod.static"; # don't need it
diff --git a/pkgs/os-specific/linux/udev/173.nix b/pkgs/os-specific/linux/udev/173.nix
index ba96717e494a..f5076a9ed15f 100644
--- a/pkgs/os-specific/linux/udev/173.nix
+++ b/pkgs/os-specific/linux/udev/173.nix
@@ -44,7 +44,8 @@ stdenv.mkDerivation rec {
       rm -frv $out/share/gtk-doc
     '';
 
-  patches = [ ./custom-rules.patch ];
+  patches = [ ./custom-rules.patch ] ++
+    stdenv.lib.optional (stdenv.system == "armv5tel-linux") ./pre-accept4-kernel.patch;
 
   meta = {
     homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html;
diff --git a/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch b/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch
new file mode 100644
index 000000000000..2cf549d99a76
--- /dev/null
+++ b/pkgs/os-specific/linux/udev/pre-accept4-kernel.patch
@@ -0,0 +1,43 @@
+From:
+https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/udev-oxnas/pre-accept4-kernel.patch
+
+diff -urN a/udev/udev-ctrl.c b/udev/udev-ctrl.c
+--- a/udev/udev-ctrl.c	2011-10-09 17:10:32.000000000 -0600
++++ b/udev/udev-ctrl.c	2011-10-25 15:11:09.000000000 -0600
+@@ -15,6 +15,7 @@
+ #include <stddef.h>
+ #include <string.h>
+ #include <unistd.h>
++#include <fcntl.h>
+ #include <sys/types.h>
+ #include <sys/poll.h>
+ #include <sys/socket.h>
+@@ -182,6 +183,7 @@
+ 	struct ucred ucred;
+ 	socklen_t slen;
+ 	const int on = 1;
++	int flgs;
+ 
+ 	conn = calloc(1, sizeof(struct udev_ctrl_connection));
+ 	if (conn == NULL)
+@@ -189,13 +191,19 @@
+ 	conn->refcount = 1;
+ 	conn->uctrl = uctrl;
+ 
+-	conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
++//	conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
++	conn->sock = accept(uctrl->sock, NULL, NULL);
+ 	if (conn->sock < 0) {
+ 		if (errno != EINTR)
+ 			err(uctrl->udev, "unable to receive ctrl connection: %m\n");
+ 		goto err;
+ 	}
+ 
++// Since we don't have accept4
++	flgs = fcntl(conn->sock, F_GETFL, NULL);
++	if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK);
++	fcntl(conn->sock, F_SETFD, FD_CLOEXEC);
++
+ 	/* check peer credential of connection */
+ 	slen = sizeof(ucred);
+ 	if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) {
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index b3093b22a25d..96ae5b93aa8d 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   name = "usbutils-0.86";
   
   src = fetchurl {
-    url = "mirror://sourceforge/linux-usb/${name}.tar.gz";
+    url = "mirror://kernel/linux/utils/usb/usbutils/${name}.tar.gz";
     sha256 = "1x0jkiwrgdb8qwy21iwhxpc8k61apxqp1901h866d1ydsakbxcmk";
   };
   
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 4d1d39ba417a..6cdc57d11b5d 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -1,15 +1,12 @@
-a :  
-let 
-  s = import ./src-for-default.nix;
-  buildInputs = with a; [
-    openssl zlib pcre libxml2 libxslt
-  ];
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
+{ stdenv, fetchurl, openssl, zlib, pcre, libxml2, libxslt }:
+stdenv.mkDerivation rec {
+  name = "nginx-1.1.7";
+  src = fetchurl {
+    url = "http://nginx.org/download/${name}.tar.gz";
+    sha256 = "1y0bzmrgnyqw8ghc508nipy5k46byrxc2sycqp35fdx0jmjz3h51";
+  };
+  buildInputs = [ openssl zlib pcre libxml2 libxslt ];
 
-  inherit (s) name;
-  inherit buildInputs;
   configureFlags = [
     "--with-http_ssl_module"
     "--with-http_xslt_module"
@@ -21,18 +18,16 @@ rec {
     # "--with-http_perl_module" 
   ];
 
-  preConfigure = a.fullDepEntry ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${a.libxml2}/include/libxml2"
-  '' [];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2"
+  '';
 
-  phaseNames = ["preConfigure" "doConfigure" "doMakeInstall"];
-      
   meta = {
     description = "nginx - 'engine x' - reverse proxy and lightweight webserver";
     maintainers = [
-      a.lib.maintainers.raskin
+      stdenv.lib.maintainers.raskin
     ];
-    platforms = with a.lib.platforms; 
+    platforms = with stdenv.lib.platforms; 
       all;
   };
 }
diff --git a/pkgs/servers/http/nginx/src-for-default.nix b/pkgs/servers/http/nginx/src-for-default.nix
deleted file mode 100644
index 319427c0e02e..000000000000
--- a/pkgs/servers/http/nginx/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="1.0.0";
-   name="nginx-1.0.0";
-   hash="00f0fjkdqi0xl1kcg6d91zmvj82n8w1znp5w9v152rymxv5ddqrx";
-   url="http://sysoev.ru/nginx/nginx-${version}.tar.gz";
-   advertisedUrl="http://sysoev.ru/nginx/nginx-1.0.0.tar.gz";
-  
-  
-}
diff --git a/pkgs/servers/http/nginx/src-info-for-default.nix b/pkgs/servers/http/nginx/src-info-for-default.nix
deleted file mode 100644
index 10ba1c8cd4bb..000000000000
--- a/pkgs/servers/http/nginx/src-info-for-default.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  downloadPage = "http://sysoev.ru/nginx/download.html";
-  baseName = "nginx";
-}
diff --git a/pkgs/servers/mail/dovecot/2.0.nix b/pkgs/servers/mail/dovecot/2.0.nix
index a2278533dad8..80cb237f6df9 100644
--- a/pkgs/servers/mail/dovecot/2.0.nix
+++ b/pkgs/servers/mail/dovecot/2.0.nix
@@ -1,15 +1,19 @@
-{stdenv, fetchurl, openssl, pam}:
+{stdenv, fetchurl, openssl, pam, bzip2, zlib}:
 
 stdenv.mkDerivation {
   name = "dovecot-2.0.15";
 
-  buildInputs = [openssl pam];
+  buildInputs = [openssl pam bzip2 zlib];
 
   src = fetchurl {
     url = http://dovecot.org/releases/2.0/dovecot-2.0.15.tar.gz;
     sha256 = "03byp6alxxk65qfjjnqp6kcncs5cdiqgskx90nk9kcnynl1h6r33";
   };
 
+  # It will hardcode this for /var/lib/dovecot.
+  # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211
+  configureFlags = [ "--localstatedir=/var" ];
+
   meta = {
     homepage = http://dovecot.org/;
     description = "Open source IMAP and POP3 email server written with security primarily in mind";
diff --git a/pkgs/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix
index 2e2e24938a3f..cb8c9aec3fc4 100644
--- a/pkgs/servers/sip/sipwitch/default.nix
+++ b/pkgs/servers/sip/sipwitch/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, ucommon, libosip, libexosip, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sipwitch-1.1.1";
+  name = "sipwitch-1.1.2";
 
   src = fetchurl {
     url = "mirror://gnu/sipwitch/${name}.tar.gz";
-    sha256 = "14irv1zda6xjsrizc0dvy85fcjx3szbb94jkh3q4s20ywc4s41kx";
+    sha256 = "1ixbzrpndhx7i0cxx02rlnhv9948pbsbbs5gdsgp6asq42vfz3f2";
   };
 
   buildInputs = [ pkgconfig ucommon libosip libexosip gnutls zlib ];
diff --git a/pkgs/servers/sql/postgresql/8.3.x.nix b/pkgs/servers/sql/postgresql/8.3.x.nix
index 2c7b1808d455..b308e4e0d1e0 100644
--- a/pkgs/servers/sql/postgresql/8.3.x.nix
+++ b/pkgs/servers/sql/postgresql/8.3.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.3.12"; in
+let version = "8.3.16"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "0w7h09nx8pkpzznmz4wd1zv8dg3f6jv366rr8bf3s5g6vrvxcssr";
+    sha256 = "0i17da3jz44y2xikp99qs0dac9j84hghr8rg5n7hr86ippi90180";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/8.4.x.nix b/pkgs/servers/sql/postgresql/8.4.x.nix
index 416f4846fd52..c3a34b3d43bd 100644
--- a/pkgs/servers/sql/postgresql/8.4.x.nix
+++ b/pkgs/servers/sql/postgresql/8.4.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, ncurses, readline }:
 
-let version = "8.4.5"; in
+let version = "8.4.9"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "1grjazzhk0piwpb0bjmgi71wkzb8hk27h6g9l68h52lr5np2401h";
+    sha256 = "12n3x2q444hfhy9nbl14yfhd58im86jmlb9b0ihqzbmq1j6wnn0x";
   };
 
   buildInputs = [ zlib ncurses readline ];
diff --git a/pkgs/servers/sql/postgresql/9.0.x.nix b/pkgs/servers/sql/postgresql/9.0.x.nix
index 53d2f572e314..d49555e8ba86 100644
--- a/pkgs/servers/sql/postgresql/9.0.x.nix
+++ b/pkgs/servers/sql/postgresql/9.0.x.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, zlib, readline }:
 
-let version = "9.0.1"; in
+let version = "9.0.5"; in
 
 stdenv.mkDerivation rec {
   name = "postgresql-${version}";
   
   src = fetchurl {
     url = "mirror://postgresql/source/v${version}/${name}.tar.bz2";
-    sha256 = "15iid8l7hgpa2zzdsd0msn0ps9qq1mxkzxx0fca5z117054ws42k";
+    sha256 = "016mnwpcyla49qr3gglgpyjwnq1ljjbs3q0s8vlfmazfkj0fxn2n";
   };
 
   buildInputs = [ zlib readline ];
diff --git a/pkgs/tools/cd-dvd/unetbootin/default.nix b/pkgs/tools/cd-dvd/unetbootin/default.nix
index ff5b260c9f35..20d5ae7715e5 100644
--- a/pkgs/tools/cd-dvd/unetbootin/default.nix
+++ b/pkgs/tools/cd-dvd/unetbootin/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, makeWrapper, qt4, utillinux, coreutils, which, p7zip, mtools, syslinux }:
 
-let version = "485"; in
+let version = "563"; in
 
 stdenv.mkDerivation rec {
   name = "unetbootin-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/unetbootin/UNetbootin/${version}/unetbootin-source-${version}.tar.gz";
-    sha256 = "1nyzy1wrql0l6zkmrd1l3qqvbdkv0534axdz6vy3cyksp157jxc8";
+    sha256 = "1j4ka6rjf5akhcdb4pbfdrka9zflhch97b5i42zk1cf8hd6wx939";
   };
 
   sourceRoot = ".";
@@ -43,13 +43,13 @@ stdenv.mkDerivation rec {
     ''
       ensureDir $out/bin
       cp unetbootin $out/bin
-      
+
       ensureDir $out/share/unetbootin
       cp unetbootin_*.qm  $out/share/unetbootin
 
       ensureDir $out/share/applications
       cp unetbootin.desktop $out/share/applications
-      
+
       wrapProgram $out/bin/unetbootin \
           --prefix PATH : ${which}/bin:${p7zip}/bin:${mtools}/bin
     '';
diff --git a/pkgs/tools/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix
index 1b489f9a5caf..e8a58a1fa96d 100644
--- a/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl }:
 
 stdenv.mkDerivation rec {
-  name = "xorriso-1.1.4";
+  name = "xorriso-1.1.6";
 
   src = fetchurl {
     url = "mirror://gnu/xorriso/${name}.tar.gz";
-    sha256 = "0zxmln5kw5prqrs8bahwz4lhvl914xphsjizlz3nr9y2l39350j8";
+    sha256 = "0dlavcdx1lblqy9pjlxv4krczvb23650f2zd1phy2hdxhiq6c966";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix
index c41121911e5d..a39ba002d235 100644
--- a/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "http://tuxera.com/opensource/${name}.tgz";
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/ntfs-3g/ntfs-3g-2010.10.2.tgz/91405690f25822142cdcb43d03e62d3f/ntfs-3g-2010.10.2.tgz";
     sha256 = "0wcyks4nvi1kck8i2dgwfsy5zxhil0v0xam8zbg1p592xbqygiqp";
   };
 
diff --git a/pkgs/tools/filesystems/reiserfsprogs/default.nix b/pkgs/tools/filesystems/reiserfsprogs/default.nix
index 7cadc0dd6496..2283a0c17460 100644
--- a/pkgs/tools/filesystems/reiserfsprogs/default.nix
+++ b/pkgs/tools/filesystems/reiserfsprogs/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "reiserfsprogs-3.6.21";
 
   src = fetchurl {
-    url = "http://www.kernel.org/pub/linux/utils/fs/reiserfs/${name}.tar.bz2";
+    url = "mirror://kernel/linux/utils/fs/reiserfs/${name}.tar.bz2";
     sha256 = "19mqzhh6jsf2gh8zr5scqi9pyk1fwivrxncd11rqnp2148c58jam";
   };
 
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index f9a35b235fc9..c104bf752fe1 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20110822";
+  name = "parallel-20111022";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0ryj97b9w2mzvmnqhkh384s59v62gf0vlyj8qphiy34505x5pznb";
+    sha256 = "0l9g7lg7avshjm0783abcrcmlmrqkwhzic23lk0jna0nckkd9jhk";
   };
 
   patchPhase =
diff --git a/pkgs/tools/misc/time/default.nix b/pkgs/tools/misc/time/default.nix
index 658afb37c035..05ab7cc7ae70 100644
--- a/pkgs/tools/misc/time/default.nix
+++ b/pkgs/tools/misc/time/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
     sha256 = "0va9063fcn7xykv658v2s9gilj2fq4rcdxx2mn2mmy1v4ndafzp3";
   };
 
+  patches = [ ./max-resident.patch ];
+
   meta = {
     description = "GNU Time, a tool that runs programs and summarizes the system resources they use";
 
diff --git a/pkgs/tools/misc/time/max-resident.patch b/pkgs/tools/misc/time/max-resident.patch
new file mode 100644
index 000000000000..e593d833d5e4
--- /dev/null
+++ b/pkgs/tools/misc/time/max-resident.patch
@@ -0,0 +1,16 @@
+Fix the "max resident" size reported by ‘time’ being off by a factor of 4. 
+
+From http://lists.gnu.org/archive/html/help-gnu-utils/2010-10/msg00002.html
+
+diff -ru -x '*~' time-1.7-orig/time.c time-1.7/time.c
+--- time-1.7-orig/time.c	1996-06-13 15:38:21.000000000 -0400
++++ time-1.7/time.c	2011-10-31 10:40:27.000000000 -0400
+@@ -392,7 +392,7 @@
+ 		       ptok ((UL) resp->ru.ru_ixrss) / MSEC_TO_TICKS (v));
+ 	      break;
+ 	    case 'M':		/* Maximum resident set size.  */
+-	      fprintf (fp, "%lu", ptok ((UL) resp->ru.ru_maxrss));
++              fprintf (fp, "%lu", (UL) resp->ru.ru_maxrss);
+ 	      break;
+ 	    case 'O':		/* Outputs.  */
+ 	      fprintf (fp, "%ld", resp->ru.ru_oublock);
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 5d2e61df36b5..98fc8e4d1451 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchurl, openssl }:
+{ stdenv, fetchurl, openssl, expat, libevent, ldns }:
 
 stdenv.mkDerivation rec {
-  name = "unbound-1.4.1";
+  name = "unbound-1.4.13";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "2573db422d7a856a3783b96698f2d5ca18a849d0bd6f0e36eb37a4f0a65b60e2";
+    sha256 = "04r379gma1ghr9zjc1fmncpw8kka4f0mpcmrzidsp264aqkxriw3";
   };
  
-  buildInputs = [openssl];
+  buildInputs = [openssl expat libevent ldns];
 
-  configureFlags = "--with-ssl=${openssl}";
+  configureFlags = [ "--with-ssl=${openssl}" "--with-libexpat=${expat}"
+    "--localstatedir=/var" ];
 
   meta = {
     description = "Unbound, a validating, recursive, and caching DNS resolver.";
     license = "BSD";
     homepage = http://www.unbound.net;
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index b10d25ffc943..afd741f27354 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, perl, LWP, gnutls ? null }:
 
 stdenv.mkDerivation rec {
-  name = "wget-1.13.3";
+  name = "wget-1.13.4";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${name}.tar.gz";
-    sha256 = "07wxl38qiy95k3hv2fd1sglgrlp6z920pr9mcfsj8dg7iaxbhppi";
+    sha256 = "1kadjg63x1mm741dxdidwsn1rz0f7dkzbq59v0iww87jr45p3ir4";
   };
 
   preConfigure =
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 6bc3f33750b2..1483120e4096 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.0pre29200";
+  name = "nix-1.0pre30070";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/1320284/download/4/${name}.tar.bz2";
-    sha256 = "a10f65b52bcf72b9ec7bf5610e16de2d49c1cc4c008bf0a93281e8e2233fa1b1";
+    url = "http://hydra.nixos.org/build/1480955/download/4/${name}.tar.bz2";
+    sha256 = "71335de404ec6745418b524622527b470485fb968bf7cf10a0cb67926ee1286a";
   };
 
   buildNativeInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/system/fdisk/default.nix b/pkgs/tools/system/fdisk/default.nix
index 3c85fa598030..5a34813d8d99 100644
--- a/pkgs/tools/system/fdisk/default.nix
+++ b/pkgs/tools/system/fdisk/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, parted, libuuid, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "fdisk-1.2.5";
+  name = "fdisk-1.3.0a";
 
   src = fetchurl {
     url = "mirror://gnu/fdisk/${name}.tar.bz2";
-    sha256 = "1pwwblr85g4r6h5jwp8m5339v7f747z35bpnm945vjnw5mrch3lk";
+    sha256 = "1g2zvl560f7p1hd4q50d1msy6qp7949mdkagfy8ki8cayp8fp267";
   };
 
   buildInputs = [ parted libuuid gettext ];
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 87d6a4b073f9..e50cdfc97482 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libgcrypt, readline }:
 
 stdenv.mkDerivation rec {
-  name = "freeipmi-1.0.6";
+  name = "freeipmi-1.0.8";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "1990y1qkx1g5pb5flgzk0n7ms6ipcams576bna9hpkgg1h0rcbb6";
+    sha256 = "1niasikbm599bs6r7grskypzw1jccg8i3n1i4r0id9zqcjxff6gp";
   };
 
   buildInputs = [ libgcrypt readline ];
diff --git a/pkgs/tools/typesetting/docbook2x/default.nix b/pkgs/tools/typesetting/docbook2x/default.nix
index c02471d3e515..00dbe22aed35 100644
--- a/pkgs/tools/typesetting/docbook2x/default.nix
+++ b/pkgs/tools/typesetting/docbook2x/default.nix
@@ -1,10 +1,12 @@
 { fetchurl, stdenv, texinfo, perl
 , XMLSAX, XMLParser, XMLNamespaceSupport
-, groff, libxml2, libxslt, gnused, libiconv
+, groff, libxml2, libxslt, gnused, libiconv, opensp
+, docbook_xml_dtd_43
 , makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "docbook2X-0.8.8";
+  
   src = fetchurl {
     url = "mirror://sourceforge/docbook2x/${name}.tar.gz";
     sha256 = "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0";
@@ -15,7 +17,7 @@ stdenv.mkDerivation rec {
   patches = [ ./db2x_texixml-to-stdout.patch ];
 
   buildInputs = [ perl texinfo groff libxml2 libxslt makeWrapper
-                  XMLSAX XMLParser XMLNamespaceSupport
+                  XMLSAX XMLParser XMLNamespaceSupport opensp
   	        ] ++ (if libiconv != null then [libiconv] else []);
 
   postConfigure = ''
@@ -37,7 +39,7 @@ stdenv.mkDerivation rec {
 	--prefix PERL5LIB :						\
 	"${XMLNamespaceSupport}/lib/perl5/site_perl"			\
 	--prefix XML_CATALOG_FILES "\ "					\
-	"$out/share/docbook2X/dtd/catalog.xml\ $out/share/docbook2X/xslt/catalog.xml"
+	"$out/share/docbook2X/dtd/catalog.xml\ $out/share/docbook2X/xslt/catalog.xml\ ${docbook_xml_dtd_43}/xml/dtd/docbook/catalog.xml"
     done
 
     wrapProgram $out/bin/sgml2xml-isoent --prefix PATH : \
diff --git a/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix b/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
index d2cc7c527ec6..d79afe7e90f4 100644
--- a/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
+++ b/pkgs/tools/virtualization/amazon-ec2-api-tools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip, makeWrapper, jre }:
 
 stdenv.mkDerivation {
-  name = "ec2-api-tools-1.4.2.2";
+  name = "ec2-api-tools-1.4.4.2";
   
   src = fetchurl {
     url = http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip;
-    sha256 = "1e0f183c1e6d90338dbf427697908167a61c66dc7761ae5a73bb849f39f701fe";
+    sha256 = "03immxrrc7brbwm9nbp6dqw4bxpcb18l8rsj75nd6h2vanq2qlj4";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3c00d99dcff9..cc6a92ccb2ee 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -639,7 +639,7 @@ let
   fcron = callPackage ../tools/system/fcron {  # see also cron
   };
 
-  fdisk = callPackage ../tools/system/fdisk { parted = parted_2_3; };
+  fdisk = callPackage ../tools/system/fdisk { };
 
   fdm = callPackage ../tools/networking/fdm {};
 
@@ -905,6 +905,8 @@ let
 
   nodejs = callPackage ../development/web/nodejs {};
 
+  ldns = callPackage ../development/libraries/ldns { };
+
   lftp = callPackage ../tools/networking/lftp { };
 
   libtirpc = callPackage ../development/libraries/libtirpc { };
@@ -1120,14 +1122,14 @@ let
 
   patchutils = callPackage ../tools/text/patchutils { };
 
-  parted = callPackage ../tools/misc/parted { };
-  parted_2_3 = callPackage ../tools/misc/parted/2.3.nix { };
+  parted = callPackage ../tools/misc/parted { hurd = null; };
+  parted_2_3 = callPackage ../tools/misc/parted/2.3.nix { hurd = null; };
 
   hurdPartedCross =
     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
     then (callPackage ../tools/misc/parted {
         # Needs the Hurd's libstore.
-        hurd = hurdCrossIntermediate;
+        hurd = gnu.hurdCrossIntermediate;
 
         # The Hurd wants a libparted.a.
         enableStatic = true;
@@ -1806,7 +1808,7 @@ let
       libpthreadCross =
         # FIXME: Don't explicitly refer to `i586-pc-gnu'.
         if crossSystem != null && crossSystem.config == "i586-pc-gnu"
-        then hurdLibpthreadCross
+        then gnu.libpthreadCross
         else null;
      });
     libc = libcCross;
@@ -2942,21 +2944,6 @@ let
 
   ltrace = callPackage ../development/tools/misc/ltrace { };
 
-  mig = callPackage ../os-specific/gnu/mig
-    (if stdenv.isLinux
-     then {
-       # Build natively, but force use of a 32-bit environment because we're
-       # targeting `i586-pc-gnu'.
-       stdenv = (import ../stdenv {
-         system = "i686-linux";
-         stdenvType = "i686-linux";
-         allPackages = args:
-           import ./all-packages.nix ({ inherit config; } // args);
-         inherit platform;
-       }).stdenv;
-     }
-     else { });
-
   mk = callPackage ../development/tools/build-managers/mk { };
 
   noweb = callPackage ../development/tools/literate-programming/noweb { };
@@ -3442,14 +3429,17 @@ let
      in ({
        inherit stdenv fetchurl;
        gccCross = gccCrossStageStatic;
-       kernelHeaders = if crossGNU then hurdHeaders else linuxHeadersCross;
+       kernelHeaders = if crossGNU then gnu.hurdHeaders else linuxHeadersCross;
        installLocales = getConfig [ "glibc" "locales" ] false;
      }
 
      //
 
      (if crossGNU
-      then { inherit machHeaders hurdHeaders mig fetchgit; }
+      then {
+        inherit (gnu) machHeaders hurdHeaders libpthreadHeaders mig;
+        inherit fetchgit;
+      }
       else { }))));
 
   glibc214 = (callPackage ../development/libraries/glibc-2.14 {
@@ -3757,6 +3747,8 @@ let
 
   json_glib = callPackage ../development/libraries/json-glib { };
 
+  libjson = callPackage ../development/libraries/libjson { };
+
   judy = callPackage ../development/libraries/judy { };
 
   krb5 = callPackage ../development/libraries/kerberos/krb5.nix { };
@@ -4966,9 +4958,7 @@ let
 
   myserver = callPackage ../servers/http/myserver { };
 
-  nginx = builderDefsPackage (import ../servers/http/nginx) {
-    inherit openssl pcre zlib libxml2 libxslt;
-  };
+  nginx = callPackage ../servers/http/nginx { };
 
   postfix = callPackage ../servers/mail/postfix { };
 
@@ -5165,6 +5155,8 @@ let
     inherit devicemapper;
   };
 
+  drbd = callPackage ../os-specific/linux/drbd { };
+  
   libuuid =
     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
     then (utillinuxng // {
@@ -5218,50 +5210,10 @@ let
 
   htop = callPackage ../os-specific/linux/htop { };
 
-  hurdCross = forceBuildDrv(import ../os-specific/gnu/hurd {
-    inherit fetchgit stdenv autoconf libtool texinfo machHeaders
-      mig glibcCross hurdPartedCross;
-    libuuid = libuuid.hostDrv;
-    automake = automake111x;
-    headersOnly = false;
-    cross = assert crossSystem != null; crossSystem;
-    gccCross = gccCrossStageFinal;
-  });
-
-  hurdCrossIntermediate = forceBuildDrv(import ../os-specific/gnu/hurd {
-    inherit fetchgit stdenv autoconf libtool texinfo machHeaders
-      mig glibcCross;
-    automake = automake111x;
-    headersOnly = false;
-    cross = assert crossSystem != null; crossSystem;
-
-    # The "final" GCC needs glibc and the Hurd libraries (libpthread in
-    # particular) so we first need an intermediate Hurd built with the
-    # intermediate GCC.
-    gccCross = gccCrossStageStatic;
-
-    # This intermediate Hurd is only needed to build libpthread, which needs
-    # libihash, and to build Parted, which needs libstore and
-    # libshouldbeinlibc.
-    buildTarget = "libihash libstore libshouldbeinlibc";
-    installTarget = "libihash-install libstore-install libshouldbeinlibc-install";
-  });
-
-  hurdHeaders = callPackage ../os-specific/gnu/hurd {
-    automake = automake111x;
-    headersOnly = true;
-    gccCross = null;
-    glibcCross = null;
-    libuuid = null;
-    hurdPartedCross = null;
-  };
-
-  hurdLibpthreadCross = forceBuildDrv(import ../os-specific/gnu/libpthread {
-    inherit fetchgit stdenv autoconf automake libtool
-      machHeaders hurdHeaders glibcCross;
-    hurd = hurdCrossIntermediate;
-    gccCross = gccCrossStageStatic;
-    cross = assert crossSystem != null; crossSystem;
+  # GNU/Hurd core packages.
+  gnu = recurseIntoAttrs (callPackage ../os-specific/gnu {
+    callPackage = newScope pkgs.gnu;
+    inherit platform crossSystem;
   });
 
   hwdata = callPackage ../os-specific/linux/hwdata { };
@@ -5919,18 +5871,6 @@ let
 
   lvm2 = callPackage ../os-specific/linux/lvm2 { };
 
-  # In theory GNU Mach doesn't have to be cross-compiled.  However, since it
-  # has to be built for i586 (it doesn't work on x86_64), one needs a cross
-  # compiler for that host.
-  mach = callPackage ../os-specific/gnu/mach {
-    automake = automake111x;  };
-
-  machHeaders = callPackage ../os-specific/gnu/mach {
-    automake = automake111x;
-    headersOnly = true;
-    mig = null;
-  };
-
   mdadm = callPackage ../os-specific/linux/mdadm { };
 
   mingetty = callPackage ../os-specific/linux/mingetty { };
@@ -6229,6 +6169,8 @@ let
 
   docbook5 = callPackage ../data/sgml+xml/schemas/docbook-5.0 { };
 
+  docbook_sgml_dtd_41 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix { };
+
   docbook_xml_dtd_412 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix { };
 
   docbook_xml_dtd_42 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix { };
@@ -8058,7 +8000,7 @@ let
 
   };
 
-  kde4 = recurseIntoAttrs pkgs.kde45;
+  kde4 = recurseIntoAttrs pkgs.kde47;
 
   # TODO: merge with branches/drop-kde4.5 if you want to remove KDE SC 4.5
   # This branch removes kde45 and quite a few compatibility hacks
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 5a1e68b2f0f7..6c78b9c8f7b0 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -129,7 +129,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     haskellSrc   = self.haskellSrc_1_0_1_4; # 7.2 fails, 7.3 fails
     html         = self.html_1_0_1_2; # 7.2 ok, 7.3 ok
     HUnit        = self.HUnit_1_2_2_3; # 7.2 ok, 7.3 ok
-    network      = self.network_2_3_0_5; # 7.2 ok, 7.3 ok
+    network      = self.network_2_3_0_7; # 7.2 ok, 7.3 ok
     OpenGL       = self.OpenGL_2_2_3_0; # 7.2 ok, 7.3 ok
     parallel     = self.parallel_3_1_0_1; # 7.2 ok, 7.3 ok
     parsec       = self.parsec_3_1_1; # 7.2 ok, 7.3 ok
@@ -143,7 +143,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     zlib         = self.zlib_0_5_3_1; # 7.2 ok, 7.3 ok
     HTTP         = self.HTTP_4000_1_2; # 7.2 ok, 7.3 ok
     deepseq      = self.deepseq_1_1_0_2; # 7.2 ok, 7.3 ok
-    text         = self.text_0_11_1_5; # 7.2 ok, 7.3 ok
+    text         = self.text_0_11_1_7; # 7.2 ok, 7.3 ok
     transformers = self.transformers_0_2_2_0; # 7.2 ok, 7.3 ok
     mtl          = self.mtl_2_0_1_0; # 7.2 ok, 7.3 ok
     random       = self.random_1_0_0_3; # 7.2 ok, 7.3 ok
@@ -193,7 +193,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     self : self.haskellPlatformArgs_2011_2_0_1 self // {
       haskellPlatform = self.haskellPlatform_2011_2_0_1;
       mtl1 = self.mtl_1_1_1_1;
-      text = self.text_0_11_1_5;
+      text = self.text_0_11_1_7;
       repaExamples = null;      # don't pick this version of 'repa-examples' during nix-env -u
     };
 
@@ -366,9 +366,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   ACVector = callPackage ../development/libraries/haskell/AC-Vector {};
 
-  aeson = callPackage ../development/libraries/haskell/aeson {
-    vector = self.vector_0_7_1;
-  };
+  aeson = callPackage ../development/libraries/haskell/aeson {};
 
   aesonNative = callPackage ../development/libraries/haskell/aeson-native {};
 
@@ -394,6 +392,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   authenticate = callPackage ../development/libraries/haskell/authenticate {};
 
+  base16Bytestring = callPackage ../development/libraries/haskell/base16-bytestring {};
+
   base64String = callPackage ../development/libraries/haskell/base64-string {};
 
   base64Bytestring = callPackage ../development/libraries/haskell/base64-bytestring {};
@@ -420,9 +420,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   blazeHtml = callPackage ../development/libraries/haskell/blaze-html {};
 
-  blazeTextual = callPackage ../development/libraries/haskell/blaze-textual {
-    vector = self.vector_0_7_1;
-  };
+  blazeTextual = callPackage ../development/libraries/haskell/blaze-textual {};
 
   blazeTextualNative = callPackage ../development/libraries/haskell/blaze-textual-native {};
 
@@ -490,9 +488,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   cprngAes = callPackage ../development/libraries/haskell/cprng-aes {};
 
-  criterion = callPackage ../development/libraries/haskell/criterion {
-    vector = self.vector_0_7_1;
-  };
+  criterion = callPackage ../development/libraries/haskell/criterion {};
 
   Crypto = callPackage ../development/libraries/haskell/Crypto {};
 
@@ -502,10 +498,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   cryptohash = callPackage ../development/libraries/haskell/cryptohash {};
 
+  cryptoPubkeyTypes = callPackage ../development/libraries/haskell/crypto-pubkey-types {};
+
   csv = callPackage ../development/libraries/haskell/csv {};
 
   cssText = callPackage ../development/libraries/haskell/css-text {};
 
+  curl = callPackage ../development/libraries/haskell/curl { curl = pkgs.curl; };
+
   dataAccessor = callPackage ../development/libraries/haskell/data-accessor/data-accessor.nix {};
 
   dataAccessorTemplate = callPackage ../development/libraries/haskell/data-accessor/data-accessor-template.nix {};
@@ -549,6 +549,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   doubleConversion = callPackage ../development/libraries/haskell/double-conversion {};
 
+  download = callPackage ../development/libraries/haskell/download {};
+
+  downloadCurl = callPackage ../development/libraries/haskell/download-curl { tagsoup = self.tagsoup_0_10_1; };
+
   editline = callPackage ../development/libraries/haskell/editline {};
 
   emailValidate = callPackage ../development/libraries/haskell/email-validate {};
@@ -587,9 +591,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   fingertree = callPackage ../development/libraries/haskell/fingertree {};
 
-  gamma = callPackage ../development/libraries/haskell/gamma {
-    vector = self.vector_0_7_1;
-  };
+  gamma = callPackage ../development/libraries/haskell/gamma {};
 
   gdiff = callPackage ../development/libraries/haskell/gdiff {};
 
@@ -631,10 +633,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   GLUT_2_1_1_2 = callPackage ../development/libraries/haskell/GLUT/2.1.1.2.nix {};
   GLUT_2_1_2_1 = callPackage ../development/libraries/haskell/GLUT/2.1.2.1.nix {};
-  GLUT_2_2_2_0 = callPackage ../development/libraries/haskell/GLUT/2.2.2.0.nix {
-    OpenGL = self.OpenGL_2_4_0_1;
+  GLUT_2_2_2_1 = callPackage ../development/libraries/haskell/GLUT/2.2.2.1.nix {
+    OpenGL = self.OpenGL_2_4_0_2;
   };
-  GLUT22 = self.GLUT_2_2_2_0;
+  GLUT22 = self.GLUT_2_2_2_1;
   GLUT = self.GLUT_2_1_1_2;
 
   gtk = callPackage ../development/libraries/haskell/gtk {
@@ -882,10 +884,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   murmurHash = callPackage ../development/libraries/haskell/murmur-hash {};
 
-  mwcRandom = callPackage ../development/libraries/haskell/mwc-random {
-    primitive = self.primitive_0_3_1;
-    vector = self.vector_0_7_1;
-  };
+  mwcRandom = callPackage ../development/libraries/haskell/mwc-random {};
 
   NanoProlog = callPackage ../development/libraries/haskell/NanoProlog {};
 
@@ -894,9 +893,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   network_2_2_1_4 = callPackage ../development/libraries/haskell/network/2.2.1.4.nix {};
   network_2_2_1_7 = callPackage ../development/libraries/haskell/network/2.2.1.7.nix {};
   network_2_3_0_2 = callPackage ../development/libraries/haskell/network/2.3.0.2.nix {};
-  network_2_3_0_5 = callPackage ../development/libraries/haskell/network/2.3.0.5.nix {};
-  network_2_3_0_6 = callPackage ../development/libraries/haskell/network/2.3.0.6.nix {};
-  network = self.network_2_3_0_6;
+  network_2_3_0_7 = callPackage ../development/libraries/haskell/network/2.3.0.7.nix {};
+  network = self.network_2_3_0_7;
 
   nixosTypes = callPackage ../development/libraries/haskell/nixos-types {};
 
@@ -916,8 +914,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   OpenGL_2_2_1_1 = callPackage ../development/libraries/haskell/OpenGL/2.2.1.1.nix {};
   OpenGL_2_2_3_0 = callPackage ../development/libraries/haskell/OpenGL/2.2.3.0.nix {};
-  OpenGL_2_4_0_1 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.1.nix {};
-  OpenGL24 = self.OpenGL_2_4_0_1;
+  OpenGL_2_4_0_2 = callPackage ../development/libraries/haskell/OpenGL/2.4.0.2.nix {};
+  OpenGL24 = self.OpenGL_2_4_0_2;
   OpenGL = self.OpenGL_2_2_1_1;
 
   OpenGLRaw = callPackage ../development/libraries/haskell/OpenGLRaw {};
@@ -1006,9 +1004,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   random = null; # core package until ghc-7.2.1
   random_newtime = self.random_1_0_0_2_newtime;
 
-  randomFu = callPackage ../development/libraries/haskell/random-fu {
-    vector = self.vector_0_7_1;
-  };
+  randomFu = callPackage ../development/libraries/haskell/random-fu {};
 
   randomSource = callPackage ../development/libraries/haskell/random-source {};
 
@@ -1082,22 +1078,15 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   smallcheck = callPackage ../development/libraries/haskell/smallcheck {};
 
-  snapCore = callPackage ../development/libraries/haskell/snap/core.nix {
-    vector = self.vector_0_7_1;
-  };
+  snapCore = callPackage ../development/libraries/haskell/snap/core.nix {};
 
-  snapServer = callPackage ../development/libraries/haskell/snap/server.nix {
-    vector = self.vector_0_7_1;
-  };
+  snapServer = callPackage ../development/libraries/haskell/snap/server.nix {};
 
   stateref = callPackage ../development/libraries/haskell/stateref {};
 
   StateVar = callPackage ../development/libraries/haskell/StateVar {};
 
-  statistics = callPackage ../development/libraries/haskell/statistics {
-    primitive = self.primitive_0_3_1;
-    vector = self.vector_0_7_1;
-  };
+  statistics = callPackage ../development/libraries/haskell/statistics {};
 
   streamproc = callPackage ../development/libraries/haskell/streamproc {};
 
@@ -1172,6 +1161,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   tagsoup = callPackage ../development/libraries/haskell/tagsoup {};
 
+  tagsoup_0_10_1 = callPackage ../development/libraries/haskell/tagsoup/0.10.1nix {};
+
   Tensor = callPackage ../development/libraries/haskell/Tensor {};
 
   terminfo = callPackage ../development/libraries/haskell/terminfo {};
@@ -1190,14 +1181,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   testpack = callPackage ../development/libraries/haskell/testpack {};
 
-  texmath_0_4 = callPackage ../development/libraries/haskell/texmath/0.4.nix {};
-  texmath_0_5_0_1 = callPackage ../development/libraries/haskell/texmath/0.5.0.1.nix {};
-  texmath = self.texmath_0_5_0_1;
+  texmath = callPackage ../development/libraries/haskell/texmath {};
 
   text_0_11_0_5 = callPackage ../development/libraries/haskell/text/0.11.0.5.nix {};
   text_0_11_0_6 = callPackage ../development/libraries/haskell/text/0.11.0.6.nix {};
-  text_0_11_1_5 = callPackage ../development/libraries/haskell/text/0.11.1.5.nix {};
-  text = self.text_0_11_1_5;
+  text_0_11_1_7 = callPackage ../development/libraries/haskell/text/0.11.1.7.nix {};
+  text = self.text_0_11_1_7;
 
   thespian = callPackage ../development/libraries/haskell/thespian {};
 
@@ -1209,16 +1198,14 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   time_1_1_3   = callPackage ../development/libraries/haskell/time/1.1.3.nix {};
   time_1_2_0_3 = callPackage ../development/libraries/haskell/time/1.2.0.3.nix {};
   time_1_2_0_5 = callPackage ../development/libraries/haskell/time/1.2.0.5.nix {};
-  time_1_4 = callPackage ../development/libraries/haskell/time/1.4.nix {};
+  time_1_4_0_1 = callPackage ../development/libraries/haskell/time/1.4.0.1.nix {};
   # time is in the core package set. It should only be necessary to
   # pass it explicitly in rare circumstances.
   time = null;
 
   tls = callPackage ../development/libraries/haskell/tls {};
 
-  tlsExtra = callPackage ../development/libraries/haskell/tls-extra {
-    vector = self.vector_0_7_1;
-  };
+  tlsExtra = callPackage ../development/libraries/haskell/tls-extra {};
 
   transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {};
   transformers = self.transformers_0_2_2_0;
@@ -1265,15 +1252,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   };
   vector = self.vector_0_9;
 
-  vectorAlgorithms = callPackage ../development/libraries/haskell/vector-algorithms {
-    primitive = self.primitive_0_3_1;
-    vector = self.vector_0_7_1;
-  };
+  vectorAlgorithms = callPackage ../development/libraries/haskell/vector-algorithms {};
 
   vectorSpace = callPackage ../development/libraries/haskell/vector-space {};
 
   vty = callPackage ../development/libraries/haskell/vty {
-    vector = self.vector_0_7_1;
+    mtl = self.mtl2;
   };
 
   wai = callPackage ../development/libraries/haskell/wai {};
@@ -1345,9 +1329,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   yesodForm = callPackage ../development/libraries/haskell/yesod-form {};
 
-  yesodJson = callPackage ../development/libraries/haskell/yesod-json {
-    vector = self.vector_0_7_1;
-  };
+  yesodJson = callPackage ../development/libraries/haskell/yesod-json {};
 
   yesodPersistent = callPackage ../development/libraries/haskell/yesod-persistent {};
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 877d5aed1e1c..08a06d3e221e 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -954,6 +954,14 @@ rec {
     propagatedBuildInputs = [TestException ClassAccessorChained];
   };
 
+  DataUUID = buildPerlPackage rec {
+    name = "Data-UUID-1.217";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/Data/${name}.tar.gz";
+      sha256 = "0vgykclw1mn06a53d8y3g7s7vanks8078dh2j4jb84djk0cw9h0q";
+    };
+  };
+
   DataVisitor = buildPerlPackage rec {
     name = "Data-Visitor-0.25";
     src = fetchurl {
@@ -2402,11 +2410,13 @@ rec {
   };
 
   NetAmazonEC2 = buildPerlPackage rec {
-    name = "Net-Amazon-EC2-0.14";
+    name = "Net-Amazon-EC2-0.14-stanaka-bc66577e13";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JK/JKIM/${name}.tar.gz";
-      sha256 = "14am9m19ziyv12bjxljhfyl0zy120yf4gligsa9v26smb61fxyjr";
+      url = https://github.com/stanaka/net-amazon-ec2/zipball/bc66577e1312e828e252937d95f9f5f637af6a0b;
+      sha256 = "1c0k3addkaaf4zj7z87svm9xc3c06v0r06rf5rpqmps413lqisbn";
+      name  = "${name}.zip";
     };
+    buildInputs = [ pkgs.unzip ];
     patches =
       [ # In DescribeInstance requests, say "InstanceId.1" instead of
         # "InstanceId", as required by the Amazon spec.  EC2 tolerates