@@ -1,7 +1,11 @@
1{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE TemplateHaskell #-}
2{-# LANGUAGE TemplateHaskell #-}
4−module HackageGit where
4+module HackageGit
5+ ( Hackage, readHackage, readPackage, readPackageMeta
6import Control.Lens hiding ( (<.>) )
10import Control.Lens hiding ( (<.>) )
7import Control.Monad
11import Control.Monad
@@ -54,8 +58,6 @@ readPackage dirPrefix (PackageIdentifier name version) = do
55declareLenses [d|
59declareLenses [d|
56 data Meta = Meta { hashes :: Map String String
60 data Meta = Meta { hashes :: Map String String
57− , locations :: [String]
60 deriving (Show)
62 deriving (Show)
@@ -63,8 +65,6 @@ declareLenses [d|
63instance FromJSON Meta where
65instance FromJSON Meta where
64 parseJSON (Object v) = Meta
66 parseJSON (Object v) = Meta
65 <$> v .: "package-hashes"
67 <$> v .: "package-hashes"
66− <*> v .: "package-locations"
67− <*> v .: "package-size"
68 parseJSON o = fail ("invalid Cabal metadata: " ++ show o)
68 parseJSON o = fail ("invalid Cabal metadata: " ++ show o)
70readPackageMeta :: FilePath -> PackageIdentifier -> IO Meta
70readPackageMeta :: FilePath -> PackageIdentifier -> IO Meta