diff --git a/manifest.dhall b/manifest.dhall
index 95d97a0656b53d43a078ebdebcf01787f46ccc28..526e49ddadca3ce6a1b5c5baaf92fa1581e569ef 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -233,6 +233,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "deriving-aeson" "0.2.8"
     , callHackage "dhall" "1.41.2"
     , callHackage "dhall-json" "1.7.11"
+    , callHackage "digest" "0.0.1.3"
     , callHackage "dimensional" "1.5"
     , callHackage "direct-sqlite" "2.3.27"
     , callCabal2nix
diff --git a/overlay.nix b/overlay.nix
index 449d0f253964812da8873efd54b1c5bdd7e9bb86..a70b54651c1256e1557b76ca98c47f3ed08297d0 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -319,6 +319,8 @@ self: with pkgs.haskell.lib; {
 
   dhall-json = self.callPackage (./pkgs/dhall-json.nix) { };
 
+  digest = self.callPackage (./pkgs/digest.nix) { };
+
   dimensional = self.callPackage (./pkgs/dimensional.nix) { };
 
   direct-sqlite = self.callPackage (./pkgs/direct-sqlite.nix) { };
diff --git a/pkgs/digest.nix b/pkgs/digest.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5796f98cb5c0f1cb68a9a952f3770c1c90309dee
--- /dev/null
+++ b/pkgs/digest.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, bytestring, lib, zlib }:
+mkDerivation {
+  pname = "digest";
+  version = "0.0.1.3";
+  sha256 = "5596a53e17c036b9b2aefbed069ec819b36fefcd4bed21330ae0ee5be840a3d0";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bytestring ];
+  librarySystemDepends = [ zlib ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now";
+  license = lib.licenses.bsd3;
+  broken = false;
+}