git.iko.soy/typeable/stackage2nix
on master help sign in
Support hackage-db flag
commit2b92d5c2d5e76b9c2ce06081611cedf3ad2e9d09 authorDmitry Bushev <bushevdv@gmail.com> dateThu 14 Sep 2017, 00:55 (9 years ago) parent6199a26
2 files changed+12−9
src/LtsHaskell.hs+10−9 src/Runner.hs+2
src/LtsHaskell.hs+10−9
@@ -48,15 +48,15 @@ getPackageFromRepo allCabalHashesPath mSha1Hash pkgId = do
4848 source = DerivationSource "url" ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") "" tarballSHA256
4949 return $ Package source pkgDesc
5050
51−getPackageFromDb :: PackageIdentifier -> IO Package
52−getPackageFromDb pkgId =
53− getStackPackageFromDb Nothing
51+getPackageFromDb :: Maybe HackageDb -> PackageIdentifier -> IO Package
52+getPackageFromDb mHackageDb pkgId =
53+ getStackPackageFromDb mHackageDb
5454 $ StackPackage (HackagePackage (T.pack $ Text.display pkgId)) True Nothing
5555
56−loadPackage :: FilePath -> Maybe SHA1Hash -> PackageIdentifier -> IO Package
57−loadPackage allCabalHashesPath mSha1Hash pkgId =
56+loadPackage :: Maybe HackageDb -> FilePath -> Maybe SHA1Hash -> PackageIdentifier -> IO Package
57+loadPackage mHackageDb allCabalHashesPath mSha1Hash pkgId =
5858 getPackageFromRepo allCabalHashesPath mSha1Hash pkgId
59− `catchIOError` const (getPackageFromDb pkgId)
59+ `catchIOError` const (getPackageFromDb mHackageDb pkgId)
6060
6161ghcCompilerInfo :: Version -> CompilerInfo
6262ghcCompilerInfo v = CompilerInfo
@@ -72,17 +72,18 @@ buildPlanContainsDependency packageVersions (Dependency depName versionRange) =
7272 maybe False (`withinRange` versionRange) $ Map.lookup depName packageVersions
7373
7474buildPackageSetConfig
75− :: FilePath
75+ :: Maybe HackageDb
76+ -> FilePath
7677 -> FilePath
7778 -> BuildPlan
7879 -> IO PackageSetConfig
79−buildPackageSetConfig optAllCabalHashes optNixpkgsRepository buildPlan = do
80+buildPackageSetConfig mHackageDb optAllCabalHashes optNixpkgsRepository buildPlan = do
8081 nixpkgs <- readNixpkgPackageMap optNixpkgsRepository Nothing
8182 let
8283 systemInfo = bpSystemInfo buildPlan
8384 packageVersions = fmap ppVersion (bpPackages buildPlan) `Map.union` siCorePackages systemInfo
8485 return PackageSetConfig
85− { packageLoader = loadPackage optAllCabalHashes
86+ { packageLoader = loadPackage mHackageDb optAllCabalHashes
8687 , targetPlatform = Platform (siArch systemInfo) (siOS systemInfo)
8788 , targetCompiler = ghcCompilerInfo (siGhcVersion systemInfo)
8889 , nixpkgsResolver = resolve (Map.map (Set.map (over path ("pkgs":))) nixpkgs)
src/Runner.hs+2
@@ -36,6 +36,7 @@ run = do
3636 let buildPlanFile = LH.buildPlanFilePath (opts ^. optLtsHaskellRepo) (stackConf ^. scResolver)
3737 buildPlan <- LH.loadBuildPlan buildPlanFile
3838 packageSetConfig <- LH.buildPackageSetConfig
39+ (opts ^. optHackageDb)
3940 (opts ^. optAllCabalHashesRepo)
4041 (opts ^. optNixpkgsRepository)
4142 buildPlan
@@ -90,6 +91,7 @@ run = do
9091 , enableHaddock = opts ^. optDoHaddockStackage }
9192 buildPlan <- LH.loadBuildPlan buildPlanFile
9293 packageSetConfig <- LH.buildPackageSetConfig
94+ (opts ^. optHackageDb)
9395 (opts ^. optAllCabalHashesRepo)
9496 (opts ^. optNixpkgsRepository)
9597 buildPlan