diff --git a/pkgs/development/libraries/haskell/dataenc/default.nix b/pkgs/development/libraries/haskell/dataenc/default.nix
index ba4b1edcc95f..2290a1f50923 100644
--- a/pkgs/development/libraries/haskell/dataenc/default.nix
+++ b/pkgs/development/libraries/haskell/dataenc/default.nix
@@ -2,10 +2,11 @@
 
 cabal.mkDerivation (self : {
   pname = "dataenc";
-  version = "0.11.1";
-  sha256 = "1212dbed8a1b8f80140d6450a7635a4365bc5733a00e2b96d00bcc526396c6bc";
+  version = "0.14";
+  sha256 = "0q92pzm6wp4rl92ac9b2x2b6na8nzhf229myc9h3cyr3p822liw6";
   meta = {
     description = "Data encoding library";
+    license = "BSD3";
   };
 })
 
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
new file mode 100644
index 000000000000..9b41f8e0396d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -0,0 +1,14 @@
+{cabal, monadControl, persistent, text, webRoutesQuasi}:
+
+cabal.mkDerivation (self : {
+  pname = "persistent-template";
+  version = "0.5.1";
+  sha256 = "163j36pm6fl64m4h8kgj9h19snh026ia1166p3c6rjw86qi9fk0r";
+  propagatedBuildInputs = [monadControl persistent text webRoutesQuasi];
+  meta = {
+    description = "Type-safe, non-relational, multi-backend persistence";
+    license = "BSD3";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index f8b733664d5e..cc093dddfa35 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -1,17 +1,15 @@
-{cabal, blazeHtml, MonadCatchIOTransformers, parsec, text, transformers,
- utf8String, webRoutesQuasi}:
+{cabal, blazeHtml, enumerator, monadControl, parsec, pool, text, transformers}:
 
 cabal.mkDerivation (self : {
   pname = "persistent";
-  version = "0.1.0";
-  sha256 = "32379f5ef937da1bf910cfaf9b6cce6326b8fba7554ef81159e6684c7ce2ca45";
+  version = "0.5.1";
+  sha256 = "1m0558vi99z15q0w62a9rkz25n8djswggbad9m0il359jb3mrzsd";
   propagatedBuildInputs = [
-    blazeHtml MonadCatchIOTransformers parsec text transformers
-    utf8String webRoutesQuasi
+    blazeHtml enumerator monadControl parsec pool text transformers
   ];
   meta = {
     description = "Type-safe, non-relational, multi-backend persistence";
-    license = "BSD";
+    license = "BSD3";
     maintainers = [self.stdenv.lib.maintainers.andres];
   };
 })
diff --git a/pkgs/development/libraries/haskell/pool/default.nix b/pkgs/development/libraries/haskell/pool/default.nix
new file mode 100644
index 000000000000..87dcecb35889
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pool/default.nix
@@ -0,0 +1,14 @@
+{cabal, monadControl, stm, transformers}:
+
+cabal.mkDerivation (self : {
+  pname = "pool";
+  version = "0.1.0.2";
+  sha256 = "1w2z3p3iriw43g655rhd5b70r3cbzl4jf8bybyk5d04x6mcg3wfq";
+  propagatedBuildInputs = [monadControl stm transformers];
+  meta = {
+    description = "Thread-safe resource pools";
+    license = "BSD3";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
+
diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
new file mode 100644
index 000000000000..ded78d7b3826
--- /dev/null
+++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
@@ -0,0 +1,16 @@
+{cabal, failure, persistent, persistentTemplate, transformers, yesodCore}:
+
+cabal.mkDerivation (self : {
+  pname = "yesod-persistent";
+  version = "0.1.0";
+  sha256 = "1h0kk3sx0c4c3pcg3s2c5kfy0kz7gci45h4gsgrkhkcgg0pg324c";
+  propagatedBuildInputs = [
+    failure persistent persistentTemplate transformers yesodCore
+  ];
+  meta = {
+    description = "Some helpers for using Persistent from Yesod";
+    license = "BSD3";
+    maintainers = [self.stdenv.lib.maintainers.andres];
+  };
+})
+
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index a95e6d34df2b..856a68d50b56 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -769,8 +769,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   persistent = callPackage ../development/libraries/haskell/persistent {};
 
+  persistentTemplate = callPackage ../development/libraries/haskell/persistent-template {};
+
   polyparse = callPackage ../development/libraries/haskell/polyparse {};
 
+  pool = callPackage ../development/libraries/haskell/pool {};
+
   ppm = callPackage ../development/libraries/haskell/ppm {};
 
   prettyShow = callPackage ../development/libraries/haskell/pretty-show {};
@@ -1044,6 +1048,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   yesodCore = callPackage ../development/libraries/haskell/yesod-core {};
 
+  yesodPersistent = callPackage ../development/libraries/haskell/yesod-persistent {};
+
   yst = callPackage ../development/libraries/haskell/yst {};
 
   zipArchive = callPackage ../development/libraries/haskell/zip-archive {};