about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/arduino/arduino-core/default.nix18
-rw-r--r--pkgs/development/compilers/ats2/default.nix4
-rw-r--r--pkgs/development/compilers/bigloo/default.nix18
-rw-r--r--pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch130
-rw-r--r--pkgs/development/compilers/chicken/default.nix41
-rw-r--r--pkgs/development/compilers/chicken/eggDerivation.nix46
-rw-r--r--pkgs/development/compilers/chicken/overrides.nix10
-rw-r--r--pkgs/development/compilers/chicken/setup-hook.sh7
-rw-r--r--pkgs/development/compilers/gambit/default.nix42
-rw-r--r--pkgs/development/compilers/gambit/src-for-default.nix9
-rw-r--r--pkgs/development/compilers/gambit/src-info-for-default.nix7
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/default.nix4
-rw-r--r--pkgs/development/compilers/idris/default.nix23
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7-linux.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix10
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8-linux.nix6
-rw-r--r--pkgs/development/compilers/swi-prolog/default.nix4
-rw-r--r--pkgs/development/guile-modules/guile-opengl/default.nix20
-rw-r--r--pkgs/development/interpreters/eff/default.nix35
-rw-r--r--pkgs/development/interpreters/nix-exec/default.nix8
-rw-r--r--pkgs/development/interpreters/pure/default.nix10
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix5
-rw-r--r--pkgs/development/interpreters/ruby/ruby-1.9.3.nix6
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.0.0.nix8
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.0.nix8
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.1.nix8
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.2.nix8
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.3.nix114
-rw-r--r--pkgs/development/interpreters/ruby/rvm-patchsets.nix4
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix4
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix4
-rw-r--r--pkgs/development/libraries/aspell/default.nix1
-rw-r--r--pkgs/development/libraries/freetds/default.nix9
-rw-r--r--pkgs/development/libraries/gvfs/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/HandsomeSoup/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/ObjectName/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix2
-rw-r--r--pkgs/development/libraries/haskell/StateVar/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/Tensor/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/acme-lookofdisapproval/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/ansi-terminal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ariadne/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/bitset/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/cipher-aes/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cprng-aes/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/data-lens-fd/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/data-lens-template/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-lens/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/esqueleto/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-vis/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss-banana/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/hakyll/deps.patch20
-rw-r--r--pkgs/development/libraries/haskell/haste-compiler/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hmatrix-special/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hosc/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/hsc3-db/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hsc3-dot/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/hsc3-lang/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/hsc3-process/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hsc3/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mime-mail/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/network-carbon/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix25
-rw-r--r--pkgs/development/libraries/haskell/pipes-shell/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/protocol-buffers/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/pure-cdb/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rawStringsQq/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/resource-pool/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rest-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rest-gen/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/rest-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/serialport/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/stm-containers/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-ant-xml/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-quickcheck/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/tasty/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-middleware-static/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yi-contrib/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/yi-fuzzy-open/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/yi-monokai/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/yi-rope/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/yi-snippet/default.nix17
-rw-r--r--pkgs/development/libraries/hidapi/default.nix22
-rw-r--r--pkgs/development/libraries/libassuan/default.nix4
-rw-r--r--pkgs/development/libraries/libcec/default.nix22
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix4
-rw-r--r--pkgs/development/libraries/libksba/default.nix11
-rw-r--r--pkgs/development/libraries/libmsgpack/CMakeLists.patch4
-rw-r--r--pkgs/development/libraries/libpcap/default.nix7
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix8
-rw-r--r--pkgs/development/libraries/libu2f-host/default.nix20
-rw-r--r--pkgs/development/libraries/libusb1/default.nix13
-rw-r--r--pkgs/development/libraries/libvirt/default.nix3
-rw-r--r--pkgs/development/libraries/libxml2/default.nix4
-rw-r--r--pkgs/development/libraries/libxml2/setup-hook.sh8
-rw-r--r--pkgs/development/libraries/libykneomgr/default.nix24
-rw-r--r--pkgs/development/libraries/libyubikey/default.nix21
-rw-r--r--pkgs/development/libraries/npth/default.nix10
-rw-r--r--pkgs/development/libraries/openldap/default.nix4
-rw-r--r--pkgs/development/libraries/smpeg/default.nix10
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix11
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/default.nix6
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix4
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix5
-rw-r--r--pkgs/development/ocaml-modules/ansiterminal/default.nix34
-rw-r--r--pkgs/development/ocaml-modules/bolt/default.nix41
-rw-r--r--pkgs/development/pharo/vm/default.nix4
-rw-r--r--pkgs/development/python-modules/box2d/disable-test.patch14
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix6
-rw-r--r--pkgs/development/tools/egg2nix/chicken-eggs.nix296
-rw-r--r--pkgs/development/tools/egg2nix/chicken-eggs.scm5
-rw-r--r--pkgs/development/tools/egg2nix/default.nix27
-rw-r--r--pkgs/development/tools/haskell/ghcid/default.nix20
-rw-r--r--pkgs/development/tools/misc/autoconf/2.13.nix4
-rw-r--r--pkgs/development/tools/misc/chruby/default.nix43
-rw-r--r--pkgs/development/tools/misc/chruby/env.patch12
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocp-build/default.nix40
-rw-r--r--pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch11
-rw-r--r--pkgs/development/tools/ocaml/ocp-indent/default.nix41
-rw-r--r--pkgs/development/tools/parsing/hammer/default.nix29
-rw-r--r--pkgs/development/tools/slimerjs/default.nix1
-rw-r--r--pkgs/development/web/remarkjs/default.nix4
133 files changed, 1751 insertions, 351 deletions
diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix
index 94336cc9e2b4..3f722d1b7d45 100644
--- a/pkgs/development/arduino/arduino-core/default.nix
+++ b/pkgs/development/arduino/arduino-core/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, jdk, jre, ant, coreutils, gnugrep }:
+{ stdenv, fetchFromGitHub, jdk, jre, ant, coreutils, gnugrep, file }:
 
 stdenv.mkDerivation rec {
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0nr5b719qi03rcmx6swbhccv6kihxz3b8b6y46bc2j348rja5332";
   };
 
-  buildInputs = [ jdk ant ];
+  buildInputs = [ jdk ant file ];
 
   buildPhase = ''
     cd ./core && ant 
@@ -27,6 +27,20 @@ stdenv.mkDerivation rec {
     cp -r ./build/linux/work/tools/ $out/share/arduino
     cp -r ./build/linux/work/lib/ $out/share/arduino
     echo ${version} > $out/share/arduino/lib/version.txt
+
+    # Fixup "/lib64/ld-linux-x86-64.so.2" like references in ELF executables.
+    echo "running patchelf on prebuilt binaries:"
+    find "$out" | while read filepath; do
+        if file "$filepath" | grep -q "ELF.*executable"; then
+            # skip target firmware files
+            if echo "$filepath" | grep -q "\.elf$"; then
+                continue
+            fi
+            echo "setting interpreter $(cat "$NIX_GCC"/nix-support/dynamic-linker) in $filepath"
+            patchelf --set-interpreter "$(cat "$NIX_GCC"/nix-support/dynamic-linker)" "$filepath"
+            test $? -eq 0 || { echo "patchelf failed to process $filepath"; exit 1; }
+        fi
+    done
   '';
 
   meta = {
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index 07a4ceefd4d2..65f77ee8d3c3 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "ats2-${version}";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
-    sha256 = "157k703zsdf0gr7mwz08rdldfgwfsm5ipg36xcc8092fcjs5ryqp";
+    sha256 = "174kxdvdgp2rlb0qq7d854n6m9gzy0g8annk3bmbqb23m36n2g39";
   };
 
   buildInputs = [ gmp ];
diff --git a/pkgs/development/compilers/bigloo/default.nix b/pkgs/development/compilers/bigloo/default.nix
index 8564175d363d..3ac5f1696ce8 100644
--- a/pkgs/development/compilers/bigloo/default.nix
+++ b/pkgs/development/compilers/bigloo/default.nix
@@ -1,14 +1,16 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, gmp }:
 
 stdenv.mkDerivation rec {
   name = "bigloo-${version}";
-  version = "3.7a";
+  version = "4.1a-2";
 
   src = fetchurl {
     url = "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo${version}.tar.gz";
-    sha256 = "0y8i87c2bpqzap8rhzgpyfgdzq21py5xq6mgp0w6xv4rjcj9d0v1";
+    sha256 = "09yrz8r0jpj7bda39fdxzrrdyhi851nlfajsyf0b6jxanz6ygcjx";
   };
 
+  buildInputs = [ gmp ];
+
   preConfigure =
     # Help libgc's configure.
     '' export CXXCPP="g++ -E"
@@ -32,6 +34,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Efficient Scheme compiler";
+    homepage    = http://www-sop.inria.fr/indes/fp/Bigloo/;
+    license     = stdenv.lib.licenses.gpl2Plus;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ ludo thoughtpolice ];
 
     longDescription = ''
       Bigloo is a Scheme implementation devoted to one goal: enabling
@@ -44,11 +50,5 @@ stdenv.mkDerivation rec {
       Scheme and C programs, between Scheme and Java programs, and
       between Scheme and C# programs.
     '';
-
-    homepage = http://www-sop.inria.fr/indes/fp/Bigloo/;
-    license = stdenv.lib.licenses.gpl2Plus;
-
-    maintainers = [ stdenv.lib.maintainers.ludo ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch b/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
new file mode 100644
index 000000000000..0962c9cf46d3
--- /dev/null
+++ b/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
@@ -0,0 +1,130 @@
+From 752dff853186dc334c519a86fa92f087795fea02 Mon Sep 17 00:00:00 2001
+From: Moritz Heidkamp <moritz.heidkamp@bevuta.com>
+Date: Wed, 1 Oct 2014 22:41:30 +0200
+Subject: [PATCH] Introduce CHICKEN_REPOSITORY_EXTRA
+
+This environment variable works like CHICKEN_REPOSITORY but supports
+multiple paths separated by `:'. Those paths are searched after
+CHICKEN_REPOSITORY when loading extensions via `require-library' and
+friends. It can be accessed and changed at runtime via the new procedure
+`repository-extra-paths' which is analog to `repository-path'.
+---
+ chicken-install.scm | 11 +++++++----
+ chicken.import.scm  |  1 +
+ eval.scm            | 37 +++++++++++++++++++++++++++++++------
+ 3 files changed, 39 insertions(+), 10 deletions(-)
+
+diff --git a/chicken-install.scm b/chicken-install.scm
+index 2ef6ef4..b5c6bf8 100644
+--- a/chicken-install.scm
++++ b/chicken-install.scm
+@@ -109,10 +109,10 @@
+   (define *show-foreign-depends* #f)
+   (define *hacks* '())
+ 
+-  (define (repo-path)
++  (define (repo-paths)
+     (if (and *cross-chicken* (not *host-extension*))
+-	(make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION))
+-	(repository-path)))
++	(list (make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION)))
++	(cons (repository-path) (repository-extra-paths))))
+ 
+   (define (get-prefix #!optional runtime)
+     (cond ((and *cross-chicken*
+@@ -757,7 +757,10 @@
+ 		  "installed extension has no information about which egg it belongs to"
+ 		  (pathname-file sf))
+ 		 #f))))
+-      (glob (make-pathname (repo-path) "*" "setup-info")))
++      (append-map
++       (lambda (path)
++	 (glob (make-pathname path "*" "setup-info")))
++       (repo-paths)))
+      equal?))
+ 
+   (define (list-available-extensions trans locn)
+diff --git a/chicken.import.scm b/chicken.import.scm
+index baa7316..2839b16 100644
+--- a/chicken.import.scm
++++ b/chicken.import.scm
+@@ -201,6 +201,7 @@
+    repl
+    repl-prompt
+    repository-path
++   repository-extra-paths
+    require
+    reset
+    reset-handler
+diff --git a/eval.scm b/eval.scm
+index bbcd86c..838588d 100644
+--- a/eval.scm
++++ b/eval.scm
+@@ -81,6 +81,7 @@
+ (define-constant source-file-extension ".scm")
+ (define-constant setup-file-extension "setup-info")
+ (define-constant repository-environment-variable "CHICKEN_REPOSITORY")
++(define-constant repository-extra-environment-variable "CHICKEN_REPOSITORY_EXTRA")
+ (define-constant prefix-environment-variable "CHICKEN_PREFIX")
+ 
+ ; these are actually in unit extras, but that is used by default
+@@ -1180,6 +1181,25 @@
+ 
+ (define repository-path ##sys#repository-path)
+ 
++(define ##sys#repository-extra-paths
++  (let* ((repaths (get-environment-variable repository-extra-environment-variable))
++	 (repaths (if repaths
++		      (let ((len (string-length repaths)))
++			(let loop ((i 0) (offset 0) (res '()))
++			  (cond ((> i len)
++				 (reverse res))
++				((or (= i len) (eq? #\: (string-ref repaths i)))
++				 (loop (+ i 1) (+ i 1) (cons (substring repaths offset i) res)))
++				(else
++				 (loop (+ i 1) offset res)))))
++		      '())))
++    (lambda (#!optional val)
++      (if val
++	  (set! repaths val)
++	  repaths))))
++
++(define repository-extra-paths ##sys#repository-extra-paths)
++
+ (define ##sys#setup-mode #f)
+ 
+ (define ##sys#find-extension
+@@ -1197,6 +1217,7 @@
+ 	(let loop ((paths (##sys#append
+ 			   (if ##sys#setup-mode '(".") '())
+ 			   (if rp (list rp) '())
++			   (##sys#repository-extra-paths)
+ 			   (if inc? ##sys#include-pathnames '())
+ 			   (if ##sys#setup-mode '() '("."))) ))
+ 	  (and (pair? paths)
+@@ -1256,12 +1277,16 @@
+ 	[string-append string-append]
+ 	[read read] )
+     (lambda (id loc)
+-      (and-let* ((rp (##sys#repository-path)))
+-	(let* ((p (##sys#canonicalize-extension-path id loc))
+-	       (rpath (string-append rp "/" p ".")) )
+-	  (cond ((file-exists? (string-append rpath setup-file-extension))
+-		 => (cut with-input-from-file <> read) )
+-		(else #f) ) ) ) ) ))
++      (let loop ((rpaths (cons (##sys#repository-path) (##sys#repository-extra-paths))))
++	(and (pair? rpaths)
++	     (let ((rp (car rpaths)))
++	       (if (not rp)
++		   (loop (cdr rpaths))
++		   (let* ((p (##sys#canonicalize-extension-path id loc))
++			  (rpath (string-append rp "/" p ".")) )
++		     (cond ((file-exists? (string-append rpath setup-file-extension))
++			    => (cut with-input-from-file <> read) )
++			   (else (loop (cdr rpaths))) ) )) ))) ) ))
+ 
+ (define (extension-information ext)
+   (##sys#extension-information ext 'extension-information) )
+-- 
+2.1.0
+
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix
index 8fd99973cbc1..0e210343a72f 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
 
 let
   version = "4.9.0.1";
@@ -8,18 +8,57 @@ let
     else if isBSD then "bsd"
     else if isSunOS then "solaris"
     else "linux";               # Should be a sane default
+  lib = stdenv.lib;
 in
 stdenv.mkDerivation {
   name = "chicken-${version}";
 
+  binaryVersion = 7;
+
   src = fetchurl {
     url = "http://code.call-cc.org/releases/4.9.0/chicken-${version}.tar.gz";
     sha256 = "0598mar1qswfd8hva9nqs88zjn02lzkqd8fzdd21dz1nki1prpq4";
   };
 
+  setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
+  
   buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
   installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
 
+  # We need a bootstrap-chicken to regenerate the c-files after
+  # applying a patch to add support for CHICKEN_REPOSITORY_EXTRA
+  patches = lib.ifEnable (bootstrap-chicken != null) [
+    ./0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
+  ];
+
+  buildInputs = [
+    makeWrapper
+  ] ++ (lib.ifEnable (bootstrap-chicken != null) [
+    bootstrap-chicken
+  ]);
+
+  preBuild = lib.ifEnable (bootstrap-chicken != null) ''
+    # Backup the build* files - those are generated from hostname,
+    # git-tag, etc. and we don't need/want that
+    mkdir -p build-backup
+    mv buildid buildbranch buildtag.h build-backup
+
+    # Regenerate eval.c after the patch
+    make spotless $buildFlags
+
+    mv build-backup/* .
+  '';
+
+  postInstall = ''
+    for f in $out/bin/*
+    do
+      wrapProgram $f \
+        --prefix PATH : ${stdenv.gcc}/bin
+    done
+  '';
+
+  # TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion
+
   meta = {
     homepage = http://www.call-cc.org/;
     license = "BSD";
diff --git a/pkgs/development/compilers/chicken/eggDerivation.nix b/pkgs/development/compilers/chicken/eggDerivation.nix
new file mode 100644
index 000000000000..97ce9d9be79b
--- /dev/null
+++ b/pkgs/development/compilers/chicken/eggDerivation.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchegg, chicken, makeWrapper }:
+{ name, src
+, buildInputs ? []
+, chickenInstallFlags ? []
+, cscOptions          ? []
+, ...} @ args:
+
+let
+  libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/";
+  overrides = import ./overrides.nix;
+  lib = stdenv.lib;
+  baseName = (builtins.parseDrvName name).name;
+  override = if builtins.hasAttr baseName overrides
+   then
+     builtins.getAttr baseName overrides
+   else
+     {};
+in
+stdenv.mkDerivation ({
+  name = "chicken-${name}";
+  propagatedBuildInputs = buildInputs ++ [ chicken ];
+  propagatedUserEnvPkgs = buildInputs ++ [ chicken ];
+  buildInputs = [ makeWrapper ];
+
+  CSC_OPTIONS = stdenv.lib.concatStringsSep " " cscOptions;
+
+  CHICKEN_REPOSITORY = libPath;
+  CHICKEN_INSTALL_PREFIX = "$out";
+
+  installPhase = ''
+    runHook preInstall
+
+    chicken-install -p $out ${stdenv.lib.concatStringsSep " " chickenInstallFlags}
+
+    for f in $out/bin/*
+    do
+      wrapProgram $f \
+        --set CHICKEN_REPOSITORY $CHICKEN_REPOSITORY \
+        --prefix CHICKEN_REPOSITORY_EXTRA : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_EXTRA" \
+        --prefix CHICKEN_INCLUDE_PATH \; \"$CHICKEN_INCLUDE_PATH\;$out/share/\" \
+        --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_EXTRA:$CHICKEN_REPOSITORY"
+    done
+
+    runHook postInstall
+  '';
+} // (builtins.removeAttrs args ["name" "buildInputs"]) // override)
diff --git a/pkgs/development/compilers/chicken/overrides.nix b/pkgs/development/compilers/chicken/overrides.nix
new file mode 100644
index 000000000000..9fdda9b6d9fe
--- /dev/null
+++ b/pkgs/development/compilers/chicken/overrides.nix
@@ -0,0 +1,10 @@
+{
+  setup-helper = {
+    preBuild = ''
+      substituteInPlace setup-helper.setup \
+        --replace "(chicken-home)" \"$out/share/\"
+
+        cat setup-helper.setup
+    '';
+  };
+}
diff --git a/pkgs/development/compilers/chicken/setup-hook.sh b/pkgs/development/compilers/chicken/setup-hook.sh
new file mode 100644
index 000000000000..8d6b990a7e05
--- /dev/null
+++ b/pkgs/development/compilers/chicken/setup-hook.sh
@@ -0,0 +1,7 @@
+addChickenRepositoryPath() {
+    addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_EXTRA "$1/lib/chicken/7/"
+    # addToSearchPathWithCustomDelimiter \; CHICKEN_INCLUDE_PATH "$1/share/"
+    export CHICKEN_INCLUDE_PATH="$1/share;$CHICKEN_INCLUDE_PATH"
+}
+
+envHooks=(${envHooks[@]} addChickenRepositoryPath)
diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix
index 3d9f2596c96c..cc8c80653ba2 100644
--- a/pkgs/development/compilers/gambit/default.nix
+++ b/pkgs/development/compilers/gambit/default.nix
@@ -1,28 +1,22 @@
-x@{stdenv, fetchurl, builderDefsPackage, ...}:
-builderDefsPackage
-(a :  
-let 
-  s = import ./src-for-default.nix;
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ [];
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-in
-rec {
-  src = a.fetchUrlFromSrcInfo s;
+{ stdenv, fetchurl }:
 
-  inherit (s) name;
-  inherit buildInputs;
-  configureFlags = ["--enable-shared"];
+stdenv.mkDerivation rec {
+  name    = "gambit-${version}";
+  version = "4.7.3";
+  devver  = "4_7_3";
+
+  src = fetchurl {
+    url    = "http://www.iro.umontreal.ca/~gambit/download/gambit/v4.7/source/gambc-v${devver}-devel.tgz";
+    sha256 = "12jbr6bc0zmc7vw07a9pliadbvqgwkpmw6cj8awz73clv1j7pxha";
+  };
+
+  configureFlags = [ "--enable-shared" "--enable-single-host" ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["doConfigure" "doMakeInstall"];
-      
   meta = {
-    description = "Scheme to C compiler";
-    maintainers = [
-      a.lib.maintainers.raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux ++ freebsd;
+    description = "Optimizing Scheme to C compiler";
+    homepage    = "http://gambitscheme.org";
+    license     = stdenv.lib.licenses.lgpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice raskin ];
   };
-}) x
+}
diff --git a/pkgs/development/compilers/gambit/src-for-default.nix b/pkgs/development/compilers/gambit/src-for-default.nix
deleted file mode 100644
index 83d0c764561c..000000000000
--- a/pkgs/development/compilers/gambit/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="v4_6_1";
-   name="gambit-v4_6_1";
-   hash="0ad6c63dg5ggaamixxinvlf3128mra8xzss5chh66lkii4dc3m7g";
-   url="http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-${version}-devel.tgz";
-   advertisedUrl="http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-v4_6_1-devel.tgz";
-  
-  
-}
diff --git a/pkgs/development/compilers/gambit/src-info-for-default.nix b/pkgs/development/compilers/gambit/src-info-for-default.nix
deleted file mode 100644
index cd32f9d3f821..000000000000
--- a/pkgs/development/compilers/gambit/src-info-for-default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  downloadPage = "http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page";
-  baseName = "gambit";
-  sourceRegexp = "[.]tgz";
-  versionExtractorSedScript = ''s/.*-(v[_0-9]+)-devel[.].*/\1/'';
-  versionReferenceCreator = ''$(replaceAllVersionOccurences)'';
-}
diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix
index 62e08d1fa7c0..b6f6ac51ba2a 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256 }:
+{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256, ncurses }:
 with stdenv.lib;
 let
   versionParts = splitString "-" version; # 4.7 2013q3 20130916
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     for f in $(find $out); do
       if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
         patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
-                 --set-rpath $out/lib:${gcc}/lib \
+                 --set-rpath $out/lib:${gcc}/lib:${ncurses}/lib \
                  "$f" || true
       fi
     done
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index c6e3c4caa609..cc2bfd40c926 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,27 +1,25 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint
-, base64Bytestring, binary, blazeHtml, blazeMarkup, boehmgc, Cabal
+, base64Bytestring, binary, blazeHtml, blazeMarkup, boehmgc
 , cheapskate, deepseq, filepath, fingertree, gmp, happy, haskeline
-, languageJava, lens, libffi, llvmGeneral, llvmGeneralPure, mtl
-, network, optparseApplicative, parsers, split, text, time
-, transformers, trifecta, unorderedContainers, utf8String, vector
-, vectorBinaryInstances, xml, zlib
+, lens, libffi, mtl, network, optparseApplicative, parsers, split
+, text, time, transformers, trifecta, unorderedContainers
+, utf8String, vector, vectorBinaryInstances, xml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.14.3";
-  sha256 = "03zppfqjamy4mdwcfx3x1wzxav67ha1zgnynrxhvdqw3zcsrwnlr";
+  version = "0.9.15.1";
+  sha256 = "0r31jcqs9kgknm66v7bbcgj9md7z49sgvn0nhk1dwg8jj2rmfll8";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     annotatedWlPprint ansiTerminal ansiWlPprint base64Bytestring binary
-    blazeHtml blazeMarkup Cabal cheapskate deepseq filepath fingertree
-    haskeline languageJava lens libffi llvmGeneral llvmGeneralPure mtl
-    network optparseApplicative parsers split text time transformers
-    trifecta unorderedContainers utf8String vector
-    vectorBinaryInstances xml zlib
+    blazeHtml blazeMarkup cheapskate deepseq filepath fingertree
+    haskeline lens libffi mtl network optparseApplicative parsers split
+    text time transformers trifecta unorderedContainers utf8String
+    vector vectorBinaryInstances xml zlib
   ];
   buildTools = [ happy ];
   extraLibraries = [ boehmgc gmp ];
@@ -31,6 +29,5 @@ cabal.mkDerivation (self: {
     description = "Functional Programming Language with Dependent Types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ aycanirican ];
   };
 })
diff --git a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
index 0b574670eace..9ba8eaea0629 100644
--- a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "7";
-  patchVersion = "72";
+  patchVersion = "71";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
-  sha256_i686 = "01zl82hnb9pynxw04zaq4745av42cga97cbckcwb8lh752hchxh3";
-  sha256_x86_64 = "13nyx8p27crnnybkzdaiv9l1azap7c8g4na6xasrnjvx3f7467fx";
+  sha256_i686 = "d3c09a35abc0464d8ad70dfe17e02597eb4c5d489ff4d1bcd14088aeb5016424";
+  sha256_x86_64 = "80d5705fc37fc4eabe3cea480e0530ae0436c2c086eb8fc6f65bb21e8594baf8";
   jceName = "UnlimitedJCEPolicyJDK7.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
   sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
diff --git a/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
new file mode 100644
index 000000000000..8b71cb66610b
--- /dev/null
+++ b/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
@@ -0,0 +1,10 @@
+import ./jdk-linux-base.nix {
+  productVersion = "7";
+  patchVersion = "72";
+  downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
+  sha256_i686 = "0376c8a0280752b4389b6cb193d463826c55c821587d0278b7fea665a140f407";
+  sha256_x86_64 = "dd1d438e1b7d4b9bb5ea4659f2103b577d1568da51b53f97b736b3232eeade8e";
+  jceName = "UnlimitedJCEPolicyJDK7.zip";
+  jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
+  sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
index c97d74ec9af3..f51cca0c478f 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "20";
+  patchVersion = "25";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256_i686 = "fa013b3fcbb1308040bf0e75bbd6ef7e8396b547cbc8dd79e3cb8153604bfd06";
-  sha256_x86_64 = "3e717622ae48af5ca7298e7797cb71d4d545238f362741a83e69c097ca055de4";
+  sha256_i686 = "17f396a541db09c732032185f10f9c6eb42ac7b5776814602342de9655b2e0e2";
+  sha256_x86_64 = "057f660799be2307d2eefa694da9d3fce8e165807948f5bcaa04f72845d2f529";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59";
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index 220d3f87fba8..1f38198b30b5 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "6.6.5";
+  version = "6.6.6";
 in
 stdenv.mkDerivation {
   name = "swi-prolog-${version}";
 
   src = fetchurl {
     url = "http://www.swi-prolog.org/download/stable/src/pl-${version}.tar.gz";
-    sha256 = "0lsa90sdnkd286xgm1amwkdhvnrpsz7imfzczrfdaw4arqk4bvkr";
+    sha256 = "0vcrfskm2hyhv30lxr6v261myb815jc3bgmcn1lgsc9g9qkvp04z";
   };
 
   buildInputs = [ gmp readline openssl libjpeg unixODBC libXinerama
diff --git a/pkgs/development/guile-modules/guile-opengl/default.nix b/pkgs/development/guile-modules/guile-opengl/default.nix
new file mode 100644
index 000000000000..4d608f4caa9d
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-opengl/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, guile }:
+
+stdenv.mkDerivation rec {
+  name = "guile-opengl-0.1.0";
+
+  meta = with stdenv.lib; {
+    description = "Guile binding for the OpenGL graphics API";
+    homepage    = "http://gnu.org/s/guile-opengl";
+    license     = licenses.gpl3Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://gnu/guile-opengl/${name}.tar.gz";
+    sha256 = "13qfx4xh8baryxqrv986l848ygd0piqwm6s2s90pxk9c0m9vklim";
+  };
+
+  nativeBuildInputs = [ pkgconfig guile ];
+}
diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix
new file mode 100644
index 000000000000..4f2e100c684a
--- /dev/null
+++ b/pkgs/development/interpreters/eff/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchgit, ocaml, findlib, menhir, which }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast; in
+
+assert versionAtLeast (getVersion ocaml) "3.12";
+
+stdenv.mkDerivation {
+
+  name = "eff-20140928";
+
+  src = fetchgit {
+    url = "https://github.com/matijapretnar/eff.git";
+    rev = "90f884a790fddddb51d4d1d3b7c2edf1e8aabb64";
+    sha256 = "28e389b35e6959072c245c2e79fe305885b1b2d44ff540a02a097e09e9f9698f";
+  };
+
+  buildInputs = [ ocaml findlib menhir which ];
+
+  doCheck = true;
+  checkTarget = "test";
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.eff-lang.org";
+    description = "A functional programming language based on algebraic effects and their handlers";
+    longDescription = ''
+      Eff is a functional language with handlers of not only exceptions,
+      but also of other computational effects such as state or I/O. With
+      handlers, you can simply implement transactions, redirections,
+      backtracking, multi-threading, and much more...
+    '';
+    license = licenses.bsd2;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/interpreters/nix-exec/default.nix b/pkgs/development/interpreters/nix-exec/default.nix
index ed8f373f7f12..66cd199373e1 100644
--- a/pkgs/development/interpreters/nix-exec/default.nix
+++ b/pkgs/development/interpreters/nix-exec/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, nix }: let
-  version = "1.1.0";
+{ stdenv, fetchurl, pkgconfig, nix, git }: let
+  version = "2.0.1";
 in stdenv.mkDerivation {
   name = "nix-exec-${version}";
 
   src = fetchurl {
     url = "https://github.com/shlevy/nix-exec/releases/download/v${version}/nix-exec-${version}.tar.xz";
 
-    sha256 = "0w1dq2svv1l8x18q5syraf80xpyyrcxbrab51cszc3v4m04b4saa";
+    sha256 = "1iyz19c15yw0p5lgfbfh8arja2cy3apx5697cm671j4qzjkws32p";
   };
 
-  buildInputs = [ pkgconfig nix ];
+  buildInputs = [ pkgconfig nix git ];
 
   meta = {
     description = "Run programs defined in nix expressions";
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index c2cd71b999e1..bfa47693de0c 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -4,18 +4,23 @@
 stdenv.mkDerivation rec {
   baseName="pure";
   project="pure-lang";
-  version="0.62";
+  version="0.63";
   name="${baseName}-${version}";
   extension="tar.gz";
 
   src = fetchurl {
     url="https://bitbucket.org/purelang/${project}/downloads/${name}.${extension}";
-    sha256="77df64e8154ef6f8fac66f8bcc471dc8f994862d1ee77b7c98003607757a013b";
+    sha256="33acb2d560b21813f5e856973b493d9cfafba82bd6f539425ce07aa22f84ee29";
   };
 
   buildInputs = [ bison flex makeWrapper ];
   propagatedBuildInputs = [ llvm gmp mpfr readline ];
 
+  configureFlags = [ "--enable-release" ];
+  doCheck = true;
+  checkPhase = ''
+    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${llvm}/lib make check
+  '';
   postInstall = ''
     wrapProgram $out/bin/pure --prefix LD_LIBRARY_PATH : ${llvm}/lib
   '';
@@ -25,6 +30,7 @@ stdenv.mkDerivation rec {
     maintainers = with lib.maintainers;
     [
       raskin
+      asppsa
     ];
     platforms = with lib.platforms;
       linux;
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index c151db8ea18f..bb6dea2a4a3e 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -135,11 +135,6 @@ let
 
       buildPhase =
         ''
-          # Fake the build environment that setup.py expects.
-          ln -s ${python}/include/python*/pyconfig.h .
-          ln -s ${python}/lib/python*/config/Setup Modules/
-          ln -s ${python}/lib/python*/config/Setup.local Modules/
-
           substituteInPlace setup.py --replace 'self.extensions = extensions' \
             'self.extensions = [ext for ext in self.extensions if ext.name in ["${internalName}"]]'
 
diff --git a/pkgs/development/interpreters/ruby/ruby-1.9.3.nix b/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
index e361824bb532..77880870dd95 100644
--- a/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
+++ b/pkgs/development/interpreters/ruby/ruby-1.9.3.nix
@@ -48,6 +48,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Fix a build failure on systems with nix store optimisation.
+  # (The build process attempted to copy file a overwriting file b, where a and
+  # b are hard-linked, which results in cp returning a non-zero exit code.)
+  # https://github.com/NixOS/nixpkgs/issues/4266
+  postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
   patches = [
     ./ruby19-parallel-install.patch
     ./bitperfect-rdoc.patch
diff --git a/pkgs/development/interpreters/ruby/ruby-2.0.0.nix b/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
index 22b13717cfcb..4c3344f7672e 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.0.0.nix
@@ -5,6 +5,7 @@
 , ncurses, readline, cursesSupport ? false
 , groff, docSupport ? false
 , libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
 , ruby_2_0_0, autoreconfHook, bison, useRailsExpress ? true
 }:
 
@@ -34,6 +35,7 @@ stdenv.mkDerivation rec {
   NROFF = "${groff}/bin/nroff";
 
   buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
     ++ (ops cursesSupport [ ncurses readline ] )
     ++ (op docSupport groff )
     ++ (op zlibSupport zlib)
@@ -48,6 +50,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Fix a build failure on systems with nix store optimisation.
+  # (The build process attempted to copy file a overwriting file b, where a and
+  # b are hard-linked, which results in cp returning a non-zero exit code.)
+  # https://github.com/NixOS/nixpkgs/issues/4266
+  postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
   patches = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.0.0/p481/01-zero-broken-tests.patch"
     "${patchSet}/patches/ruby/2.0.0/p481/02-railsexpress-gc.patch"
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.0.nix b/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
index fd0c278133bc..afe4cbef79d4 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.0.nix
@@ -5,6 +5,7 @@
 , ncurses, readline, cursesSupport ? false
 , groff, docSupport ? false
 , libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
 , ruby_2_1_0, autoreconfHook, bison, useRailsExpress ? true
 }:
 
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
   NROFF = "${groff}/bin/nroff";
 
   buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
     ++ (ops cursesSupport [ ncurses readline ] )
     ++ (op docSupport groff )
     ++ (op zlibSupport zlib)
@@ -49,6 +51,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Fix a build failure on systems with nix store optimisation.
+  # (The build process attempted to copy file a overwriting file b, where a and
+  # b are hard-linked, which results in cp returning a non-zero exit code.)
+  # https://github.com/NixOS/nixpkgs/issues/4266
+  postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
   patches = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.1.0/railsexpress/01-current-2.1.1-fixes.patch"
     "${patchSet}/patches/ruby/2.1.0/railsexpress/02-zero-broken-tests.patch"
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.1.nix b/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
index c60a6cb313d4..d87526b1570c 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.1.nix
@@ -5,6 +5,7 @@
 , ncurses, readline, cursesSupport ? false
 , groff, docSupport ? false
 , libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
 , ruby_2_1_1, autoreconfHook, bison, useRailsExpress ? true
 }:
 
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
   NROFF = "${groff}/bin/nroff";
 
   buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
     ++ (ops cursesSupport [ ncurses readline ] )
     ++ (op docSupport groff )
     ++ (op zlibSupport zlib)
@@ -49,6 +51,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Fix a build failure on systems with nix store optimisation.
+  # (The build process attempted to copy file a overwriting file b, where a and
+  # b are hard-linked, which results in cp returning a non-zero exit code.)
+  # https://github.com/NixOS/nixpkgs/issues/4266
+  postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
   patches = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.1.0/railsexpress/01-zero-broken-tests.patch"
     "${patchSet}/patches/ruby/2.1.0/railsexpress/02-improve-gc-stats.patch"
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
index 1738606bf140..e2ee74fac2df 100644
--- a/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.2.nix
@@ -5,6 +5,7 @@
 , ncurses, readline, cursesSupport ? false
 , groff, docSupport ? false
 , libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
 , ruby_2_1_2, autoreconfHook, bison, useRailsExpress ? true
 }:
 
@@ -35,6 +36,7 @@ stdenv.mkDerivation rec {
   NROFF = "${groff}/bin/nroff";
 
   buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
     ++ (ops cursesSupport [ ncurses readline ] )
     ++ (op docSupport groff )
     ++ (op zlibSupport zlib)
@@ -49,6 +51,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Fix a build failure on systems with nix store optimisation.
+  # (The build process attempted to copy file a overwriting file b, where a and
+  # b are hard-linked, which results in cp returning a non-zero exit code.)
+  # https://github.com/NixOS/nixpkgs/issues/4266
+  postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
   patches = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.1.2/railsexpress/01-zero-broken-tests.patch"
     "${patchSet}/patches/ruby/2.1.2/railsexpress/02-improve-gc-stats.patch"
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.3.nix b/pkgs/development/interpreters/ruby/ruby-2.1.3.nix
new file mode 100644
index 000000000000..0f8b25123220
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.3.nix
@@ -0,0 +1,114 @@
+{ stdenv, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? false
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_1_3, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_3.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_3";
+    sha256 = "1pnam9jry2l2mbji3gvrbb7jyisxl99xjz6l1qrccwnfinxxbmhv";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.3.tar.gz";
+    sha256 = "00bz6jcbxgnllplk4b9lnyc3w8yd3pz5rn11rmca1s8cn6vvw608";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
+    ++ (ops cursesSupport [ ncurses readline ])
+    ++ (op docSupport groff)
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # support is not enabled, so add readline to the build inputs if curses
+    # support is disabled (if it's enabled, we already have it) and we're
+    # running on darwin
+    ++ (op (!cursesSupport && stdenv.isDarwin) readline);
+
+  enableParallelBuilding = true;
+
+  # Fix a build failure on systems with nix store optimisation.
+  # (The build process attempted to copy file a overwriting file b, where a and
+  # b are hard-linked, which results in cp returning a non-zero exit code.)
+  # https://github.com/NixOS/nixpkgs/issues/4266
+  postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/05-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/06-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/07-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.3/railsexpress/08-funny-falcon-method-cache.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '';
+
+  meta = {
+    license = "Ruby";
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "3";
+    patchLevel = "0";
+    libPath = "lib/ruby/${majorVersion}.${minorVersion}";
+    gemPath = "lib/ruby/gems/${majorVersion}.${minorVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/rvm-patchsets.nix b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
index dca74dca62ed..da1328fd948c 100644
--- a/pkgs/development/interpreters/ruby/rvm-patchsets.nix
+++ b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
@@ -3,6 +3,6 @@
 fetchFromGitHub {
   owner  = "skaes";
   repo   = "rvm-patchsets";
-  rev    = "13d535bbc060b1b8166673932fe7098abf4216b8";
-  sha256 = "0hf1m2bsdgdnyi4427gknvpd8cfribw77lf2k980flb1z9g5d7ib";
+  rev    = "fb6b427f71e756900184d1b6eaeb10245ec8405a";
+  sha256 = "10k7p3nymj7y5a0az8v1aks2w5w190zfqv9kiiafcx0a3qfswnck";
 }
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index 7aca033c147b..22a67b13e0b0 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libogg, libvorbis, enableNativeMidi ? false, fluidsynth ? null }:
+{ stdenv, fetchurl, SDL, libogg, libvorbis, smpeg, enableNativeMidi ? false, fluidsynth ? null }:
 
 stdenv.mkDerivation rec {
   pname   = "SDL_mixer";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n";
   };
 
-  buildInputs = [SDL libogg libvorbis fluidsynth];
+  buildInputs = [SDL libogg libvorbis fluidsynth smpeg];
 
   configureFlags = "--disable-music-ogg-shared" + stdenv.lib.optionalString enableNativeMidi " --enable-music-native-midi-gpl";
 
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index 7914dac49334..463386ddfe21 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "accountsservice-${version}";
-  version = "0.6.38";
+  version = "0.6.39";
   
   src = fetchurl {
     url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
-    sha256 = "1ad32qv57rx9yzrvzsw0d0lh0j7adlh664lachv621wb8ya22crn";
+    sha256 = "0p9kfnr1wvg1qwi6zsgxw031j1wqh41137xl0mv4rm6x2zas6f7r";
   };
 
   buildInputs = [ pkgconfig glib intltool libtool makeWrapper
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index 734bcc0797cc..4ac6dc58ba93 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     homepage = http://aspell.net/;
     license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [ ];
+    platforms = with stdenv.lib.platforms; all;
   };
 }
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 547e9e813be1..3980c5b61b31 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl
+, odbcSupport ? false, unixODBC ? null }:
+
+assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation {
   name = "freetds-0.91";
@@ -8,6 +11,10 @@ stdenv.mkDerivation {
     sha256 = "0r946axzxs0czsmr7283w7vmk5jx3jnxxc32d2ncxsrsh2yli0ba";
   };
 
+  buildInputs = stdenv.lib.optional odbcSupport [ unixODBC ];
+
+  configureFlags = stdenv.lib.optionalString odbcSupport "--with-odbc=${unixODBC}";
+
   doDist = true;
 
   distPhase = ''
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 3f20147d0e97..0cd8e19cee92 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, pkgconfig, intltool, libtool
 , glib, dbus, udev, udisks2, libgcrypt
 , libgphoto2, avahi, libarchive, fuse, libcdio
-, libxml2, libxslt, docbook_xsl
-, lightWeight ? true, gnome, samba, libgnome_keyring, gconf, makeWrapper }:
+, libxml2, libxslt, docbook_xsl, samba
+, gnomeSupport ? false, gnome,libgnome_keyring, gconf, makeWrapper }:
 
 let
   ver_maj = "1.18";
@@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ makeWrapper glib dbus.libs udev udisks2 libgcrypt
       libgphoto2 avahi libarchive fuse libcdio
-      libxml2 libxslt docbook_xsl
+      libxml2 libxslt docbook_xsl samba
       # ToDo: a ligther version of libsoup to have FTP/HTTP support?
-    ] ++ stdenv.lib.optionals (!lightWeight) (with gnome; [
-      gtk libsoup libgnome_keyring gconf samba
+    ] ++ stdenv.lib.optionals gnomeSupport (with gnome; [
+      gtk libsoup libgnome_keyring gconf
       # ToDo: not working and probably useless until gnome3 from x-updates
     ]);
 
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "Virtual Filesystem support library" + stdenv.lib.optionalString lightWeight " (light-weight)";
+    description = "Virtual Filesystem support library" + stdenv.lib.optionalString gnomeSupport " (full GNOME support)";
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/haskell/HandsomeSoup/default.nix b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix
index ab2c56516c98..6fa5e7e91140 100644
--- a/pkgs/development/libraries/haskell/HandsomeSoup/default.nix
+++ b/pkgs/development/libraries/haskell/HandsomeSoup/default.nix
@@ -6,14 +6,15 @@
 
 cabal.mkDerivation (self: {
   pname = "HandsomeSoup";
-  version = "0.3.3";
-  sha256 = "0g2b3mw0asam005kz77zm3bsrjaa7q3n6wdj3ahr7hppivsdwizk";
+  version = "0.3.4";
+  sha256 = "0xpimys8pb0kzqnfxxf04dbxfmcrry5pzgmagyydcrmafacg0vjb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     HTTP hxt hxtHttp MaybeT mtl network networkUri parsec transformers
   ];
   testDepends = [ hspec hxt ];
+  jailbreak = true;
   doCheck = false;
   meta = {
     homepage = "https://github.com/egonSchiele/HandsomeSoup";
diff --git a/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix b/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix
index f3d3e3a09b9e..2aad877f6880 100644
--- a/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix
+++ b/pkgs/development/libraries/haskell/HaskellNet-SSL/default.nix
@@ -4,14 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "HaskellNet-SSL";
-  version = "0.2.5.1";
-  sha256 = "0qkc0bw0p201wi3v8ck348j8m32x9dn8lkf6r787sd1bxhrsd2z7";
+  version = "0.2.5.2";
+  sha256 = "0jhm43zd6jvhbahk4ki29ydg02qnjj4mw823rckqxk6f91q00qlp";
   buildDepends = [ connection dataDefault HaskellNet network tls ];
   meta = {
     homepage = "https://github.com/dpwright/HaskellNet-SSL";
     description = "Helpers to connect to SSL/TLS mail servers with HaskellNet";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/ObjectName/default.nix b/pkgs/development/libraries/haskell/ObjectName/default.nix
index 785caabadd2e..e2fed3f2191d 100644
--- a/pkgs/development/libraries/haskell/ObjectName/default.nix
+++ b/pkgs/development/libraries/haskell/ObjectName/default.nix
@@ -4,10 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "ObjectName";
-  version = "1.0.0.0";
-  sha256 = "0yr1aa0ail2h9qsq2bslcwwq6cxl2lzajmc1laj19r7ks62p32rm";
+  version = "1.0.1.0";
+  sha256 = "1aw221i1cisk7jpgchs16f3br0ddllh0n0idhw5v6n6ysv4vv155";
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "https://github.com/haskell-opengl/ObjectName";
     description = "Explicitly handled object names";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
index a0ae3c84fad9..f8bcd405d0ea 100644
--- a/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
+++ b/pkgs/development/libraries/haskell/OpenGL/2.6.0.1.nix
@@ -10,11 +10,13 @@ cabal.mkDerivation (self: {
   sha256 = "1fpabhpjfl1bj0dhlj2sg8zsn3l6py4zw1arplwmqalz3xbkkgdi";
   buildDepends = [ GLURaw ObjectName OpenGLRaw StateVar Tensor ];
   extraLibraries = [ libX11 mesa ];
+  jailbreak = true;
   meta = {
     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;
     hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/StateVar/default.nix b/pkgs/development/libraries/haskell/StateVar/default.nix
index 03d21bbba3cc..b4bd9b44e3f8 100644
--- a/pkgs/development/libraries/haskell/StateVar/default.nix
+++ b/pkgs/development/libraries/haskell/StateVar/default.nix
@@ -4,10 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "StateVar";
-  version = "1.0.0.0";
-  sha256 = "1c1b6a6nn1cdnba08zzp0645wl482h7yaa69zw2l3wwyyyccjic4";
+  version = "1.0.1.0";
+  sha256 = "02n2sxxkr0ydc77dc3amwp5jrw289d2s2z55rhrmhxxg1c7lp5js";
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "https://github.com/haskell-opengl/StateVar";
     description = "State variables";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/Tensor/default.nix b/pkgs/development/libraries/haskell/Tensor/default.nix
index 55c110b75218..8b5869caae9e 100644
--- a/pkgs/development/libraries/haskell/Tensor/default.nix
+++ b/pkgs/development/libraries/haskell/Tensor/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "Tensor";
-  version = "1.0.0.1";
-  sha256 = "10arhk5gkn5jxpb53r80bblpk0afdax1fc2mik40hj5g5g960cp9";
+  version = "1.1.0.0";
+  sha256 = "1vn409805p5b47v5mf7rk0gypqag5bn1pzlsmsp9blr3jyj6dgph";
   meta = {
-    homepage = "http://www.haskell.org/HOpenGL/";
+    homepage = "https://github.com/haskell-opengl/Tensor";
     description = "Tensor data types";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/acme-lookofdisapproval/default.nix b/pkgs/development/libraries/haskell/acme-lookofdisapproval/default.nix
new file mode 100644
index 000000000000..6b2a9856a90e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/acme-lookofdisapproval/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "acme-lookofdisapproval";
+  version = "0.1";
+  sha256 = "194xvcab14bs3b3nrayxp4z3da60afxa9cmip58mkms5016kwhis";
+  meta = {
+    homepage = "https://github.com/llelf/acme-lookofdisapproval";
+    description = "Express your disapproval";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/ansi-terminal/default.nix b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
index ecacc374e43c..26fbb43ec04f 100644
--- a/pkgs/development/libraries/haskell/ansi-terminal/default.nix
+++ b/pkgs/development/libraries/haskell/ansi-terminal/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ansi-terminal";
-  version = "0.6.1.1";
-  sha256 = "06pdcpp2z7wk9mkr5lzwk64lqhj09c7l1ah4s3vz7zwrdzfaccwi";
+  version = "0.6.2.1";
+  sha256 = "1xmp8wpcyvqys777qpyfx99bhlnvmr7jil7r78j5n6fx3mkkhnln";
   isLibrary = true;
   isExecutable = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/ariadne/default.nix b/pkgs/development/libraries/haskell/ariadne/default.nix
index 50beb4d3e64a..00acc1b12e47 100644
--- a/pkgs/development/libraries/haskell/ariadne/default.nix
+++ b/pkgs/development/libraries/haskell/ariadne/default.nix
@@ -1,25 +1,31 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, bert, Cabal, haskellNames, haskellPackages, haskellSrcExts
-, mtl, utf8String
+{ cabal, async, bert, Cabal, dataLens, dataLensFd, dataLensTemplate
+, filepath, haskellNames, haskellPackages, haskellSrcExts, hseCpp
+, hslogger, mtl, stm, tagged, tasty, tastyHunit, transformers
+, utf8String
 }:
 
 cabal.mkDerivation (self: {
   pname = "ariadne";
-  version = "0.1.2.1";
-  sha256 = "1gx6jrv3s86h02cjx8pvqyklp445ljiysx29hg39qykyhi1q5a3z";
+  version = "0.1.2.2";
+  sha256 = "0dp2xs1g9cw27gwvw2qzyv1qk3z97mg8ab6rfx967r7ad76lkzx2";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    bert Cabal haskellNames haskellPackages haskellSrcExts mtl
-    utf8String
+    async bert Cabal dataLens dataLensFd dataLensTemplate filepath
+    haskellNames haskellPackages haskellSrcExts hseCpp hslogger mtl stm
+    tagged transformers utf8String
   ];
+  testDepends = [
+    bert filepath haskellSrcExts tasty tastyHunit utf8String
+  ];
+  doCheck = false;
   meta = {
     homepage = "https://github.com/feuerbach/ariadne";
     description = "Go-to-definition for Haskell";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/bitset/default.nix b/pkgs/development/libraries/haskell/bitset/default.nix
new file mode 100644
index 000000000000..dfb71a978cb3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bitset/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, deepseq, gmp, QuickCheck, tasty, tastyQuickcheck }:
+
+cabal.mkDerivation (self: {
+  pname = "bitset";
+  version = "1.4.8";
+  sha256 = "0h912i3wb6v8sx0c4mlp0j65l3yhpdsk3my8zhif2jls2sxns988";
+  buildDepends = [ deepseq ];
+  testDepends = [ QuickCheck tasty tastyQuickcheck ];
+  extraLibraries = [ gmp ];
+  doCheck = false;
+  meta = {
+    description = "A space-efficient set data structure";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cipher-aes/default.nix b/pkgs/development/libraries/haskell/cipher-aes/default.nix
index 7edfe750d373..32c4b878cff0 100644
--- a/pkgs/development/libraries/haskell/cipher-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cipher-aes/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cipher-aes";
-  version = "0.2.8";
-  sha256 = "13hg8gxhs7hmni72kp14hmhvfv1kj7fnl83i72bz3aq15vx3z61z";
+  version = "0.2.9";
+  sha256 = "1nkrh8mrrh14zfhjz0lfidw0hw9c70hap9w24rvb14zgfnnasnlq";
   buildDepends = [ byteable cryptoCipherTypes securemem ];
   testDepends = [
     byteable cryptoCipherTests cryptoCipherTypes QuickCheck
diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix
index 1bcdd8f25e7e..4c9038c05cac 100644
--- a/pkgs/development/libraries/haskell/conduit-extra/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit-extra";
-  version = "1.1.4";
-  sha256 = "117mzy0qm8w2kzjcshcwcfbx01ybbhn63vdgzllc7cb9x4cj2ibv";
+  version = "1.1.4.1";
+  sha256 = "18q2d9ga49gldw4i8a5vnncsr712b21ik0160gdw3czqilvf8nbr";
   buildDepends = [
     attoparsec blazeBuilder conduit filepath monadControl network
     primitive resourcet stm streamingCommons text transformers
diff --git a/pkgs/development/libraries/haskell/cprng-aes/default.nix b/pkgs/development/libraries/haskell/cprng-aes/default.nix
index 64d15480ab87..4daf0b00cae1 100644
--- a/pkgs/development/libraries/haskell/cprng-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cprng-aes/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, byteable, cipherAes, cryptoRandom, random }:
+{ cabal, byteable, cipherAes, cryptoRandom }:
 
 cabal.mkDerivation (self: {
   pname = "cprng-aes";
-  version = "0.5.2";
-  sha256 = "1nf8dd83ywriq2ynv48f2s5lvc9s3srq4j5vbspmf0kc74kmq2pf";
-  buildDepends = [ byteable cipherAes cryptoRandom random ];
+  version = "0.6.0";
+  sha256 = "0d6m6mjkwvkg1cqq3q3hc64hp445kbcdf12lwm6k2scrpd2r7bhq";
+  buildDepends = [ byteable cipherAes cryptoRandom ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cprng-aes";
     description = "Crypto Pseudo Random Number Generator using AES in counter mode";
diff --git a/pkgs/development/libraries/haskell/data-lens-fd/default.nix b/pkgs/development/libraries/haskell/data-lens-fd/default.nix
new file mode 100644
index 000000000000..85935a5ebdad
--- /dev/null
+++ b/pkgs/development/libraries/haskell/data-lens-fd/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, comonad, dataLens, mtl, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "data-lens-fd";
+  version = "2.0.5";
+  sha256 = "0r8cfgn6wx304b5ihmwgsxxjwalb7086wii655mgmb6cn3nirpyk";
+  buildDepends = [ comonad dataLens mtl transformers ];
+  meta = {
+    homepage = "http://github.com/roconnor/data-lens-fd/";
+    description = "Lenses";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/data-lens-template/default.nix b/pkgs/development/libraries/haskell/data-lens-template/default.nix
index 923e11bf2e20..d167e8051cd4 100644
--- a/pkgs/development/libraries/haskell/data-lens-template/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens-template/default.nix
@@ -12,6 +12,5 @@ cabal.mkDerivation (self: {
     description = "Utilities for Data.Lens";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-lens/default.nix b/pkgs/development/libraries/haskell/data-lens/default.nix
index 5fba0b4bde34..b65a41f048ee 100644
--- a/pkgs/development/libraries/haskell/data-lens/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens/default.nix
@@ -7,12 +7,12 @@ cabal.mkDerivation (self: {
   version = "2.10.5";
   sha256 = "11na4wx0f0ihk87d00njwrfc430nb25dkkadv1n47yvcyfc60i90";
   buildDepends = [ comonad semigroupoids transformers ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/roconnor/data-lens/";
     description = "Used to be Haskell 98 Lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/esqueleto/default.nix b/pkgs/development/libraries/haskell/esqueleto/default.nix
index e8d1059b699d..edce093d2d47 100644
--- a/pkgs/development/libraries/haskell/esqueleto/default.nix
+++ b/pkgs/development/libraries/haskell/esqueleto/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "esqueleto";
-  version = "2.1.0";
-  sha256 = "1qkxp12444wgf2hvhj3yw928sbd8y8rxpw90xpi2nx5jw5ws86qc";
+  version = "2.1.1";
+  sha256 = "0nr18wjih1rbkprr7cvacgnk0m05m79l0sd25fihy5fy7sqqh3yw";
   buildDepends = [
     conduit monadLogger persistent resourcet tagged text transformers
     unorderedContainers
diff --git a/pkgs/development/libraries/haskell/extra/default.nix b/pkgs/development/libraries/haskell/extra/default.nix
index b17ea4ecc416..8f419460140b 100644
--- a/pkgs/development/libraries/haskell/extra/default.nix
+++ b/pkgs/development/libraries/haskell/extra/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "extra";
-  version = "0.3.2";
-  sha256 = "0in340mmbgqkafj60pas7dm6bn080nimxk8b9b6xzv0giih6dx66";
+  version = "0.4";
+  sha256 = "1wqhnfm297iwf6l4bkhnlbv4bb54b9y5qig7h5n7fjn88bxgwj1l";
   buildDepends = [ filepath time ];
   testDepends = [ QuickCheck time ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/ghc-vis/default.nix b/pkgs/development/libraries/haskell/ghc-vis/default.nix
index fadc69bae29d..0755ffbe552f 100644
--- a/pkgs/development/libraries/haskell/ghc-vis/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-vis/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-vis";
-  version = "0.7.2.5";
-  sha256 = "15dp34dvcqs3b0np1xpi3s6543svhgmxy1kzggw0rmflmq2whsd8";
+  version = "0.7.2.6";
+  sha256 = "12jyxcqyrqiai0fdfnpvsn1v64is7p8zixi745k29h54i0px1j89";
   buildDepends = [
     cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text
     transformers xdot
diff --git a/pkgs/development/libraries/haskell/gloss-banana/default.nix b/pkgs/development/libraries/haskell/gloss-banana/default.nix
new file mode 100644
index 000000000000..7edbb8649f9a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/gloss-banana/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, gloss, reactiveBanana }:
+
+cabal.mkDerivation (self: {
+  pname = "gloss-banana";
+  version = "0.1.0.4";
+  sha256 = "0zzpdryfcqvxpzv53ymsvkm2nza9ryvzqgf3n89pnvrni91avgj3";
+  buildDepends = [ gloss reactiveBanana ];
+  meta = {
+    homepage = "https://github.com/Twey/gloss-banana";
+    description = "An Interface for gloss in terms of a reactive-banana Behavior";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ twey ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index b5fc3115142d..5ea667542f40 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -11,12 +11,10 @@
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.5.5.0";
-  sha256 = "1igna446dsidlq3f9myclgcdawgvyyjxjk3r3icjra6zgdqd6j4l";
+  version = "4.5.5.1";
+  sha256 = "060wcak242p2gja616bdair4sg2k04s8cld5nlk8p3b6an2isld9";
   isLibrary = true;
   isExecutable = true;
-  patches = [ ./deps.patch ];
-  doCheck = !self.stdenv.isDarwin;
   buildDepends = [
     binary blazeHtml blazeMarkup cmdargs cryptohash dataDefault deepseq
     filepath fsnotify httpConduit httpTypes lrucache mtl network
@@ -28,14 +26,14 @@ cabal.mkDerivation (self: {
     filepath fsnotify httpConduit httpTypes HUnit lrucache mtl network
     networkUri pandoc pandocCiteproc parsec QuickCheck random regexBase
     regexTdfa snapCore snapServer systemFilepath tagsoup testFramework
-    testFrameworkHunit testFrameworkQuickcheck2 text time
-  ] ++ (self.stdenv.lib.optional self.stdenv.isLinux utillinux);
+    testFrameworkHunit testFrameworkQuickcheck2 text time utillinux
+  ];
+  jailbreak = true;
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
     description = "A static website compiler library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
-    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hakyll/deps.patch b/pkgs/development/libraries/haskell/hakyll/deps.patch
deleted file mode 100644
index 873d3159f9ab..000000000000
--- a/pkgs/development/libraries/haskell/hakyll/deps.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/hakyll.cabal.orig	2014-10-16 17:34:22.000000000 -0500
-+++ b/hakyll.cabal	2014-10-16 17:34:30.000000000 -0500
-@@ -163,7 +163,7 @@
-     pandoc-citeproc >= 0.4    && < 0.5,
-     parsec          >= 3.0    && < 3.2,
-     process         >= 1.0    && < 1.3,
--    random          >= 1.0    && < 1.1,
-+    random          >= 1.0    && < 1.2,
-     regex-base      >= 0.93   && < 0.94,
-     regex-tdfa      >= 1.1    && < 1.3,
-     tagsoup         >= 0.13.1 && < 0.14,
-@@ -250,7 +250,7 @@
-     pandoc-citeproc >= 0.4    && < 0.5,
-     parsec          >= 3.0    && < 3.2,
-     process         >= 1.0    && < 1.3,
--    random          >= 1.0    && < 1.1,
-+    random          >= 1.0    && < 1.2,
-     regex-base      >= 0.93   && < 0.94,
-     regex-tdfa      >= 1.1    && < 1.3,
-     tagsoup         >= 0.13.1 && < 0.14,
diff --git a/pkgs/development/libraries/haskell/haste-compiler/default.nix b/pkgs/development/libraries/haskell/haste-compiler/default.nix
index a6d9c6f83715..f2cf3d24f877 100644
--- a/pkgs/development/libraries/haskell/haste-compiler/default.nix
+++ b/pkgs/development/libraries/haskell/haste-compiler/default.nix
@@ -2,23 +2,25 @@
 
 { cabal, binary, blazeBuilder, bzlib, dataBinaryIeee754
 , dataDefault, either, filepath, ghcPaths, HTTP, monadsTf, mtl
-, network, random, shellmate, systemFileio, tar, transformers
-, utf8String, websockets
+, network, networkUri, random, shellmate, systemFileio, tar
+, transformers, utf8String, websockets
 }:
 
 cabal.mkDerivation (self: {
   pname = "haste-compiler";
-  version = "0.4.2";
-  sha256 = "0agbd21c7mgzxyg6lwjl3n8w2r7xcrv3811y0x86rg7q1m7z730m";
+  version = "0.4.3";
+  sha256 = "1wkb6a1jwmpjr0jlz5fjq652jz6a6agg0a5pfazyfpdznvd4mm62";
   isLibrary = true;
   isExecutable = true;
+  noHaddock = true;
   buildDepends = [
     binary blazeBuilder bzlib dataBinaryIeee754 dataDefault either
-    filepath ghcPaths HTTP monadsTf mtl network random shellmate
-    systemFileio tar transformers utf8String websockets
+    filepath ghcPaths HTTP monadsTf mtl network networkUri random
+    shellmate systemFileio tar transformers utf8String websockets
   ];
+  configureFlags = "-fportable";
   meta = {
-    homepage = "http://github.com/valderman/haste-compiler";
+    homepage = "http://haste-lang.org/";
     description = "Haskell To ECMAScript compiler";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/hmatrix-special/default.nix b/pkgs/development/libraries/haskell/hmatrix-special/default.nix
index 4a2153f173e8..df309446c3ca 100644
--- a/pkgs/development/libraries/haskell/hmatrix-special/default.nix
+++ b/pkgs/development/libraries/haskell/hmatrix-special/default.nix
@@ -1,18 +1,17 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, hmatrix }:
+{ cabal, gsl, hmatrix }:
 
 cabal.mkDerivation (self: {
   pname = "hmatrix-special";
   version = "0.2.0";
   sha256 = "0lp8mvagbzayq3r08wgk498n6d9vgb1skb8wzrzi5a1fc5j8m0wj";
   buildDepends = [ hmatrix ];
+  extraLibraries = [ gsl ];
   meta = {
     homepage = "http://perception.inf.um.es/hmatrix";
     description = "Interface to GSL special functions";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hosc/default.nix b/pkgs/development/libraries/haskell/hosc/default.nix
new file mode 100644
index 000000000000..2ad4d6210e2b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hosc/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, blazeBuilder, dataBinaryIeee754, network
+, QuickCheck, testFramework, testFrameworkQuickcheck2, time
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hosc";
+  version = "0.15";
+  sha256 = "1yp25n159p69r32y3x7iwc55l5q9qaamj2vyl1473x8ras5afdcf";
+  buildDepends = [
+    binary blazeBuilder dataBinaryIeee754 network time transformers
+  ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2
+  ];
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hosc";
+    description = "Haskell Open Sound Control";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-db/default.nix b/pkgs/development/libraries/haskell/hsc3-db/default.nix
new file mode 100644
index 000000000000..13a32c528633
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-db/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hsc3, safe }:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-db";
+  version = "0.15";
+  sha256 = "0sj3hq0d8dl4m6fn75lvyr78sg283p6y13lg8yi2yrgz74kn4zbl";
+  buildDepends = [ hsc3 safe ];
+  noHaddock = true;
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hsc3-db";
+    description = "Haskell SuperCollider Unit Generator Database";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-dot/default.nix b/pkgs/development/libraries/haskell/hsc3-dot/default.nix
new file mode 100644
index 000000000000..7423525e46fb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-dot/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, hsc3 }:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-dot";
+  version = "0.15";
+  sha256 = "1ck2g15zw23smry1xvn9ida8ln57vnvkxvr3khhp5didwisgm90m";
+  buildDepends = [ filepath hsc3 ];
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hsc3-dot";
+    description = "haskell supercollider graph drawing";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-lang/default.nix b/pkgs/development/libraries/haskell/hsc3-lang/default.nix
new file mode 100644
index 000000000000..dd12067d45e6
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-lang/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, dataDefault, dataOrdlist, dlist, hashable
+, hmatrixSpecial, hosc, hsc3, MonadRandom, random, randomShuffle
+, split, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-lang";
+  version = "0.15";
+  sha256 = "09qn9kb8h40cwhnjf4pl70i2vi7cn4pa4wkdwjbn07hrdpvxgihf";
+  buildDepends = [
+    bifunctors dataDefault dataOrdlist dlist hashable hmatrixSpecial
+    hosc hsc3 MonadRandom random randomShuffle split transformers
+    vector
+  ];
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hsc3-lang";
+    description = "Haskell SuperCollider Language";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3-process/default.nix b/pkgs/development/libraries/haskell/hsc3-process/default.nix
new file mode 100644
index 000000000000..6b81f64b03dd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3-process/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, filepath, hosc, hsc3, time, timeCompat
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3-process";
+  version = "0.10.0";
+  sha256 = "1h769akpd5gsmmlzmhya3dh56rhpf4fkj0vl6zngahc5hl4s7qxc";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    dataDefault filepath hosc hsc3 time timeCompat transformers
+  ];
+  meta = {
+    homepage = "https://github.com/kaoskorobase/hsc3-process";
+    description = "Create and control scsynth processes";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hsc3/default.nix b/pkgs/development/libraries/haskell/hsc3/default.nix
new file mode 100644
index 000000000000..6e05c01220ea
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hsc3/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, dataDefault, dataOrdlist, filepath, hashable, hosc
+, network, random, safe, split, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hsc3";
+  version = "0.15";
+  sha256 = "1rmxl1wcly74bjkw79zw9ydmiclk5716w75b4nz8xkqraijiafrg";
+  buildDepends = [
+    binary dataDefault dataOrdlist filepath hashable hosc network
+    random safe split transformers
+  ];
+  meta = {
+    homepage = "http://rd.slavepianos.org/t/hsc3";
+    description = "Haskell SuperCollider";
+    license = "GPL";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index 5f95b1fd1f95..ffb01a4a48d0 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "2.1.4.5";
-  sha256 = "0damsk83j52ndciybxiss0whd486i10ibawxj70z1c0h78f9wwrs";
+  version = "2.1.4.7";
+  sha256 = "1fr8vxv2xidysls9g8zh04qddg9s6i9vs1xr4zkwr6fw750547n3";
   buildDepends = [
     conduit httpClient httpClientTls httpTypes liftedBase monadControl
     mtl resourcet transformers
diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix
index 532ef28d9b77..f20b20f71b7f 100644
--- a/pkgs/development/libraries/haskell/mime-mail/default.nix
+++ b/pkgs/development/libraries/haskell/mime-mail/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mime-mail";
-  version = "0.4.5.2";
-  sha256 = "0s5fj20n3lc2hn1mqpsvai63pgrl7vhqv26psdzqdwl70w9c04zf";
+  version = "0.4.6";
+  sha256 = "051mqpzypg4r6rd06qb75pl3nq9p68r1sl73r0pwl1imcp158aw6";
   buildDepends = [
     base64Bytestring blazeBuilder filepath random text
   ];
diff --git a/pkgs/development/libraries/haskell/network-carbon/default.nix b/pkgs/development/libraries/haskell/network-carbon/default.nix
index 447e0590bc05..82d6c47844d7 100644
--- a/pkgs/development/libraries/haskell/network-carbon/default.nix
+++ b/pkgs/development/libraries/haskell/network-carbon/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "network-carbon";
-  version = "1.0.1";
-  sha256 = "1q3b7vw80yw6fkmpwgazy8ikhbwjmmqmm4fry8c9f8ckkpzahj2b";
+  version = "1.0.2";
+  sha256 = "0r9riydwvmn8v9iih475agl4idb3z6v3djmn3pjlda28g3p0zw9h";
   buildDepends = [ network text time vector ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix b/pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix
deleted file mode 100644
index 4660e7f37ba8..000000000000
--- a/pkgs/development/libraries/haskell/optparse-applicative/0.9.1.1.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, ansiWlPprint, HUnit, QuickCheck, testFramework
-, testFrameworkHunit, testFrameworkQuickcheck2
-, testFrameworkThPrime, transformers, transformersCompat
-}:
-
-cabal.mkDerivation (self: {
-  pname = "optparse-applicative";
-  version = "0.9.1.1";
-  sha256 = "1fy8839y9dg2a5pj7abjiqkm3qcz8faip32q3x1zi5mrz4v3q2g6";
-  buildDepends = [ ansiWlPprint transformers transformersCompat ];
-  testDepends = [
-    HUnit QuickCheck testFramework testFrameworkHunit
-    testFrameworkQuickcheck2 testFrameworkThPrime
-  ];
-  jailbreak = true;
-  meta = {
-    homepage = "https://github.com/pcapriotti/optparse-applicative";
-    description = "Utilities and combinators for parsing command line options";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/pipes-shell/default.nix b/pkgs/development/libraries/haskell/pipes-shell/default.nix
new file mode 100644
index 000000000000..5a27c099597e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pipes-shell/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, async, hspec, pipes, pipesBytestring, pipesSafe, stm
+, stmChans, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "pipes-shell";
+  version = "0.1.2";
+  sha256 = "18ikjkppds7k9fgjn39qvdp8avj8vv3csiqcrhgrpfqy1d0hgrlw";
+  buildDepends = [
+    async pipes pipesBytestring pipesSafe stm stmChans text
+  ];
+  testDepends = [
+    async hspec pipes pipesBytestring pipesSafe stm stmChans text
+  ];
+  doCheck = false;
+  meta = {
+    description = "Create proper Pipes from System.Process";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix b/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
index 3b030735bbb2..e7df6ac2075e 100644
--- a/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
+++ b/pkgs/development/libraries/haskell/protocol-buffers-descriptor/default.nix
@@ -4,14 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "protocol-buffers-descriptor";
-  version = "2.0.14";
-  sha256 = "0xbpmm9a4fg42c9zbarawqdl4klfjjc233ilbsibb7asa3v7zmj3";
+  version = "2.0.17";
+  sha256 = "0jl041645d83iqqiw891d2k760jql6djvi2mmjh9lnmp48lwjy3p";
   buildDepends = [ protocolBuffers ];
   meta = {
     homepage = "http://code.haskell.org/protocol-buffers/";
     description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/protocol-buffers/default.nix b/pkgs/development/libraries/haskell/protocol-buffers/default.nix
index a2cb0efcf74d..d3d81a146580 100644
--- a/pkgs/development/libraries/haskell/protocol-buffers/default.nix
+++ b/pkgs/development/libraries/haskell/protocol-buffers/default.nix
@@ -1,18 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, binary, filepath, mtl, syb, utf8String }:
+{ cabal, binary, filepath, mtl, parsec, syb, utf8String }:
 
 cabal.mkDerivation (self: {
   pname = "protocol-buffers";
-  version = "2.0.14";
-  sha256 = "1wihnpvc7kjq345a6v702s42gmrqd9cjm50safc7kigyvhr5vm1i";
-  buildDepends = [ binary filepath mtl syb utf8String ];
+  version = "2.0.17";
+  sha256 = "12aky44ssgdj6vsjg0yvr8350cym7n6kn7gdaax0nxzpfxrjfy1v";
+  buildDepends = [ binary filepath mtl parsec syb utf8String ];
   meta = {
     homepage = "http://code.haskell.org/protocol-buffers/";
     description = "Parse Google Protocol Buffer specifications";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/pure-cdb/default.nix b/pkgs/development/libraries/haskell/pure-cdb/default.nix
index 871825db1218..b173a619cfd4 100644
--- a/pkgs/development/libraries/haskell/pure-cdb/default.nix
+++ b/pkgs/development/libraries/haskell/pure-cdb/default.nix
@@ -4,11 +4,10 @@
 
 cabal.mkDerivation (self: {
   pname = "pure-cdb";
-  version = "0.1";
-  sha256 = "0fxfhd73h5frnjpk617lspwf17wldsrd5a5cxar5y3a8wi0i4b8c";
+  version = "0.1.1";
+  sha256 = "1yjh7h02hkhx2vgvn7qfmfd3bp12ibpkf4znybsd2bfh0i1pzn0n";
   buildDepends = [ binary mtl vector ];
   testDepends = [ mtl testSimple Unixutils vector ];
-  doCheck = false;
   meta = {
     homepage = "https://github.com/bosu/pure-cdb";
     description = "Another pure-haskell CDB (Constant Database) implementation";
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
index 09cfe0c78aba..f6c27985c9d5 100644
--- a/pkgs/development/libraries/haskell/purescript/default.nix
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "purescript";
-  version = "0.5.6.3";
-  sha256 = "0f9jzv886dg9aphwaqgx17xk2j6j4v2n12y3yhkbs46icmlr8zxp";
+  version = "0.5.7.1";
+  sha256 = "1xjihv7lq5b2cw44jhxwzr21749gayqfiqjkryz6z9p820hg1zzv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/rawStringsQq/default.nix b/pkgs/development/libraries/haskell/rawStringsQq/default.nix
new file mode 100644
index 000000000000..ca5c22489583
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rawStringsQq/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "raw-strings-qq";
+  version = "1.0.2";
+  sha256 = "0wnifa97am2s9bqixlidw3nf8w14h2qkg3sn1rxzgvc3fws57jg9";
+  meta = {
+    homepage = "https://github.com/23Skidoo/raw-strings-qq";
+    description = "Raw string literals for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/resource-pool/default.nix b/pkgs/development/libraries/haskell/resource-pool/default.nix
index bbd6f1b782ee..cb43b927c2e8 100644
--- a/pkgs/development/libraries/haskell/resource-pool/default.nix
+++ b/pkgs/development/libraries/haskell/resource-pool/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resource-pool";
-  version = "0.2.3.0";
-  sha256 = "15igbvnqs6ig1k30l3jngyi60ay7k15mwgza5smv8zbpx86vb1mh";
+  version = "0.2.3.1";
+  sha256 = "02fpw5jfzcdhijx8mfpb6j4c8sxl36f04i2nx3cbivh9yhbgqr92";
   buildDepends = [
     hashable monadControl stm time transformers transformersBase vector
   ];
diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix
index 1da4832cdc31..7bb7a9e15f5a 100644
--- a/pkgs/development/libraries/haskell/rest-core/default.nix
+++ b/pkgs/development/libraries/haskell/rest-core/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-core";
-  version = "0.33";
-  sha256 = "05m8cvkm0nsi1yixk0dj5j6nvzzzs07i0pmyaj0ww6v5vkmcgmfb";
+  version = "0.33.1";
+  sha256 = "0vrxdfnv53f65nifvvjj961h9nj7dlbfwk5y21zy9cl5w0dbg5yy";
   buildDepends = [
     aeson aesonUtils either errors fclabels hxt hxtPickleUtils
     jsonSchema mtl multipart random restStringmap restTypes safe split
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
index 4a75f3508faf..35d7e15da292 100644
--- a/pkgs/development/libraries/haskell/rest-gen/default.nix
+++ b/pkgs/development/libraries/haskell/rest-gen/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-gen";
-  version = "0.16.0.3";
-  sha256 = "1gl0dhl2dajlgms8f297x1763dqbrp9cszfq2qggzcdn896zxxgn";
+  version = "0.16.0.4";
+  sha256 = "1qh8sg4klkssxwqyi7r5hzjzg45csxy7f7cznv27hmrpji28z2x2";
   buildDepends = [
     aeson blazeHtml Cabal codeBuilder fclabels filepath hashable
     haskellSrcExts hslogger HStringTemplate hxt jsonSchema restCore
diff --git a/pkgs/development/libraries/haskell/rest-types/default.nix b/pkgs/development/libraries/haskell/rest-types/default.nix
index 65e221b43cd9..23a112730baa 100644
--- a/pkgs/development/libraries/haskell/rest-types/default.nix
+++ b/pkgs/development/libraries/haskell/rest-types/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "rest-types";
-  version = "1.11";
-  sha256 = "16ki6sqi88s8ykwdhsk0xparvv90zzj4jidk0mhsd2wi3l4w1l6i";
+  version = "1.11.1";
+  sha256 = "1dqjch3h3hv4s1v0wkbd4spn26f068bqpsz6mr0vdacdbhjwnigg";
   buildDepends = [
     aeson genericAeson hxt jsonSchema mtl regular regularXmlpickler
     restStringmap text uuid
diff --git a/pkgs/development/libraries/haskell/serialport/default.nix b/pkgs/development/libraries/haskell/serialport/default.nix
new file mode 100644
index 000000000000..f00e25e6d588
--- /dev/null
+++ b/pkgs/development/libraries/haskell/serialport/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, HUnit }:
+
+cabal.mkDerivation (self: {
+  pname = "serialport";
+  version = "0.4.7";
+  sha256 = "1z2drw7ighyws72wqms015n5hy0zxbrphdca7ldn34pz28122z07";
+  testDepends = [ HUnit ];
+  doCheck = false; # Test requires a connected Arduino...
+  meta = {
+    homepage = "https://github.com/jputcu/serialport";
+    description = "Cross platform serial port library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/stm-containers/default.nix b/pkgs/development/libraries/haskell/stm-containers/default.nix
index 91105712a6a4..052c913a98e6 100644
--- a/pkgs/development/libraries/haskell/stm-containers/default.nix
+++ b/pkgs/development/libraries/haskell/stm-containers/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stm-containers";
-  version = "0.1.3";
-  sha256 = "0ir2b6y1sqr0i68j0fqmwyysk7x9z18n84dbjppyjzzidcsrkar0";
+  version = "0.1.4";
+  sha256 = "15h7qxxbr1ifkvmxsj30k0v3hp83m04iq25bvi3jmagvvk5hv5bj";
   buildDepends = [
     basePrelude focus hashable lochTh placeholders primitive
   ];
diff --git a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
index 499234cac143..8f6b953e9546 100644
--- a/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-ant-xml/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty-ant-xml";
-  version = "1.0.0.11";
-  sha256 = "0cia8n31pyyax7v02xgpznanzd5wd32kps0dzx5ky1bmgbi9w4am";
+  version = "1.0.1";
+  sha256 = "1wb9lm9rbk46g9cm2lpcrzh59zpcy270p824agg61bj1xb9jymsc";
   buildDepends = [
     genericDeriving mtl stm tagged tasty transformers xml
   ];
diff --git a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
index 28a94fe0edad..ef9137bfadd2 100644
--- a/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
+++ b/pkgs/development/libraries/haskell/tasty-quickcheck/default.nix
@@ -1,12 +1,13 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, QuickCheck, tagged, tasty }:
+{ cabal, pcreLight, QuickCheck, tagged, tasty, tastyHunit }:
 
 cabal.mkDerivation (self: {
   pname = "tasty-quickcheck";
-  version = "0.8.2";
-  sha256 = "16fdzdlvivrkhpg9nbfz9gamvlpb25fgcxnshzg7i7hkrgzhbrji";
+  version = "0.8.3";
+  sha256 = "0vfxdcsj92d5z3yx45ccymln7ikdvqryc64x33gkyv1yqk4h42r9";
   buildDepends = [ QuickCheck tagged tasty ];
+  testDepends = [ pcreLight tasty tastyHunit ];
   meta = {
     homepage = "http://documentup.com/feuerbach/tasty";
     description = "QuickCheck support for the Tasty test framework";
diff --git a/pkgs/development/libraries/haskell/tasty/default.nix b/pkgs/development/libraries/haskell/tasty/default.nix
index cd63c7dd4789..070e8beabc8b 100644
--- a/pkgs/development/libraries/haskell/tasty/default.nix
+++ b/pkgs/development/libraries/haskell/tasty/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tasty";
-  version = "0.10.0.2";
-  sha256 = "0d2lmdrhdcmpay1yj613ckmjhwnrmaazcy3xhbc3fjlmd0rma44q";
+  version = "0.10.0.4";
+  sha256 = "028i567qmfkgriqs5y7vp6g5lz557cy5awhblcp6y2ya0aj78w5r";
   buildDepends = [
     ansiTerminal async deepseq mtl optparseApplicative regexTdfaRc stm
     tagged time unboundedDelays
diff --git a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
index 4c89a25dae83..e9db0b365be6 100644
--- a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
@@ -4,12 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-middleware-static";
-  version = "0.6.0";
-  sha256 = "1rsy8qkxcjqdpzqkar0smyy49p8vqapi47k8d24101lz3rym6018";
+  version = "0.6.0.1";
+  sha256 = "1ylf2nm535d3dw0ksa9dfz1b4b78mqzkdrpdfd5pxswcqbgs266d";
   buildDepends = [ filepath httpTypes mtl text wai ];
   jailbreak = true;
   meta = {
-    homepage = "https://github.com/scotty-web/scotty";
+    homepage = "https://github.com/scotty-web/wai-middleware-static";
     description = "WAI middleware that serves requests to static files";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index 1b6b3ab076c6..51b3d0f5df78 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.4.0.1";
-  sha256 = "1d5rimp6jnxi8j518g3hg74a4g90rvgfhnxpz2kj6881v85avvh3";
+  version = "1.4.0.2";
+  sha256 = "15k30si28jj6ivazwxbcy15hplvbpwwgwf5zcvzchi2w56z8j5gn";
   buildDepends = [
     aeson authenticate base16Bytestring base64Bytestring binary
     blazeBuilder blazeHtml blazeMarkup byteable conduit conduitExtra
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index 0d9edaa8b386..dd4051d28d73 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.4.0.4";
-  sha256 = "1f05y5nh218c2r7d67r3lpxkbf6f6irhy7mg8pvbgy9yz90k0j8b";
+  version = "1.4.0.5";
+  sha256 = "06rwmcag0vlj8q647mwimk5fsjfmrxc6d1yg95b7a2g48rh1m25x";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yi-contrib/default.nix b/pkgs/development/libraries/haskell/yi-contrib/default.nix
deleted file mode 100644
index 40c6dddc8cfe..000000000000
--- a/pkgs/development/libraries/haskell/yi-contrib/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
-{ cabal, filepath, lens, mtl, ooPrototypes, split, text, time
-, transformersBase, yi, yiLanguage, yiRope
-}:
-
-cabal.mkDerivation (self: {
-  pname = "yi-contrib";
-  version = "0.10.1";
-  sha256 = "053hsahkxwg2mnf3h4j95gj18x5791dqqji43l310i4l7mliw91k";
-  buildDepends = [
-    filepath lens mtl ooPrototypes split text time transformersBase yi
-    yiLanguage yiRope
-  ];
-  meta = {
-    homepage = "http://haskell.org/haskellwiki/Yi";
-    description = "Add-ons to Yi, the Haskell-Scriptable Editor";
-    license = self.stdenv.lib.licenses.gpl2;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/yi-fuzzy-open/default.nix b/pkgs/development/libraries/haskell/yi-fuzzy-open/default.nix
new file mode 100644
index 000000000000..4685a08511ae
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yi-fuzzy-open/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, dataDefault, filepath, mtl, text, transformersBase
+, vector, yi, yiLanguage, yiRope
+}:
+
+cabal.mkDerivation (self: {
+  pname = "yi-fuzzy-open";
+  version = "0.1.0";
+  sha256 = "03y7ddas8w380asx4ldafp1r3h4nlyjky7n4n5sdyvwbi0rix1gc";
+  buildDepends = [
+    binary dataDefault filepath mtl text transformersBase vector yi
+    yiLanguage yiRope
+  ];
+  meta = {
+    homepage = "https://github.com/yi-editor/yi-fuzzy-open";
+    description = "Fuzzy open plugin for Yi";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yi-monokai/default.nix b/pkgs/development/libraries/haskell/yi-monokai/default.nix
new file mode 100644
index 000000000000..ddae06b7f22b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yi-monokai/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, yi }:
+
+cabal.mkDerivation (self: {
+  pname = "yi-monokai";
+  version = "0.1.1.2";
+  sha256 = "1nghfyiy8jdz144nbw0c2cdy8n6xyjmk31g6z24jk8dij7iwb60l";
+  buildDepends = [ yi ];
+  meta = {
+    homepage = "https://github.com/Fuuzetsu/yi-monokai";
+    description = "Monokai colour theme for the Yi text editor";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yi-rope/default.nix b/pkgs/development/libraries/haskell/yi-rope/default.nix
index 00db09fec70a..146308038eb6 100644
--- a/pkgs/development/libraries/haskell/yi-rope/default.nix
+++ b/pkgs/development/libraries/haskell/yi-rope/default.nix
@@ -1,14 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, binary, dataDefault, deepseq, fingertree, hspec
-, QuickCheck, quickcheckInstances, text
+{ cabal, binary, charsetdetectAe, dataDefault, deepseq, fingertree
+, hspec, QuickCheck, quickcheckInstances, text, textIcu
 }:
 
 cabal.mkDerivation (self: {
   pname = "yi-rope";
-  version = "0.4.1.0";
-  sha256 = "11k0fl2m6m7idvanfrgvl3h068i6yj6rzxmwpjylz4vdqq618rcq";
-  buildDepends = [ binary dataDefault deepseq fingertree text ];
+  version = "0.6.0.0";
+  sha256 = "1r52mybqzy28zsv6r6a0cfmi8qaiscc91q2dhfq8rlp63l7ghq36";
+  buildDepends = [
+    binary charsetdetectAe dataDefault deepseq fingertree text textIcu
+  ];
   testDepends = [ hspec QuickCheck quickcheckInstances text ];
   meta = {
     description = "A rope data structure used by Yi";
diff --git a/pkgs/development/libraries/haskell/yi-snippet/default.nix b/pkgs/development/libraries/haskell/yi-snippet/default.nix
new file mode 100644
index 000000000000..b1cb7041ff02
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yi-snippet/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, yi, yiRope }:
+
+cabal.mkDerivation (self: {
+  pname = "yi-snippet";
+  version = "0.1.0.0";
+  sha256 = "0qbn5x7lbvb9h6gdqgvldzyy7z5y5aa9a02ss48zkccss5p6939d";
+  buildDepends = [ yi yiRope ];
+  meta = {
+    homepage = "https://github.com/yi-editor/yi-snippet";
+    description = "Snippet support for Yi";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix
new file mode 100644
index 000000000000..a6259ac23cc9
--- /dev/null
+++ b/pkgs/development/libraries/hidapi/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, udev, libusb }:
+
+stdenv.mkDerivation rec {
+  name = "hidapi-0.8.0-rc1";
+
+  src = fetchFromGitHub {
+    owner = "signal11";
+    repo = "hidapi";
+    rev = name;
+    sha256 = "13d5jkmh9nh4c2kjch8k8amslnxapa9vkqzrk1z6rqmw8qgvzbkj";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig udev libusb ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/signal11/hidapi;
+    description = "for communicating with USB and Bluetooth HID devices";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 90ce4f970e3d..2bcf7e5d21c7 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pth, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libassuan-2.1.1";
+  name = "libassuan-2.1.2";
 
   src = fetchurl {
     url = "mirror://gnupg/libassuan/${name}.tar.bz2";
-    sha256 = "1783nb0b6nr9yjhb5wfh8ykc5w89f4anppz1kz9913mqg5vxdqi3";
+    sha256 = "0yxp3mdsxg75aj3h2r94vzad5i1y2mh0df9pv76ggals6k4sgy1r";
   };
 
   propagatedBuildInputs = [ libgpgerror pth ];
diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix
new file mode 100644
index 000000000000..6f19eb502d3a
--- /dev/null
+++ b/pkgs/development/libraries/libcec/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, udev }:
+
+let version = "2.1.4"; in
+
+stdenv.mkDerivation {
+  name = "libcec-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Pulse-Eight/libcec/archive/libcec-${version}.tar.gz";
+    sha256 = "0iz11zclbs3gk4ddq0pm4vyq015qmvy4nb9sra3vk6jw58izbgkr";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig udev ];
+
+  meta = {
+    description = "USB CEC adapter communication library";
+    homepage = "http://libcec.pulse-eight.com";
+    repositories.git = "https://github.com/Pulse-Eight/libcec.git";
+    license = "GPLv2+";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 4cfeff00dc5c..cb29d9fd5809 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, bash, gettext }:
 
 stdenv.mkDerivation (rec {
-  name = "libgpg-error-1.16";
+  name = "libgpg-error-1.17";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "16xv59zcr177gvgj97vg0rm4rixrpb4lz1q9fji3xay47i83gm62";
+    sha256 = "1dapxzxl1naghf342fwfc2w2f2c5hb9gr1a1s4n8dsqn26kybx1z";
   };
 
   # If architecture-dependent MO files aren't available, they're generated
diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix
index dbd2516c0595..ed40bfa876bf 100644
--- a/pkgs/development/libraries/libksba/default.nix
+++ b/pkgs/development/libraries/libksba/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchurl, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libksba-1.2.0";
+  name = "libksba-1.3.1";
 
   src = fetchurl {
     url = "mirror://gnupg/libksba/${name}.tar.bz2";
-    sha256 = "0jwk7hm3x3g4hd7l12z3d79dy7359x7lc88dq6z7q0ixn1jwxbq9";
+    sha256 = "1ya6mcd6pk2v1pylvlk6wv3869aslz2mr2xw2gs6faxx2ravk5mw";
   };
 
-  propagatedBuildInputs = [libgpgerror];
+  propagatedBuildInputs = [ libgpgerror ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnupg.org;
     description = "CMS and X.509 access library under development";
+    platforms = platforms.all;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libmsgpack/CMakeLists.patch b/pkgs/development/libraries/libmsgpack/CMakeLists.patch
index 657c30d5fe97..84377962d7f1 100644
--- a/pkgs/development/libraries/libmsgpack/CMakeLists.patch
+++ b/pkgs/development/libraries/libmsgpack/CMakeLists.patch
@@ -1,9 +1,11 @@
 diff -r 791a4edd7e1d CMakeLists.txt
 --- a/CMakeLists.txt	Sun Oct 05 13:14:14 2014 +0100
 +++ b/CMakeLists.txt	Sun Oct 05 13:20:12 2014 +0100
-@@ -158,7 +158,7 @@
+@@ -157,8 +157,9 @@
+ 
  INSTALL (TARGETS msgpack msgpack-static DESTINATION lib)
  INSTALL (DIRECTORY src/msgpack DESTINATION include)
++INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/src/msgpack/version.h DESTINATION include/msgpack)
  INSTALL (FILES src/msgpack.h src/msgpack.hpp DESTINATION include)
 -INSTALL (FILES msgpack.pc DESTINATION lib/pkgconfig)
 +INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/msgpack.pc DESTINATION lib/pkgconfig)
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index c6f1f1a1ddcb..9ed1aab40346 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -10,7 +10,12 @@ stdenv.mkDerivation rec {
   
   nativeBuildInputs = [ flex bison ];
   
-  configureFlags = stdenv.lib.optionals stdenv.isLinux "--with-pcap=linux";
+  # We need to force the autodetection because detection doesn't
+  # work in pure build enviroments.
+  configureFlags =
+    if stdenv.isLinux then [ "--with-pcap=linux" ]
+    else if stdenv.isDarwin then [ "--with-pcap=bpf" ]
+    else [];
 
   preInstall = ''mkdir -p $out/bin'';
   
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index becca407ce92..b7abd8bcab77 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,12 +1,11 @@
 { stdenv, fetchurl, boost, openssl, pkgconfig, zlib, python, libiconvOrNull, geoip }:
 
 stdenv.mkDerivation rec {
-  name = "libtorrent-rasterbar-${version}";
-  version = "0.16.16";
+  name = "libtorrent-rasterbar-1.0.2";
   
   src = fetchurl {
-    url = mirror://sourceforge/libtorrent/libtorrent-rasterbar-0.16.16.tar.gz;
-    sha256 = "1a3yxwjs4qb0rwx6cfpvar0a8jmavb6ik580b27md08jhvq80if7";
+    url = "mirror://sourceforge/libtorrent/${name}.tar.gz";
+    sha256 = "1ph4cb6nrk2hiy89j3kz1wj16ph0b9yixrf4f4935rnzhha8x31w";
   };
 
   buildInputs = [ boost boost.lib pkgconfig openssl zlib python libiconvOrNull geoip ];
@@ -17,6 +16,7 @@ stdenv.mkDerivation rec {
     "--enable-python-binding"
     "--with-libgeoip=system"
     "--with-libiconv=yes"
+    "--with-boost=${boost.lib}"
  ];
   
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix
new file mode 100644
index 000000000000..e2c92d5f10d0
--- /dev/null
+++ b/pkgs/development/libraries/libu2f-host/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, json_c, hidapi }:
+
+stdenv.mkDerivation rec {
+  name = "libu2f-host-0.0";
+
+  src = fetchurl {
+    url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz";
+    sha256 = "02pjald2j6syvxm5pszxcpqhpp7c80hblnzh6wrafkmpkpzi3rq5";
+  };
+
+  buildInputs = [ pkgconfig json_c hidapi ];
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/libu2f-host;
+    description = "a C library and command-line tool thati mplements the host-side of the U2F protocol";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 8be17b289f7e..884db2b3b25a 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,18 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, udev }:
+{ stdenv, fetchurl, pkgconfig, udev ? null }:
 
-let
-  version = "1.0.18";
-in
 stdenv.mkDerivation rec {
-  name = "libusb-${version}"; # at 1.0.18 libusb joined with libusbx
+  name = "libusb-1.0.19";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2";
-    sha256 = "081px0j98az0pjwwyjlq4qcmfn194fvm3qd4im0r9pm58pn5qgy7";
+    url = "mirror://sourceforge/libusb/${name}.tar.bz2";
+    sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c";
   };
 
   buildInputs = [ pkgconfig ];
-  propagatedBuildInputs = stdenv.lib.optional (stdenv.isLinux) udev;
+  propagatedBuildInputs = stdenv.lib.optional stdenv.isLinux udev;
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index deba645a39b9..a34dace40d8f 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
 , iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
 , libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng
-, dnsmasq, libnl
+, dnsmasq, libnl, libpcap
 , pythonPackages
 }:
 
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     "--with-init-script=redhat"
     "--with-macvtap"
     "--with-virtualport"
+    "--with-libpcap"
   ];
 
   installFlags = [
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 7e3ee3e9adc7..8dfe60f9026d 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -5,7 +5,7 @@ assert pythonSupport -> python != null;
 #TODO: share most stuff between python and non-python builds, perhaps via multiple-output
 
 let
-  version = "2.9.1";
+  version = "2.9.2";
 in
 
 stdenv.mkDerivation (rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation (rec {
 
   src = fetchurl {
     url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
-    sha256 = "1nqgd1qqmg0cg09mch78m2ac9klj9n87blilx4kymi7jcv5n8g7x";
+    sha256 = "1g6mf03xcabmk5ing1lwqmasr803616gb2xhn7pll10x2l5w6y2i";
   };
 
   buildInputs = stdenv.lib.optional pythonSupport python
diff --git a/pkgs/development/libraries/libxml2/setup-hook.sh b/pkgs/development/libraries/libxml2/setup-hook.sh
index f9fc633c7da7..4acdd25a6b28 100644
--- a/pkgs/development/libraries/libxml2/setup-hook.sh
+++ b/pkgs/development/libraries/libxml2/setup-hook.sh
@@ -11,14 +11,6 @@ addXMLCatalogs () {
 if test -z "$libxmlHookDone"; then
     libxmlHookDone=1
 
-    # Set http_proxy and ftp_proxy to an invalid host to prevent
-    # xmllint and xsltproc from trying to download DTDs from the
-    # network even when --nonet is not given.  That would be impure.
-    # (Note that .invalid is a reserved domain guaranteed not to
-    # work.)
-    export http_proxy=http://nodtd.invalid/
-    export ftp_proxy=http://nodtd.invalid/
-
     # Set up XML_CATALOG_FILES.  An empty initial value prevents
     # xmllint and xsltproc from looking in /etc/xml/catalog.
     export XML_CATALOG_FILES
diff --git a/pkgs/development/libraries/libykneomgr/default.nix b/pkgs/development/libraries/libykneomgr/default.nix
new file mode 100644
index 000000000000..0356d7c1f4c1
--- /dev/null
+++ b/pkgs/development/libraries/libykneomgr/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, pcsclite, libzip, help2man }:
+
+stdenv.mkDerivation rec {
+  name = "libykneomgr-0.1.6";
+
+  src = fetchurl {
+    url = "https://developers.yubico.com/libykneomgr/Releases/${name}.tar.gz";
+    sha256 = "15fa4sslbzhzmkf0xik36as9lsmys1apqwjxv8sx7qlpacmxy3bw";
+  };
+
+  buildInputs = [ pkgconfig pcsclite libzip help2man ];
+
+  configureFlags = [
+    "--with-backend=pcsc"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/libykneomgr;
+    description = "a C library to interact with the CCID-part of the Yubikey NEO";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
+  };
+}
diff --git a/pkgs/development/libraries/libyubikey/default.nix b/pkgs/development/libraries/libyubikey/default.nix
index 106106c0915f..9d71c33cb305 100644
--- a/pkgs/development/libraries/libyubikey/default.nix
+++ b/pkgs/development/libraries/libyubikey/default.nix
@@ -1,21 +1,18 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
-stdenv.mkDerivation rec
-{
-  version = "1.12";
-  name = "libyubikey-${version}";
+stdenv.mkDerivation rec {
+  name = "libyubikey-1.12";
 
-  src = fetchurl
-  {
-    url = "http://opensource.yubico.com/yubico-c/releases/${name}.tar.gz";
+  src = fetchurl {
+    url = "https://developers.yubico.com/yubico-c/Releases/${name}.tar.gz";
     sha256 = "1f0plzmr1gwry4rfgq9q70v6qwqny009hac289ad5m6sj7vqflxr";
   };
 
-  meta =
-  {
+  meta = with stdenv.lib; {
     homepage = "http://opensource.yubico.com/yubico-c/";
     description = "C library for manipulating Yubico YubiKey One-Time Passwords (OTPs)";
-    license = "bsd";
-    maintainers = [ stdenv.lib.maintainers.calrama ];
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ calrama wkennington ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index 4f87f2bc230f..784b132a2e47 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "npth-0.91";
+  name = "npth-1.0";
 
   src = fetchurl {
     url = "ftp://ftp.gnupg.org/gcrypt/npth/${name}.tar.bz2";
-    sha256 = "1qgs1n70x83dyyysabg50dh8s3464jwsa63qi5if2cd3sk78dvya";
+    sha256 = "0vppr13821bkdv8348067l1aj3sb0n0rbmnsgymzy3iifvirvm4s";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The New GNU Portable Threads Library";
     longDescription = ''
       This is a library to provide the GNU Pth API and thus a non-preemptive
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       that this is a solid way to provide a co-routine based framework.
     '';
     homepage = http://www.gnupg.org;
-    license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.lgpl3;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 01a4e2e21daf..8ab9becf3461 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssl, cyrus_sasl, db, groff}:
 
 stdenv.mkDerivation rec {
-  name = "openldap-2.4.39";
+  name = "openldap-2.4.40";
 
   src = fetchurl {
     url = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz";
-    sha256 = "19zq9dc7dl03wmqd11fbsdii1npyq1vlicl3nxbfygqh8xrwhrw2";
+    sha256 = "1nyslrgwxwilgv5sixc37svls5rbvhsv9drb7hlrjr2vqaji29ni";
   };
 
   buildInputs = [ openssl cyrus_sasl db groff ];
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index 30c1f4937ecf..c2473ae2c5db 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk, m4, pkgconfig, mesa }:
+{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk, m4, pkgconfig, mesa, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "smpeg-svn${version}";
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ SDL autoconf automake libtool gtk m4 pkgconfig mesa ];
+  buildInputs = [ SDL gtk mesa ];
+
+  nativeBuildInputs = [ autoconf automake libtool m4 pkgconfig makeWrapper ];
 
   preConfigure = ''
     touch NEWS AUTHORS ChangeLog
@@ -26,6 +28,10 @@ stdenv.mkDerivation rec {
     -e 's,"SDL_thread.h",<SDL/SDL_thread.h>,' \
     -e 's,"SDL_types.h",<SDL/SDL_types.h>,' \
       $out/include/smpeg/*.h
+
+    wrapProgram $out/bin/smpeg-config \
+      --prefix PATH ":" "${pkgconfig}/bin" \
+      --prefix PKG_CONFIG_PATH ":" "${SDL}/lib/pkgconfig"
   '';
 
   meta = {
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index e3e07b2edbe6..059f67baa08e 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -1,7 +1,7 @@
 {stdenv, androidsdk, titaniumsdk, titanium, xcodewrapper, jdk, python, which, xcodeBaseDir}:
 { name, src, target, androidPlatformVersions ? [ "8" ], androidAbiVersions ? [ "armeabi" "armeabi-v7a" ], tiVersion ? null
 , release ? false, androidKeyStore ? null, androidKeyAlias ? null, androidKeyStorePassword ? null
-, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosVersion ? "8.0"
+, iosMobileProvisioningProfile ? null, iosCertificateName ? null, iosCertificate ? null, iosCertificatePassword ? null, iosVersion ? "8.0", iosWwdrCertificate ? null
 , enableWirelessDistribution ? false, installURL ? null
 }:
 
@@ -16,7 +16,10 @@ let
     useGoogleAPIs = true;
   };
   
-  deleteKeychain = "security delete-keychain $keychainName";
+  deleteKeychain = ''
+    security default-keychain -s login.keychain
+    security delete-keychain $keychainName
+  '';
 in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
@@ -75,7 +78,9 @@ stdenv.mkDerivation {
               security default-keychain -s $keychainName
               security unlock-keychain -p "" $keychainName
               security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
-
+              ${stdenv.lib.optionalString (iosWwdrCertificate != null) ''
+                security import ${iosWwdrCertificate} -k $keychainName
+              ''}
               provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
    
               # Ensure that the requested provisioning profile can be found
diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix
index a2cc690267c7..786483d73477 100644
--- a/pkgs/development/mobile/titaniumenv/examples/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/default.nix
@@ -4,7 +4,7 @@
 , xcodeBaseDir ? "/Applications/Xcode.app"
 , tiVersion ? "3.4.0.GA"
 , rename ? false
-, newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? ""
+, newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "", iosVersion ? "8.0", iosWwdrCertificate ? null
 , allowUnfree ? false
 , enableWirelessDistribution ? false, installURL ? null
 }:
@@ -62,7 +62,7 @@ rec {
   kitchensink_ios_development = import ./kitchensink {
     inherit (pkgs) fetchgit;
     titaniumenv = pkgs.titaniumenv.override { inherit xcodeVersion xcodeBaseDir tiVersion; };
-    inherit tiVersion;
+    inherit tiVersion iosVersion;
     target = "iphone";
   };
 
@@ -84,7 +84,7 @@ rec {
       inherit tiVersion;
       release = true;
       rename = true;
-      inherit newBundleId iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword;
+      inherit newBundleId iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword iosVersion iosWwdrCertificate;
       inherit enableWirelessDistribution installURL;
     };
   }
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
index 953726709694..a03a4830ab3d 100644
--- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
@@ -1,5 +1,5 @@
 { titaniumenv, fetchgit, target, androidPlatformVersions ? [ "14" ], tiVersion ? "3.2.3.GA", release ? false
-, rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null
+, rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null, iosVersion ? "8.0", iosWwdrCertificate ? null
 , enableWirelessDistribution ? false, installURL ? null
 }:
 
@@ -37,6 +37,6 @@ titaniumenv.buildApp {
   androidKeyAlias = "myfirstapp";
   androidKeyStorePassword = "mykeystore";
   
-  inherit iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword;
+  inherit iosMobileProvisioningProfile iosCertificate iosCertificateName iosCertificatePassword iosVersion iosWwdrCertificate;
   inherit enableWirelessDistribution installURL;
 }
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index 1b4940b0c3d9..6af32ba41981 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -46,7 +46,10 @@ let
     else sdk;
 
   # The following is to prevent repetition
-  deleteKeychain = "security delete-keychain $keychainName";
+  deleteKeychain = ''
+    security default-keychain -s login.keychain
+    security delete-keychain $keychainName
+  '';
 in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
diff --git a/pkgs/development/ocaml-modules/ansiterminal/default.nix b/pkgs/development/ocaml-modules/ansiterminal/default.nix
new file mode 100644
index 000000000000..64b4f8263ff6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ansiterminal/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, ocaml, findlib }:
+
+stdenv.mkDerivation {
+
+  name = "ansiterminal-0.6.5";
+
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1206/ANSITerminal-0.6.5.tar.gz";
+    sha256 = "1j9kflv2i16vf9hy031cl6z8hv6791mjbhnd9bw07y1pswdlx1r6";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+
+  buildPhase = "ocaml setup.ml -build";
+
+  installPhase = "ocaml setup.ml -install";
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://forge.ocamlcore.org/projects/ansiterminal";
+    description = "A module allowing to use the colors and cursor movements on ANSI terminals";
+    longDescription = ''
+      ANSITerminal is a module allowing to use the colors and cursor
+      movements on ANSI terminals. It also works on the windows shell (but
+      this part is currently work in progress).
+    '';
+    license = licenses.lgpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bolt/default.nix b/pkgs/development/ocaml-modules/bolt/default.nix
new file mode 100644
index 000000000000..9b0efd816bdc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bolt/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, ocaml, findlib, which }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast; in
+
+assert versionAtLeast (getVersion ocaml) "4.00.0";
+assert versionAtLeast (getVersion findlib) "1.3.3";
+
+stdenv.mkDerivation rec {
+
+  name = "bolt-1.4";
+
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1043/${name}.tar.gz";
+    sha256 = "1c807wrpxra9sbb34lajhimwra28ldxv04m570567lh2b04n38zy";
+  };
+
+  buildInputs = [ ocaml findlib which ];
+
+  # The custom `configure` script does not expect the --prefix
+  # option. Installation is handled by ocamlfind.
+  dontAddPrefix = true;
+
+  createFindlibDestdir = true;
+
+  buildFlags = "all";
+
+  doCheck = true;
+  checkTarget = "tests";
+
+  meta = with stdenv.lib; {
+    homepage = "http://bolt.x9c.fr";
+    description = "A logging tool for the OCaml language";
+    longDescription = ''
+      Bolt is a logging tool for the OCaml language. It is inspired by and
+      modeled after the famous log4j logging framework for Java.
+    '';
+    license = licenses.lgpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/pharo/vm/default.nix b/pkgs/development/pharo/vm/default.nix
index 8eb44095e084..7e2981d7dc4d 100644
--- a/pkgs/development/pharo/vm/default.nix
+++ b/pkgs/development/pharo/vm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
 
-  version = "2014.09.20";
+  version = "2014.10.28";
 
   name = "pharo-vm-core-i386-${version}";
   system = "x86_32-linux";
   src = fetchurl {
     url = "http://files.pharo.org/vm/src/vm-unix-sources/blessed/pharo-vm-${version}.tar.bz2";
-    md5 = "f4183566aeeb7cb9d0d7832b4e40b573";
+    md5 = "c1d25d5beac15dc8e5bd3f84ab9b0ac3";
   };
 
   sources10Zip = fetchurl {
diff --git a/pkgs/development/python-modules/box2d/disable-test.patch b/pkgs/development/python-modules/box2d/disable-test.patch
new file mode 100644
index 000000000000..bc2897a8b100
--- /dev/null
+++ b/pkgs/development/python-modules/box2d/disable-test.patch
@@ -0,0 +1,14 @@
+Common subdirectories: Box2D-2.3b0/Box2D and Box2D-2.3b0.new/Box2D
+Common subdirectories: Box2D-2.3b0/examples and Box2D-2.3b0.new/examples
+Common subdirectories: Box2D-2.3b0/library and Box2D-2.3b0.new/library
+diff -u Box2D-2.3b0/setup.py Box2D-2.3b0.new/setup.py
+--- Box2D-2.3b0/setup.py	2013-02-02 18:09:34.000000000 +0100
++++ Box2D-2.3b0.new/setup.py	2014-10-25 13:32:07.136922343 +0200
+@@ -176,7 +176,6 @@
+     package_dir      = {'Box2D': library_path, 

+                         'Box2D.b2': os.path.join(library_path, 'b2'),

+                         'Box2D.tests' : 'tests'},

+-    test_suite       = 'tests',

+     options          = { 'build_ext': { 'swig_opts' : swig_arguments },

+                          'egg_info' : { 'egg_base' : library_base },

+                         },

diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 56797d9c7028..aeb59dda6642 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "5.7";
+  version = "6.0";
   name = "checkstyle-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz";
-    sha256 = "0kzj507ylynq6p7v097bjzsckkjny5i2fxwxyrlwi5samhi2m06x";
+    sha256 = "08qjx7yfx5p7ydbcm6lzm15qcwkgcf1jw27i9fnyr01wppz9yrsx";
   };
 
   installPhase = ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     cp -R * $out/checkstyle
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Checks Java source against a coding standard";
     longDescription = ''
       checkstyle is a development tool to help programmers write Java code that
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
       Conventions, but is highly configurable.
     '';
     homepage = http://checkstyle.sourceforge.net/;
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index a4863d12b5ca..62662d273c8b 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip, jdk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "gradle-1.11";
+  name = "gradle-2.1";
 
   src = fetchurl {
     url = "http://services.gradle.org/distributions/${name}-bin.zip";
-    sha256 = "14a0qdzjiar97l9a0i3ds2y48p1lrqkj7skkkvhz0r29hbgkbqh7";
+    sha256 = "0y7qifc61nng24zn73bdwh5d0m25dnllfiwfkyw220mblag4zviy";
   };
 
   installPhase = ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
     makeWrapper ${jdk}/bin/java $out/bin/gradle \
       --set JAVA_HOME ${jdk} \
-      --add-flags "-classpath $out/lib/gradle-launcher-1.11.jar org.gradle.launcher.GradleMain"
+      --add-flags "-classpath $out/lib/gradle-launcher-2.1.jar org.gradle.launcher.GradleMain"
   '';
 
   phases = "unpackPhase installPhase";
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.nix b/pkgs/development/tools/egg2nix/chicken-eggs.nix
new file mode 100644
index 000000000000..4ec9e0daa47a
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/chicken-eggs.nix
@@ -0,0 +1,296 @@
+{ pkgs, stdenv }:
+rec {
+  inherit (pkgs) eggDerivation fetchegg;
+
+  base64 = eggDerivation {
+    name = "base64-3.3.1";
+
+    src = fetchegg {
+      name = "base64";
+      version = "3.3.1";
+      sha256 = "0wmldiwwg1jpcn07wb906nc53si5j7sa83wgyq643xzqcx4v4x1d";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  blob-utils = eggDerivation {
+    name = "blob-utils-1.0.3";
+
+    src = fetchegg {
+      name = "blob-utils";
+      version = "1.0.3";
+      sha256 = "17vdn02fnxnjx5ixgqimln93lqvzyq4y9w02fw7xnbdcjzqm0xml";
+    };
+
+    buildInputs = [
+      setup-helper
+      string-utils
+    ];
+  };
+
+  check-errors = eggDerivation {
+    name = "check-errors-1.13.0";
+
+    src = fetchegg {
+      name = "check-errors";
+      version = "1.13.0";
+      sha256 = "12a0sn82n98jybh72zb39fdddmr5k4785xglxb16750fhy8rmjwi";
+    };
+
+    buildInputs = [
+      setup-helper
+    ];
+  };
+
+  defstruct = eggDerivation {
+    name = "defstruct-1.6";
+
+    src = fetchegg {
+      name = "defstruct";
+      version = "1.6";
+      sha256 = "0lsgl32nmb5hxqiii4r3292cx5vqh50kp6v062nfiyid9lhrj0li";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  http-client = eggDerivation {
+    name = "http-client-0.7.1";
+
+    src = fetchegg {
+      name = "http-client";
+      version = "0.7.1";
+      sha256 = "1s03zgmb7kb99ld0f2ylqgicrab9qgza53fkgsqvg7bh5njmzhxr";
+    };
+
+    buildInputs = [
+      intarweb
+      uri-common
+      message-digest
+      md5
+      string-utils
+      sendfile
+    ];
+  };
+
+  intarweb = eggDerivation {
+    name = "intarweb-1.3";
+
+    src = fetchegg {
+      name = "intarweb";
+      version = "1.3";
+      sha256 = "0izlby78c25py29bdcbc0vapb6h7xgchqrzi6i51d0rb3mnwy88h";
+    };
+
+    buildInputs = [
+      defstruct
+      uri-common
+      base64
+    ];
+  };
+
+  lookup-table = eggDerivation {
+    name = "lookup-table-1.13.5";
+
+    src = fetchegg {
+      name = "lookup-table";
+      version = "1.13.5";
+      sha256 = "1nzly6rhynawlvzlyilk8z8cxz57cf9n5iv20glkhh28pz2izmrb";
+    };
+
+    buildInputs = [
+      setup-helper
+      check-errors
+      miscmacros
+      record-variants
+      synch
+    ];
+  };
+
+  matchable = eggDerivation {
+    name = "matchable-3.3";
+
+    src = fetchegg {
+      name = "matchable";
+      version = "3.3";
+      sha256 = "07y3lpzgm4djiwi9y2adc796f9kwkmdr28fkfkw65syahdax8990";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  md5 = eggDerivation {
+    name = "md5-3.1.0";
+
+    src = fetchegg {
+      name = "md5";
+      version = "3.1.0";
+      sha256 = "0bka43nx8x9b0b079qpvml2fl20km19ny0qjmhwzlh6rwmzazj2a";
+    };
+
+    buildInputs = [
+      message-digest
+    ];
+  };
+
+  message-digest = eggDerivation {
+    name = "message-digest-3.1.0";
+
+    src = fetchegg {
+      name = "message-digest";
+      version = "3.1.0";
+      sha256 = "1w6bax19dwgih78vcimiws0rja7qsd8hmbm6qqg2hf9cw3vab21s";
+    };
+
+    buildInputs = [
+      setup-helper
+      miscmacros
+      check-errors
+      variable-item
+      blob-utils
+      string-utils
+    ];
+  };
+
+  miscmacros = eggDerivation {
+    name = "miscmacros-2.96";
+
+    src = fetchegg {
+      name = "miscmacros";
+      version = "2.96";
+      sha256 = "1ajdgjrni10i2hmhcp4rawnxajjxry3kmq1krdmah4sf0kjrgajc";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  record-variants = eggDerivation {
+    name = "record-variants-0.5.1";
+
+    src = fetchegg {
+      name = "record-variants";
+      version = "0.5.1";
+      sha256 = "15wgysxkm8m4hx9nhhw9akchzipdnqc7yj3qd3zn0z7sxg4sld1h";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  sendfile = eggDerivation {
+    name = "sendfile-1.7.29";
+
+    src = fetchegg {
+      name = "sendfile";
+      version = "1.7.29";
+      sha256 = "1dc02cbkx5kixhbqjy26g6gs680vy7krc9qis1p1v4aa0b2lgj7k";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  setup-helper = eggDerivation {
+    name = "setup-helper-1.5.4";
+
+    src = fetchegg {
+      name = "setup-helper";
+      version = "1.5.4";
+      sha256 = "1k644y0md2isdcvazqfm4nyc8rh3dby6b0j3r4na4w8ryspqp6gj";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  string-utils = eggDerivation {
+    name = "string-utils-1.2.4";
+
+    src = fetchegg {
+      name = "string-utils";
+      version = "1.2.4";
+      sha256 = "07alvghg0dahilrm4jg44bndl0x69sv1zbna9l20cbdvi35i0jp1";
+    };
+
+    buildInputs = [
+      setup-helper
+      miscmacros
+      lookup-table
+      check-errors
+    ];
+  };
+
+  synch = eggDerivation {
+    name = "synch-2.1.2";
+
+    src = fetchegg {
+      name = "synch";
+      version = "2.1.2";
+      sha256 = "1m9mnbq0m5jsxmd1a3rqpwpxj0l1b7vn1fknvxycc047pmlcyl00";
+    };
+
+    buildInputs = [
+      setup-helper
+      check-errors
+    ];
+  };
+
+  uri-common = eggDerivation {
+    name = "uri-common-1.4";
+
+    src = fetchegg {
+      name = "uri-common";
+      version = "1.4";
+      sha256 = "01ds1gixcn4rz657x3hr4rhw2496hsjff42ninw0k39l8i1cbh7c";
+    };
+
+    buildInputs = [
+      uri-generic
+      defstruct
+      matchable
+    ];
+  };
+
+  uri-generic = eggDerivation {
+    name = "uri-generic-2.41";
+
+    src = fetchegg {
+      name = "uri-generic";
+      version = "2.41";
+      sha256 = "1r5jbzjllbnmhm5n0m3fcx0g6dc2c2jzp1dcndkfmxz0cl99zxac";
+    };
+
+    buildInputs = [
+      matchable
+      defstruct
+    ];
+  };
+
+  variable-item = eggDerivation {
+    name = "variable-item-1.3.1";
+
+    src = fetchegg {
+      name = "variable-item";
+      version = "1.3.1";
+      sha256 = "19b3mhb8kr892sz9yyzq79l0vv28dgilw9cf415kj6aq16yp4d5n";
+    };
+
+    buildInputs = [
+      setup-helper
+      check-errors
+    ];
+  };
+}
+
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.scm b/pkgs/development/tools/egg2nix/chicken-eggs.scm
new file mode 100644
index 000000000000..d847ae9e29b9
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/chicken-eggs.scm
@@ -0,0 +1,5 @@
+;; Eggs used by egg2nix
+http-client
+intarweb
+matchable
+uri-common
diff --git a/pkgs/development/tools/egg2nix/default.nix b/pkgs/development/tools/egg2nix/default.nix
new file mode 100644
index 000000000000..dd1c00116e4d
--- /dev/null
+++ b/pkgs/development/tools/egg2nix/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, eggDerivation, fetchurl, chickenEggs }:
+
+# Note: This mostly reimplements the default.nix already contained in
+# the tarball. Is there a nicer way than duplicating code?
+
+let
+  version = "0.4";
+in
+eggDerivation {
+  src = fetchurl {
+    url = "https://github.com/the-kenny/egg2nix/archive/${version}.tar.gz";
+    sha256 = "1xn79fgqxg0i47asjah31zi56v60is1n8d0cy8w4gbj0i41z7pvm";
+  };
+
+  name = "egg2nix-${version}";
+  buildInputs = with chickenEggs; [
+    matchable http-client
+  ];
+
+  meta = {
+    description = "Generate nix-expression from CHICKEN scheme eggs";
+    homepage = https://github.com/the-kenny/egg2nix;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/development/tools/haskell/ghcid/default.nix b/pkgs/development/tools/haskell/ghcid/default.nix
new file mode 100644
index 000000000000..a14eb1b48f58
--- /dev/null
+++ b/pkgs/development/tools/haskell/ghcid/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cmdargs, filepath, tasty, tastyHunit, time }:
+
+cabal.mkDerivation (self: {
+  pname = "ghcid";
+  version = "0.2";
+  sha256 = "1g0jwj8s0rgwrdgyn6dwrqhf9v4kck5kfr4ggmp9c0mjjyfxq6pf";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ cmdargs filepath time ];
+  testDepends = [ cmdargs filepath tasty tastyHunit time ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/ndmitchell/ghcid#readme";
+    description = "GHCi based bare bones IDE";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix
index c3b44ca56863..29939a423af5 100644
--- a/pkgs/development/tools/misc/autoconf/2.13.nix
+++ b/pkgs/development/tools/misc/autoconf/2.13.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "autoconf-2.13";
-  
+
   src = fetchurl {
     url = "mirror://gnu/autoconf/${name}.tar.gz";
     sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh";
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
   # "fixed" path in generated files!
   dontPatchShebangs = true;
 
+  postInstall = ''ln -s autoconf "$out"/bin/autoconf-2.13'';
+
   meta = {
     homepage = http://www.gnu.org/software/autoconf/;
     description = "Part of the GNU Build System";
diff --git a/pkgs/development/tools/misc/chruby/default.nix b/pkgs/development/tools/misc/chruby/default.nix
new file mode 100644
index 000000000000..0569dc2abdf3
--- /dev/null
+++ b/pkgs/development/tools/misc/chruby/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, lib, fetchFromGitHub, runCommand, rubies ? null }:
+
+let
+  rubiesEnv = runCommand "chruby-env" { preferLocalBuild = true; } ''
+    mkdir $out
+    ${lib.concatStrings
+        (lib.mapAttrsToList (name: path: "ln -s ${path} $out/${name}\n") rubies)}
+  '';
+
+in stdenv.mkDerivation rec {
+  name = "chruby";
+
+  src = fetchFromGitHub {
+    owner = "postmodern";
+    repo = "chruby";
+    rev = "d5ae98410311aec1358d4cfcc1e3ec02de593c3b";
+    sha256 = "1iq9milnnj3189yw02hkly2pnnh4g0vn2fxq6dfx90kldjwpwxq5";
+  };
+
+  phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
+
+  patches = lib.optionalString (rubies != null) [
+    ./env.patch
+  ];
+
+  postPatch = lib.optionalString (rubies != null) ''
+    substituteInPlace share/chruby/chruby.sh --replace "@rubiesEnv@" ${rubiesEnv}
+  '';
+
+  installPhase = ''
+    mkdir $out
+    cp -r bin $out
+    cp -r share $out
+  '';
+
+  meta = with lib; {
+    description = "Changes the current Ruby";
+    homepage = https://github.com/postmodern/chruby;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/development/tools/misc/chruby/env.patch b/pkgs/development/tools/misc/chruby/env.patch
new file mode 100644
index 000000000000..6a4ef8b73497
--- /dev/null
+++ b/pkgs/development/tools/misc/chruby/env.patch
@@ -0,0 +1,12 @@
+diff --git a/share/chruby/chruby.sh b/share/chruby/chruby.sh
+--- a/share/chruby/chruby.sh
++++ b/share/chruby/chruby.sh
+@@ -1,7 +1,7 @@
+ CHRUBY_VERSION="0.3.8"
+ RUBIES=()
+ 
+-for dir in "$PREFIX/opt/rubies" "$HOME/.rubies"; do
++for dir in @rubiesEnv@; do
+ 	[[ -d "$dir" && -n "$(ls -A "$dir")" ]] && RUBIES+=("$dir"/*)
+ done
+ unset dir
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index 49a63b616c75..f61c8ad4da40 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, ocaml, findlib}:
 let
   pname = "cppo";
-  version = "0.9.4";
+  version = "1.0.1";
   webpage = "http://mjambon.com/${pname}.html";
 in
 assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
-    sha256 = "1m7cbja7cf74l45plqnmjrjjz55v8x65rvx0ikk9mg1ak8lcmvxa";
+    sha256 = "1r71qv9sl6jpza1vi5kgmbi7iwbddh3f9j7yji063c9vimp9f25z";
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix
new file mode 100644
index 000000000000..4970d641643f
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocp-build/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, ocaml, findlib, ncurses }:
+
+stdenv.mkDerivation {
+
+  name = "ocp-build-1.99.8-beta";
+
+  src = fetchurl {
+    url = "https://github.com/OCamlPro/ocp-build/archive/ocp-build.1.99.8-beta.tar.gz";
+    sha256 = "06qh8v7k5m52xbivas08lblspsnvdl0vd7ghfj6wvpnfl8qvqabn";
+  };
+
+  buildInputs = [ ocaml findlib ncurses ];
+
+  patches = [ ./fix-for-no-term.patch ];
+
+  # In the Nix sandbox, the TERM variable is unset and stty does not
+  # work. In such a case, ocp-build crashes due to a bug. The
+  # ./fix-for-no-term.patch fixes this bug in the source code and hence
+  # also in the final installed version of ocp-build. However, it does not
+  # fix the bug in the precompiled bootstrap version of ocp-build that is
+  # used during the compilation process. In order to bypass the bug until
+  # it's also fixed upstream, we simply set TERM to some valid entry in the
+  # terminfo database during the bootstrap.
+  TERM = "xterm";
+
+  meta = with stdenv.lib; {
+    homepage = "http://typerex.ocamlpro.com/ocp-build.html";
+    description = "A build tool for OCaml";
+    longDescription = ''
+      ocp-build is a build system for OCaml application, based on simple
+      descriptions of packages. ocp-build combines the descriptions of
+      packages, and optimize the parallel compilation of files depending on
+      the number of cores and the automatically-infered dependencies
+      between source files.
+    '';
+    license = licenses.gpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch b/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch
new file mode 100644
index 000000000000..8ce83d095fb3
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch
@@ -0,0 +1,11 @@
+--- ocp-build-ocp-build.1.99.8-beta/src/ocp-build/buildTerm.ml	2014-10-27 13:54:37.532023502 +0100
++++ ocp-build-ocp-build.1.99.8-beta/src/ocp-build/buildTerm.ml.new	2014-10-27 13:54:43.397099033 +0100
+@@ -49,7 +49,7 @@
+           | _ -> failwith "stty"
+         end
+       | _ -> raise Not_found
+-    with Unix.Unix_error _ | End_of_file | Failure _ ->
++    with Unix.Unix_error _ | End_of_file | Failure _ | Not_found ->
+       try
+         (* shell envvar *)
+         int_of_string (Sys.getenv "COLUMNS")
diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix
new file mode 100644
index 000000000000..d50e003f8474
--- /dev/null
+++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, ocaml, findlib, ocpBuild, opam, cmdliner }:
+
+let inherit (stdenv.lib) getVersion versionAtLeast; in
+
+assert versionAtLeast (getVersion ocaml) "3.12.1";
+assert versionAtLeast (getVersion ocpBuild) "1.99.3-beta";
+
+stdenv.mkDerivation {
+
+  name = "ocp-indent-1.4.2b";
+
+  src = fetchurl {
+    url = "https://github.com/OCamlPro/ocp-indent/archive/1.4.2b.tar.gz";
+    sha256 = "1p0n2zcl5kf543x2xlqrz1aa51f0dqal8l392sa41j6wx82j0gpb";
+  };
+
+  buildInputs = [ ocaml findlib ocpBuild opam cmdliner ];
+
+  createFindlibDestdir = true;
+
+  # The supplied installer uses opam-installer which breaks when run
+  # normally since it tries to `mkdir $HOME`. However, we can use
+  # `opam-installer --script` to get the shell script that performs only
+  # the installation and just run that. Furthermore, we do the same that is
+  # done by pkgs/development/ocaml-modules/react and rename the paths meant
+  # for opam-installer so that they are in line with the other OCaml
+  # libraries in Nixpkgs.
+  installPhase = ''
+    opam-installer --script --prefix=$out ocp-indent.install \
+    | sed s!lib/ocp-indent!lib/ocaml/${getVersion ocaml}/site-lib/ocp-indent! \
+    | sh
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://typerex.ocamlpro.com/ocp-indent.html";
+    description = "A customizable tool to indent OCaml code";
+    license = licenses.gpl3;
+    platforms = ocaml.meta.platforms;
+    maintainers = [ maintainers.jirkamarsik ];
+  };
+}
diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix
new file mode 100644
index 000000000000..7dbbf10b486c
--- /dev/null
+++ b/pkgs/development/tools/parsing/hammer/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchgit, glib, pkgconfig, python, scons, pythonPackages }:
+
+stdenv.mkDerivation rec {
+  name = "hammer-${version}";
+  version = "e7aa734";
+
+  src = fetchgit {
+    url = "git://github.com/UpstandingHackers/hammer";
+    sha256 = "1v8f2a6bgjgdkhbqz751bqjlwb9lmqn5x63xcskwcl2b9n36vqi9";
+    rev = "e7aa73446e23f4af2fce5f88572aae848f212c16";
+  };
+
+  buildInputs = [ glib pkgconfig python scons ];
+  buildPhase = "scons prefix=$out";
+  installPhase = "scons prefix=$out install";
+
+  meta = with stdenv.lib; {
+    description = "Hammer is a parsing library";
+    longDescription = "Hammer is a parsing library. Like many modern parsing libraries,
+	       it provides a parser combinator interface for writing grammars
+	       as inline domain-specific languages, but Hammer also provides a
+	       variety of parsing backends. It's also bit-oriented rather than
+	       character-oriented, making it ideal for parsing binary data such
+	       as images, network packets, audio, and executables.";
+    homepage = https://github.com/UpstandingHackers/hammer;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index c155cd309443..696a83e9d45d 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation {
     echo 'export SLIMERJSLAUNCHER=${xulrunner}/bin/xulrunner' >>  "$out/bin/slimerjs"
     echo "'$out/lib/slimerjs/slimerjs' \"\$@\"" >> "$out/bin/slimerjs"
     chmod a+x "$out/bin/slimerjs"
+    sed -e 's@MaxVersion=32[.]@MaxVersion=33.@' -i "$out/lib/slimerjs/application.ini"
   '';
   meta = {
     inherit (s) version;
diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix
index 089876173344..bebf2d80caad 100644
--- a/pkgs/development/web/remarkjs/default.nix
+++ b/pkgs/development/web/remarkjs/default.nix
@@ -14,11 +14,11 @@ let
 in stdenv.mkDerivation rec {
   name = "remarkjs-${version}";
 
-  version = "0.6.5";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "https://github.com/gnab/remark/archive/v${version}.tar.gz";
-    sha256 = "1bh3hmhq99qqd3qg747xwjqkyppc9vf3b5nhi56556rwc02cn17p";
+    sha256 = "1a2il6aa0g9cnig56ykmq8lr626pbxlsllk6js41h6gcn214rw60";
   };
 
   buildInputs = with nodePackages; [