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

View File

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