@@ -1,3 +1,4 @@
1module Distribution.Nixpkgs.Haskell.PackageSourceSpec
2module Distribution.Nixpkgs.Haskell.PackageSourceSpec
2 ( Package(..), getPackage, getPackage', loadHackageDB, sourceFromHackage
3 ( Package(..), getPackage, getPackage', loadHackageDB, sourceFromHackage
@@ -191,10 +192,18 @@ handleIO = Exception.handle
192hpackDirectory :: FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
193hpackDirectory :: FilePath -> MaybeT IO (Bool, Cabal.GenericPackageDescription)
193hpackDirectory dir = do
194hpackDirectory dir = do
195+#if MIN_VERSION_hpack(0,22,0)
196+ mPackage <- liftIO $ Hpack.readPackageConfig "" $ dir </> "package.yaml"
194 mPackage <- liftIO $ Hpack.readPackageConfig $ dir </> "package.yaml"
198 mPackage <- liftIO $ Hpack.readPackageConfig $ dir </> "package.yaml"
195 case mPackage of
200 case mPackage of
196 Left err -> liftIO $ hPutStrLn stderr ("*** hpack error: " ++ show err ++ ". Exiting.") >> exitFailure
201 Left err -> liftIO $ hPutStrLn stderr ("*** hpack error: " ++ show err ++ ". Exiting.") >> exitFailure
202+#if MIN_VERSION_hpack(0,22,0)
203+ Right (pkg', _) -> do
197 Right (_, pkg') -> do
205 Right (_, pkg') -> do
198 let hpackOutput = Hpack.renderPackage Hpack.defaultRenderSettings 2 [] [] pkg'
207 let hpackOutput = Hpack.renderPackage Hpack.defaultRenderSettings 2 [] [] pkg'
199 hash = printSHA256 $ digestString (digestByName "sha256") hpackOutput
208 hash = printSHA256 $ digestString (digestByName "sha256") hpackOutput
200 case parseGenericPackageDescription hpackOutput of
209 case parseGenericPackageDescription hpackOutput of