@@ -48,15 +48,15 @@ getPackageFromRepo allCabalHashesPath mSha1Hash pkgId = do
48 source = DerivationSource "url" ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") "" tarballSHA256
48 source = DerivationSource "url" ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") "" tarballSHA256
49 return $ Package source pkgDesc
49 return $ Package source pkgDesc
51−getPackageFromDb :: PackageIdentifier -> IO Package
51+getPackageFromDb :: Maybe HackageDb -> PackageIdentifier -> IO Package
52−getPackageFromDb pkgId =
52+getPackageFromDb mHackageDb pkgId =
53− getStackPackageFromDb Nothing
53+ getStackPackageFromDb mHackageDb
54 $ StackPackage (HackagePackage (T.pack $ Text.display pkgId)) True Nothing
54 $ StackPackage (HackagePackage (T.pack $ Text.display pkgId)) True Nothing
56−loadPackage :: FilePath -> Maybe SHA1Hash -> PackageIdentifier -> IO Package
56+loadPackage :: Maybe HackageDb -> FilePath -> Maybe SHA1Hash -> PackageIdentifier -> IO Package
57−loadPackage allCabalHashesPath mSha1Hash pkgId =
57+loadPackage mHackageDb allCabalHashesPath mSha1Hash pkgId =
58 getPackageFromRepo allCabalHashesPath mSha1Hash pkgId
58 getPackageFromRepo allCabalHashesPath mSha1Hash pkgId
59− `catchIOError` const (getPackageFromDb pkgId)
59+ `catchIOError` const (getPackageFromDb mHackageDb pkgId)
61ghcCompilerInfo :: Version -> CompilerInfo
61ghcCompilerInfo :: Version -> CompilerInfo
62ghcCompilerInfo v = CompilerInfo
62ghcCompilerInfo v = CompilerInfo
@@ -72,17 +72,18 @@ buildPlanContainsDependency packageVersions (Dependency depName versionRange) =
72 maybe False (`withinRange` versionRange) $ Map.lookup depName packageVersions
72 maybe False (`withinRange` versionRange) $ Map.lookup depName packageVersions
74buildPackageSetConfig
74buildPackageSetConfig
75− :: FilePath
76+ -> FilePath
76 -> FilePath
77 -> FilePath
77 -> BuildPlan
78 -> BuildPlan
78 -> IO PackageSetConfig
79 -> IO PackageSetConfig
79−buildPackageSetConfig optAllCabalHashes optNixpkgsRepository buildPlan = do
80+buildPackageSetConfig mHackageDb optAllCabalHashes optNixpkgsRepository buildPlan = do
80 nixpkgs <- readNixpkgPackageMap optNixpkgsRepository Nothing
81 nixpkgs <- readNixpkgPackageMap optNixpkgsRepository Nothing
82 systemInfo = bpSystemInfo buildPlan
83 systemInfo = bpSystemInfo buildPlan
83 packageVersions = fmap ppVersion (bpPackages buildPlan) `Map.union` siCorePackages systemInfo
84 packageVersions = fmap ppVersion (bpPackages buildPlan) `Map.union` siCorePackages systemInfo
84 return PackageSetConfig
85 return PackageSetConfig
85− { packageLoader = loadPackage optAllCabalHashes
86+ { packageLoader = loadPackage mHackageDb optAllCabalHashes
86 , targetPlatform = Platform (siArch systemInfo) (siOS systemInfo)
87 , targetPlatform = Platform (siArch systemInfo) (siOS systemInfo)
87 , targetCompiler = ghcCompilerInfo (siGhcVersion systemInfo)
88 , targetCompiler = ghcCompilerInfo (siGhcVersion systemInfo)
88 , nixpkgsResolver = resolve (Map.map (Set.map (over path ("pkgs":))) nixpkgs)
89 , nixpkgsResolver = resolve (Map.map (Set.map (over path ("pkgs":))) nixpkgs)