Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/38189542de8b4b09b99a4eb6914d691eb8cc3641 >--------------------------------------------------------------- commit 38189542de8b4b09b99a4eb6914d691eb8cc3641 Author: bjorn <[email protected]> Date: Sun Oct 7 10:02:58 2007 +0000 Replace zlib use by compression. >--------------------------------------------------------------- cabal-install/TODO | 2 -- cabal-install/cabal-install.cabal | 2 +- .../src/Network/Hackage/CabalInstall/Tar.hs | 7 ++++--- .../src/Network/Hackage/CabalInstall/Update.hs | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/cabal-install/TODO b/cabal-install/TODO index 08b0af8..b8636f0 100644 --- a/cabal-install/TODO +++ b/cabal-install/TODO @@ -7,5 +7,3 @@ - Overhaul verbosity - Figure out command-line interface - -- Get rid of zlib dependency diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal index c7b3813..0062935 100644 --- a/cabal-install/cabal-install.cabal +++ b/cabal-install/cabal-install.cabal @@ -15,7 +15,7 @@ Build-depends: base, mtl, network, regex-compat, filepath >= 1.0, Cabal>=1.3, HTTP >= 3000.0 && < 3000.1, - zlib >= 0.3 + compression >= 0.1 Extra-Source-Files: copyright README Executable: cabal-install diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Tar.hs b/cabal-install/src/Network/Hackage/CabalInstall/Tar.hs index 9651c25..fbba172 100644 --- a/cabal-install/src/Network/Hackage/CabalInstall/Tar.hs +++ b/cabal-install/src/Network/Hackage/CabalInstall/Tar.hs @@ -1,7 +1,7 @@ -- | Simplistic TAR archive reading. Only gets the file names and file contents. module Network.Hackage.CabalInstall.Tar (TarHeader(..), TarFileType(..), readTarArchive, extractTarArchive, - extractTarGzFile) where + extractTarGzFile, gunzip) where import qualified Data.ByteString.Lazy.Char8 as BS import Data.ByteString.Lazy.Char8 (ByteString) @@ -15,7 +15,8 @@ import System.Directory (Permissions(..), setPermissions, createDirectoryIfMissi import System.FilePath ((</>), isValid, isAbsolute) import System.Posix.Types (FileMode) -import Codec.Compression.GZip (decompress) +--import Codec.Compression.GZip (decompress) +import Codec.Compression.GZip.GUnZip (gunzip) data TarHeader = TarHeader { tarFileName :: FilePath, @@ -43,7 +44,7 @@ extractTarGzFile :: Maybe FilePath -- ^ Destination directory -> FilePath -- ^ Tarball -> IO () extractTarGzFile mdir file = - BS.readFile file >>= extractTarArchive mdir . readTarArchive . decompress + BS.readFile file >>= extractTarArchive mdir . readTarArchive . gunzip -- -- * Extracting diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Update.hs b/cabal-install/src/Network/Hackage/CabalInstall/Update.hs index 78db174..e1a7ba3 100644 --- a/cabal-install/src/Network/Hackage/CabalInstall/Update.hs +++ b/cabal-install/src/Network/Hackage/CabalInstall/Update.hs @@ -17,13 +17,13 @@ module Network.Hackage.CabalInstall.Update import Network.Hackage.CabalInstall.Types (ConfigFlags (..), PkgInfo(..), Repo(..)) import Network.Hackage.CabalInstall.Utils (isVerbose) import Network.Hackage.CabalInstall.Fetch (downloadIndex, packagesDirectory) +import Network.Hackage.CabalInstall.Tar (gunzip) import Distribution.Package (PackageIdentifier(..), pkgName, showPackageId) import Distribution.PackageDescription (PackageDescription(..), readPackageDescription, GenericPackageDescription(..)) import Distribution.Verbosity import System.FilePath ((</>), joinPath, addExtension, takeExtension, dropExtension) -import Codec.Compression.GZip(decompress) import Control.Monad (liftM, when) import qualified Data.ByteString.Lazy.Char8 as BS import Data.ByteString.Lazy.Char8 (ByteString) @@ -41,4 +41,4 @@ updateRepo :: ConfigFlags updateRepo cfg repo = do printf "Downloading package list from server '%s'\n" (repoURL repo) indexPath <- downloadIndex cfg repo - BS.readFile indexPath >>= BS.writeFile (dropExtension indexPath) . decompress + BS.readFile indexPath >>= BS.writeFile (dropExtension indexPath) . gunzip _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
