diff --git a/manifest.dhall b/manifest.dhall
index 2fcb9f15d6e7d72fe94eff7161c81405c7c7f81c..28318883fa3aa445bd0b07bf60071ac68c002e9b 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -83,6 +83,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "assoc" "1.0.2"
     , callHackage "async" "2.2.4"
     , callHackage "atomic-primops" "0.8.4"
+    , callHackage "attoparsec-binary" "0.2"
     , callHackage "attoparsec-iso8601" "1.1.0.0"
     , callHackage "attoparsec" "0.14.4"
     , callHackage "autodocodec" "0.2.0.1"
diff --git a/overlay.nix b/overlay.nix
index 23f7d738b65827dba22ae1f96342bc73e37a12da..c24a297f01cd7c9c5305c0b1e63e6c3483863035 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -51,6 +51,8 @@ final: prev: with pkgs.haskell.lib; {
 
   attoparsec = prev.callPackage (./pkgs/attoparsec.nix) { };
 
+  attoparsec-binary = prev.callPackage (./pkgs/attoparsec-binary.nix) { };
+
   attoparsec-iso8601 = prev.callPackage (./pkgs/attoparsec-iso8601.nix) { };
 
   autodocodec = prev.callPackage (./pkgs/autodocodec.nix) { };
diff --git a/pkgs/attoparsec-binary.nix b/pkgs/attoparsec-binary.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9c7b03fe770ff0febcde56101a213fb31fe7e862
--- /dev/null
+++ b/pkgs/attoparsec-binary.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, attoparsec, base, bytestring, lib }:
+mkDerivation {
+  pname = "attoparsec-binary";
+  version = "0.2";
+  sha256 = "05e6445b20b396c99275de3e37bf8bb18559a5666ad5136907857bf574e77a0b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ attoparsec base bytestring ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Binary processing extensions to Attoparsec";
+  license = lib.licenses.bsd3;
+  broken = false;
+}