follow changes in Distribution.Simple.PackageIndex API
authorSimon Marlow <marlowsd@gmail.com>
Tue, 6 Oct 2009 13:14:56 +0000 (13:14 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Tue, 6 Oct 2009 13:14:56 +0000 (13:14 +0000)
utils/ghc-cabal/ghc-cabal.hs
utils/ghc-pkg/Main.hs

index 29e0f5c..f724617 100644 (file)
@@ -223,15 +223,15 @@ doInstall ghc ghcpkg topdir directory distDir
                 progs' = updateProgram ghcProg
                        $ updateProgram ghcPkgProg progs
             instInfos <- dump verbosity ghcPkgProg GlobalPackageDB
-            let installedPkgs' = PackageIndex.listToInstalledPackageIndex
-                                     instInfos
+            let installedPkgs' = PackageIndex.fromList instInfos
             let mlc = libraryConfig lbi
                 mlc' = case mlc of
                        Just lc ->
-                           let cipds = componentInstalledPackageDeps lc
-                               cipds' = map (fixupPackageId instInfos) cipds
+                           let cipds = componentPackageDeps lc
+                               cipds' = [ (fixupPackageId instInfos ipid, pid)
+                                        | (ipid,pid) <- cipds ]
                            in Just $ lc {
-                                         componentInstalledPackageDeps = cipds'
+                                         componentPackageDeps = cipds'
                                      }
                        Nothing -> Nothing
                 lbi' = lbi {
@@ -335,12 +335,11 @@ generate config_args distdir directory
           -- stricter than gnu ld). Thus we remove the ldOptions for
           -- GHC's rts package:
           hackRtsPackage index =
-            case PackageIndex.lookupInstalledPackageByName index (PackageName "rts") of
-              [rts] -> PackageIndex.addToInstalledPackageIndex rts { Installed.ldOptions = [] } index
+            case PackageIndex.lookupPackageName index (PackageName "rts") of
+              [(_,[rts])] -> PackageIndex.insert rts{ Installed.ldOptions = [] } index
               _ -> error "No (or multiple) ghc rts package is registered!!"
 
-          dep_ids = map (packageId.getLocalPackageInfo lbi) $
-                       externalPackageDeps lbi
+          dep_ids = map snd (externalPackageDeps lbi)
 
       let variablePrefix = directory ++ '_':distdir
       let xs = [variablePrefix ++ "_VERSION = " ++ display (pkgVersion (package pd)),
index 952fa06..d5e7bce 100644 (file)
@@ -890,7 +890,7 @@ showPackageDot verbosity myflags = do
       getPkgDatabases verbosity False True{-use cache-} myflags
 
   let all_pkgs = allPackagesInStack flag_db_stack
-      ipix  = PackageIndex.listToInstalledPackageIndex all_pkgs
+      ipix  = PackageIndex.fromList all_pkgs
 
   putStrLn "digraph {"
   let quote s = '"':s ++ "\""
@@ -898,7 +898,7 @@ showPackageDot verbosity myflags = do
                  | p <- all_pkgs,
                    let from = display (sourcePackageId p),
                    depid <- depends p,
-                   Just dep <- [PackageIndex.lookupInstalledPackage ipix depid],
+                   Just dep <- [PackageIndex.lookupInstalledPackageId ipix depid],
                    let to = display (sourcePackageId dep)
                  ]
   putStrLn "}"