Fix build with attoparsec-0.14

It changed parseOnly in the ByteString.Lazy module to take a lazy, not
strict ByteString. In all these cases though, we actually had a strict
ByteString, so the most efficient fix, which also happens to avoid needing
ifdefs, is to use the non-lazy module instead.

This commit was sponsored by Denis Dzyubenko on Patreon.
This commit is contained in:
Joey Hess 2021-03-24 12:11:50 -04:00
parent 41d9148c72
commit 4631d1ab56
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
7 changed files with 13 additions and 10 deletions

View file

@ -24,6 +24,7 @@ git-annex (8.20210311) UNRELEASED; urgency=medium
* New annex.supportunlocked config that can be set to false to avoid
some expensive things needed to support unlocked files.
* Sped up git-annex init in a clone of an existing repository.
* Fix build with attoparsec-0.14.
-- Joey Hess <id@joeyh.name> Fri, 12 Mar 2021 12:06:37 -0400

View file

@ -17,7 +17,7 @@ import Utility.Base64
import qualified Data.ByteString as S
import qualified Data.ByteString.Char8 as S8
import qualified Data.ByteString.Lazy as L
import qualified Data.Attoparsec.ByteString.Lazy as A
import qualified Data.Attoparsec.ByteString as A
import qualified Data.Attoparsec.ByteString.Char8 as A8
import Data.ByteString.Builder
import Data.List.NonEmpty (NonEmpty(..))

View file

@ -9,7 +9,7 @@ module Logs.Line where
import Common
import qualified Data.Attoparsec.ByteString.Lazy as A
import qualified Data.Attoparsec.ByteString as A
import Data.Attoparsec.ByteString.Char8 (isEndOfLine)
import qualified Data.DList as D

View file

@ -24,7 +24,8 @@ import Utility.QuickCheck
import qualified Data.ByteString.Lazy as L
import qualified Data.Map.Strict as M
import qualified Data.Attoparsec.ByteString.Lazy as A
import qualified Data.Attoparsec.ByteString as A
import qualified Data.Attoparsec.ByteString.Lazy as AL
import qualified Data.Attoparsec.ByteString.Char8 as A8
import Data.ByteString.Builder
@ -49,8 +50,8 @@ buildMapLog fieldbuilder valuebuilder = mconcat . map genline . M.toList
nl = charUtf8 '\n'
parseMapLog :: Ord f => A.Parser f -> A.Parser v -> L.ByteString -> MapLog f v
parseMapLog fieldparser valueparser = fromMaybe M.empty . A.maybeResult
. A.parse (mapLogParser fieldparser valueparser)
parseMapLog fieldparser valueparser = fromMaybe M.empty . AL.maybeResult
. AL.parse (mapLogParser fieldparser valueparser)
mapLogParser :: Ord f => A.Parser f -> A.Parser v -> A.Parser (MapLog f v)
mapLogParser fieldparser valueparser = M.fromListWith best <$> parseLogLines go

View file

@ -27,7 +27,7 @@ import Utility.QuickCheck
import qualified Data.ByteString.Lazy as L
import qualified Data.Map as M
import Data.Char
import qualified Data.Attoparsec.ByteString.Lazy as A
import qualified Data.Attoparsec.ByteString as A
import Data.ByteString.Builder
calcRemoteConfigMap :: L.ByteString -> M.Map UUID RemoteConfig

View file

@ -14,7 +14,7 @@ import Types.TrustLevel
import Logs.UUIDBased
import qualified Data.ByteString.Lazy as L
import qualified Data.Attoparsec.ByteString.Lazy as A
import qualified Data.Attoparsec.ByteString as A
import qualified Data.Attoparsec.ByteString.Char8 as A8
import Data.ByteString.Builder

View file

@ -41,7 +41,8 @@ import Logs.Line
import qualified Data.ByteString as S
import qualified Data.ByteString.Lazy as L
import qualified Data.Attoparsec.ByteString.Lazy as A
import qualified Data.Attoparsec.ByteString as A
import qualified Data.Attoparsec.ByteString.Lazy as AL
import qualified Data.Attoparsec.ByteString.Char8 as A8
import Data.ByteString.Builder
import qualified Data.DList as D
@ -63,8 +64,8 @@ parseLogOld :: A.Parser a -> L.ByteString -> Log a
parseLogOld = parseLogOldWithUUID . const
parseLogOldWithUUID :: (UUID -> A.Parser a) -> L.ByteString -> Log a
parseLogOldWithUUID parser = fromMaybe M.empty . A.maybeResult
. A.parse (logParserOld parser)
parseLogOldWithUUID parser = fromMaybe M.empty . AL.maybeResult
. AL.parse (logParserOld parser)
logParserOld :: (UUID -> A.Parser a) -> A.Parser (Log a)
logParserOld parser = M.fromListWith best <$> parseLogLines go