on master help sign in
tar 0.3
5697fddMichael Snoyman
Stackage/LoadDatabase.hs+5−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
1module Stackage.LoadDatabase where
2module Stackage.LoadDatabase where
2
3
3import qualified Codec.Archive.Tar as Tar
4import qualified Codec.Archive.Tar as Tar
@@ -43,8 +44,11 @@ loadPackageDB core deps = do
43 lbs <- L.readFile tarName
44 lbs <- L.readFile tarName
44 addEntries mempty $ Tar.read lbs
45 addEntries mempty $ Tar.read lbs
45 where
46 where
46− addEntries :: PackageDB -> Tar.Entries Tar.FormatError -> IO PackageDB
47+#if MIN_VERSION_tar(0, 4, 0)
47 addEntries _ (Tar.Fail e) = throwIO e
48 addEntries _ (Tar.Fail e) = throwIO e
49+#else
50+ addEntries _ (Tar.Fail e) = error e
51+#endif
48 addEntries db Tar.Done = return db
52 addEntries db Tar.Done = return db
49 addEntries db (Tar.Next e es) = addEntry db e >>= flip addEntries es
53 addEntries db (Tar.Next e es) = addEntry db e >>= flip addEntries es
50
54
Stackage/Tarballs.hs+5
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
1module Stackage.Tarballs
2module Stackage.Tarballs
2 ( makeTarballs
3 ( makeTarballs
3 ) where
4 ) where
@@ -26,7 +27,11 @@ makeTarballs ii = do
26 createDirectoryIfMissing True $ takeDirectory extraTar
27 createDirectoryIfMissing True $ takeDirectory extraTar
27 L.writeFile extraTar $ Tar.write extraEntries
28 L.writeFile extraTar $ Tar.write extraEntries
28 where
29 where
30+#if MIN_VERSION_tar(0, 4, 0)
29 loop _ _ (Tar.Fail err) = throwIO err
31 loop _ _ (Tar.Fail err) = throwIO err
32+#else
33+ loop _ _ (Tar.Fail err) = error err
34+#endif
30 loop stable extra Tar.Done = return (stable [], extra [])
35 loop stable extra Tar.Done = return (stable [], extra [])
31 loop stable extra (Tar.Next e es) =
36 loop stable extra (Tar.Next e es) =
32 loop stable' extra' es
37 loop stable' extra' es
stackage.cabal+1−1
@@ -30,7 +30,7 @@ library
30 build-depends: base >= 4 && < 5
30 build-depends: base >= 4 && < 5
31 , containers
31 , containers
32 , Cabal
32 , Cabal
33− , tar >= 0.4
33+ , tar >= 0.3
34 , bytestring
34 , bytestring
35 , directory
35 , directory
36 , filepath
36 , filepath