@@ -244,6 +244,7 @@ import System.FilePath
244244import  qualified  Text.PrettyPrint  as  Disp 
245245
246246import  GHC.Stack  (HasCallStack )
247+ --  import qualified Distribution.Solver.Types.PackageIndex as XXX
247248
248249--  |  Check that an 'ElaboratedConfiguredPackage' actually makes 
249250--  sense under some 'ElaboratedSharedConfig'. 
@@ -833,13 +834,17 @@ rebuildInstallPlan
833834
834835              --  NOTE: sourcePkgDbs is the stuff that we pull from Hackage
835836              --        and similar Indices!
836-               (sourcePkgDb , tis, ar) <- 
837+               (sourcePkgDb_ , tis, ar) <- 
837838                getSourcePackages
838839                  verbosity
839840                  withRepoCtx
840841                  (solverSettingIndexState solverSettings)
841842                  (solverSettingActiveRepos solverSettings)
842843
844+               --  FIXME: we are duplicating the index here, bad for memory use :-/
845+               let  sourcePkgDb =  sourcePkgDb_{packageIndex =   (addCompilerIdToSrcPkg (compilerIdFor Build  toolchains) <$>  packageIndex sourcePkgDb_)
846+                                                           <>  (addCompilerIdToSrcPkg (compilerIdFor Host   toolchains) <$>  packageIndex sourcePkgDb_) }
847+ 
843848              pkgConfigDB <-  getPkgConfigDb verbosity (toolchainProgramDb $  buildToolchain toolchains)
844849
845850              --  TODO: [code cleanup] it'd be better if the Compiler contained the
@@ -857,6 +862,7 @@ rebuildInstallPlan
857862                --  putStrLn $ unlines $ map (prettyShow . IPI.sourcePackageId) $ PI.allPackages hinstalledPkgIndex
858863                --  putStrLn "== localPackages"
859864                --  putStrLn $ unlines . map (prettyShow . srcpkgPackageId) $ [pkg | SpecificSourcePackage pkg <- localPackages]
865+                 --  putStrLn $ unlines . take 20 $ map (prettyShow . srcpkgPackageId) (XXX.allPackages (packageIndex sourcePkgDb))
860866                planOrError <- 
861867                  foldProgress logMsg (pure  .  Left  ) (pure  .  Right  ) $ 
862868                    planPackages
@@ -880,9 +886,9 @@ rebuildInstallPlan
880886            addCompilerToSourcePkg compilerId =  map  (addCompilerId compilerId)
881887            addCompilerId  ::  CompilerId  ->  PackageSpecifier  UnresolvedSourcePackage  ->  PackageSpecifier  UnresolvedSourcePackage 
882888            addCompilerId compilerId (NamedPackage  name props) =  NamedPackage  name props
883-             addCompilerId compilerId (SpecificSourcePackage  pkg) =  SpecificSourcePackage  (f  pkg)
884-                where  f  ::  SourcePackage  UnresolvedPkgLoc  ->  SourcePackage  UnresolvedPkgLoc 
885-                     f  pkg =  pkg{srcpkgPackageId =  (srcpkgPackageId pkg){pkgCompiler =  Just  compilerId}}
889+             addCompilerId compilerId (SpecificSourcePackage  pkg) =  SpecificSourcePackage  (addCompilerIdToSrcPkg compilerId  pkg)
890+             addCompilerIdToSrcPkg   ::   CompilerId   ->  SourcePackage  UnresolvedPkgLoc  ->  SourcePackage  UnresolvedPkgLoc 
891+             addCompilerIdToSrcPkg compilerId  pkg =  pkg{srcpkgPackageId =  (srcpkgPackageId pkg){pkgCompiler =  Just  compilerId}}
886892            localPackages =  (addCompilerToSourcePkg (compilerIdFor Build  toolchains) localPackages_)
887893                         <>  (addCompilerToSourcePkg (compilerIdFor Host   toolchains) localPackages_)
888894            corePackageDbs  ::  Stage  ->  PackageDBStackCWD 
0 commit comments