diff --git a/pkgs/development/libraries/haskell/base32-bytestring/default.nix b/pkgs/development/libraries/haskell/base32-bytestring/default.nix
new file mode 100644
index 000000000000..d6f91424da23
--- /dev/null
+++ b/pkgs/development/libraries/haskell/base32-bytestring/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bitsExtras, cpu, hspec, QuickCheck }:
+
+cabal.mkDerivation (self: {
+  pname = "base32-bytestring";
+  version = "0.2.1.0";
+  sha256 = "0z0q3fw3jzprgxmq9b2iz98kf4hwl3nydrzlaiwk81aplisfdgkl";
+  buildDepends = [ bitsExtras cpu ];
+  testDepends = [ hspec QuickCheck ];
+  meta = {
+    homepage = "https://github.com/pxqr/base32-bytestring";
+    description = "Fast base32 and base32hex codec for ByteStrings";
+    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/bits-extras/default.nix b/pkgs/development/libraries/haskell/bits-extras/default.nix
new file mode 100644
index 000000000000..3876eabfcaf7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bits-extras/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "bits-extras";
+  version = "0.1.3";
+  sha256 = "0sy9dksmdx0773bsn8yi5hw4qpgn16g8aqqj888w1x75cbsxr997";
+  isLibrary = true;
+  isExecutable = true;
+  configureFlags = "--ghc-option=-lgcc_s";
+  meta = {
+    description = "Efficient high-level bit operations not found in Data.Bits";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
+  };
+})
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index a04a50844cca..3b88d80aa1e5 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -221,6 +221,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   base16Bytestring = callPackage ../development/libraries/haskell/base16-bytestring {};
 
+  base32Bytestring = callPackage ../development/libraries/haskell/base32-bytestring {};
+
   base64String = callPackage ../development/libraries/haskell/base64-string {};
 
   base64Bytestring = callPackage ../development/libraries/haskell/base64-bytestring {};
@@ -267,6 +269,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   bitsAtomic = callPackage ../development/libraries/haskell/bits-atomic {};
 
+  bitsExtras = callPackage ../development/libraries/haskell/bits-extras {};
+
   bktrees = callPackage ../development/libraries/haskell/bktrees {};
 
   blazeBuilder = callPackage ../development/libraries/haskell/blaze-builder {};