diff --git a/pkgs/development/libraries/haskell/json/default.nix b/pkgs/development/libraries/haskell/json/0.4.4.nix
similarity index 100%
rename from pkgs/development/libraries/haskell/json/default.nix
rename to pkgs/development/libraries/haskell/json/0.4.4.nix
diff --git a/pkgs/development/libraries/haskell/json/0.5.nix b/pkgs/development/libraries/haskell/json/0.5.nix
new file mode 100644
index 000000000000..a748c2b4f587
--- /dev/null
+++ b/pkgs/development/libraries/haskell/json/0.5.nix
@@ -0,0 +1,17 @@
+{ cabal, mtl, parsec, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "json";
+  version = "0.5";
+  sha256 = "12jbvq0lp7z5q6g94pv8s5455yydfyh9h2xlr76wqzfh3myvy6fl";
+  buildDepends = [ mtl parsec syb ];
+  meta = {
+    description = "Support for serialising Haskell to and from JSON";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [
+      self.stdenv.lib.maintainers.andres
+      self.stdenv.lib.maintainers.simons
+    ];
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 0b5547db958b..7c7cc98a4ed0 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -793,7 +793,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     WebBitsHtml = self.WebBitsHtml_1_0_1;
   };
 
-  json = callPackage ../development/libraries/haskell/json/default.nix {};
+  json_0_4_4 = callPackage ../development/libraries/haskell/json/0.4.4.nix {};
+  json_0_5 = callPackage ../development/libraries/haskell/json/0.5.nix {};
+  json = self.json_0_4_4;
 
   jsonEnumerator = callPackage ../development/libraries/haskell/jsonEnumerator {};