File base16-bytestring.patch of Package cabal-install
diff --git a/cabal-install/Distribution/Client/HashValue.hs b/cabal-install/Distribution/Client/HashValue.hs
index d41c70bf4..255065f16 100644
--- a/cabal-install/Distribution/Client/HashValue.hs
+++ b/cabal-install/Distribution/Client/HashValue.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
module Distribution.Client.HashValue (
@@ -71,9 +72,14 @@ hashFromTUF (Sec.Hash hashstr) =
--TODO: [code cleanup] either we should get TUF to use raw bytestrings or
-- perhaps we should also just use a base16 string as the internal rep.
case Base16.decode (BS.pack hashstr) of
+#if MIN_VERSION_base16_bytestring(1,0,0)
+ Right hash -> HashValue hash
+ Left _ -> error "hashFromTUF: cannot decode base16 hash"
+#else
(hash, trailing) | not (BS.null hash) && BS.null trailing
-> HashValue hash
_ -> error "hashFromTUF: cannot decode base16 hash"
+#endif
-- | Truncate a 32 byte SHA256 hash to
diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal
index 4513feb98..efef50cd1 100644
--- a/cabal-install/cabal-install.cabal
+++ b/cabal-install/cabal-install.cabal
@@ -337,7 +337,7 @@ executable cabal
async >= 2.0 && < 2.3,
array >= 0.4 && < 0.6,
base >= 4.8 && < 4.15,
- base16-bytestring >= 0.1.1 && < 0.2,
+ base16-bytestring >= 0.1.1 && < 1.1,
binary >= 0.7.3 && < 0.9,
bytestring >= 0.10.6.0 && < 0.11,
Cabal == 3.2.*,