git.iko.soy/typeable/cabal2nix
on master help sign in
Merge pull request #256 from Rotaerk/master

Enabled cabal2nix to hash the Cabal file when --hackage-db is specified.

commit496daecf048d7783192d403b075847bf93d8ecfb authorPeter Simons <simons@cryp.to> dateSun 18 Dec 2016, 10:35 (10 years ago) parentcb8e8a4f747e80
2 files changed+6−3
src/Distribution/Nixpkgs/Haskell/Hackage.hs+5−2 src/Distribution/Nixpkgs/Haskell/PackageSourceSpec.hs+1−1
src/Distribution/Nixpkgs/Haskell/Hackage.hs+5−2
@@ -1,4 +1,4 @@
1−module Distribution.Nixpkgs.Haskell.Hackage ( readHashedHackage, module Distribution.Hackage.DB ) where
1+module Distribution.Nixpkgs.Haskell.Hackage ( readHashedHackage, readHashedHackage', module Distribution.Hackage.DB ) where
22
33import Data.ByteString.Lazy ( ByteString )
44import Data.Digest.Pure.SHA ( sha256, showDigest )
@@ -13,7 +13,10 @@ import qualified Distribution.Hackage.DB.Unparsed as Unparsed
1313-- original tarball.
1414
1515readHashedHackage :: IO Hackage
16−readHashedHackage = fmap parseUnparsedHackage Unparsed.readHackage
16+readHashedHackage = hackagePath >>= readHashedHackage'
17+
18+readHashedHackage' :: FilePath -> IO Hackage
19+readHashedHackage' = fmap parseUnparsedHackage . Unparsed.readHackage'
1720 where
1821 parseUnparsedHackage :: Unparsed.Hackage -> Hackage
1922 parseUnparsedHackage = mapWithKey (mapWithKey . parsePackage)
src/Distribution/Nixpkgs/Haskell/PackageSourceSpec.hs+1−1
@@ -48,7 +48,7 @@ fetchOrFromDB optHackageDB src
4848
4949fromDB :: Maybe String -> String -> IO Cabal.GenericPackageDescription
5050fromDB optHackageDB pkg = do
51− pkgDesc <- (lookupVersion <=< DB.lookup name) <$> maybe DB.readHashedHackage DB.readHackage' optHackageDB
51+ pkgDesc <- (lookupVersion <=< DB.lookup name) <$> maybe DB.readHashedHackage DB.readHashedHackage' optHackageDB
5252 case pkgDesc of
5353 Just r -> return r
5454 Nothing -> hPutStrLn stderr "*** no such package in the cabal database (did you run cabal update?). " >> exitFailure