@@ -3,22 +3,23 @@
33
44module HackageGit where
55
6−import Control.Monad
76import Control.Lens hiding ( (<.>) )
7+import Control.Monad
88import Data.Aeson
99import Data.ByteString.Char8 ( ByteString )
1010import qualified Data.ByteString.Char8 as BS
11−import OpenSSL.Digest ( digest, digestByName, toHex )
1211import Data.Map as Map
1312import Data.Set as Set
1413import Data.String
1514import Data.String.UTF8 ( toString, fromRep )
15+import Distribution.Nixpkgs.Hashes
1616import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
1717import Distribution.Package
1818import Distribution.PackageDescription
1919import Distribution.PackageDescription.Parse ( parsePackageDescription, ParseResult(..) )
2020import Distribution.Text
2121import Distribution.Version
22+import OpenSSL.Digest ( digest, digestByName )
2223import System.Directory
2324import System.FilePath
2425
@@ -49,7 +50,7 @@ readPackage dirPrefix (PackageIdentifier name version) = do
4950 cabal <- case parsePackageDescription (decodeUTF8 buf) of
5051 ParseOk _ a -> return a
5152 ParseFailed err -> fail (cabalFile ++ ": " ++ show err)
52− return (cabal, BS.unpack (toHex (digest (digestByName "sha256") buf)))
53+ return (cabal, printSHA256 (digest (digestByName "sha256") buf))
5354
5455declareLenses [d|
5556 data Meta = Meta { hashes :: Map String String
@@ -72,4 +73,4 @@ readPackageMeta dirPrefix (PackageIdentifier name version) = do
7273 buf <- BS.readFile metaFile
7374 case eitherDecodeStrict buf of
7475 Left msg -> fail (metaFile ++ ": " ++ msg)
75− Right x -> return x
76+ Right x -> return $ over (hashes . ix "SHA256") (printSHA256 . packHex) x