Compatibility with ghc 7.10, at least for library

Disable executables for now
This commit is contained in:
Dylan Simon 2017-05-15 15:53:53 -04:00
parent 1e48f12f20
commit 47f13c3f3d
2 changed files with 33 additions and 22 deletions

View File

@ -32,7 +32,6 @@ import qualified Data.Conduit.Zlib as CZ
import Data.Digest.CRC32 (crc32)
import Data.Either (isLeft)
import Data.Maybe (fromMaybe, fromJust)
import Data.Monoid ((<>))
import Data.Time (LocalTime(..), TimeOfDay(..), toGregorian)
import Data.Word (Word16, Word64)
@ -95,7 +94,7 @@ maxBound16 = fromIntegral (maxBound :: Word16)
-- Any errors are thrown in the underlying monad (as 'ZipError's).
zipStream :: (MonadBase b m, PrimMonad b, MonadThrow m) => ZipOptions -> C.ConduitM (ZipEntry, ZipData m) BS.ByteString m Word64
zipStream ZipOptions{..} = execStateC 0 $ do
(cnt, cdir) <- next 0 (mempty :: P.Put)
(cnt, cdir) <- next 0 (return ())
cdoff <- get
output cdir
eoff <- get
@ -105,7 +104,7 @@ zipStream ZipOptions{..} = execStateC 0 $ do
(return (cnt, dir))
(\e -> do
d <- entry e
next (succ cnt) $ dir <> d)
next (succ cnt) $ dir >> d)
entry (ZipEntry{..}, zipData -> dat) = do
let usiz = dataSize dat
sdat = left ((C..| sizeCRC) . C.toProducer) dat

View File

@ -15,6 +15,10 @@ source-repository head
type: git
location: https://github.com/dylex/zip-stream
flag commands
description: Build command-line zip/unzip testing programs
default: True
library
exposed-modules:
Codec.Archive.Zip.Conduit.Types
@ -41,32 +45,40 @@ library
zlib
executable unzip-stream
if !flag(commands)
buildable: False
main-is: unzip.hs
hs-source-dirs: cmd
default-language: Haskell2010
ghc-options: -Wall
build-depends:
base >=4.7 && <5,
bytestring,
conduit,
conduit-extra,
directory,
filepath,
time,
zip-stream
if flag(commands)
build-depends:
base >=4.9 && <5,
bytestring,
conduit,
conduit-extra,
directory >= 1.2.3,
filepath,
time,
zip-stream
else
buildable: False
executable zip-stream
main-is: zip.hs
hs-source-dirs: cmd
default-language: Haskell2010
ghc-options: -Wall
build-depends:
base >=4.7 && <5,
bytestring,
conduit,
conduit-extra,
directory,
filepath,
resourcet,
time,
zip-stream
if flag(commands)
build-depends:
base >=4.9 && <5,
bytestring,
conduit,
conduit-extra,
directory >= 1.2.6,
filepath,
resourcet,
time,
zip-stream
else
buildable: False