Follow Cabal changes
authorIan Lynagh <igloo@earth.li>
Thu, 26 Jun 2008 20:27:49 +0000 (20:27 +0000)
committerIan Lynagh <igloo@earth.li>
Thu, 26 Jun 2008 20:27:49 +0000 (20:27 +0000)
compat/Distribution/Compat/Exception.hs [deleted file]
compiler/ghci/Linker.lhs
compiler/main/Packages.lhs
compiler/main/ParsePkgConf.y
libraries/cabal.hs
libraries/installPackage.hs
utils/ghc-pkg/Main.hs

diff --git a/compat/Distribution/Compat/Exception.hs b/compat/Distribution/Compat/Exception.hs
deleted file mode 100644 (file)
index 6e3922d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{-# OPTIONS -cpp #-}
-#include "Cabal/Distribution/Compat/Exception.hs"
--- dummy comment
index d7f3da3..ac92975 100644 (file)
@@ -72,6 +72,8 @@ import System.FilePath
 import System.IO
 import System.Directory
 
 import System.IO
 import System.Directory
 
+import Distribution.Package hiding (depends)
+
 import Control.Exception
 import Data.Maybe
 \end{code}
 import Control.Exception
 import Data.Maybe
 \end{code}
@@ -944,10 +946,11 @@ data LibrarySpec
 -- of DLL handles that rts/Linker.c maintains, and that in turn is 
 -- used by lookupSymbol.  So we must call addDLL for each library 
 -- just to get the DLL handle into the list.
 -- of DLL handles that rts/Linker.c maintains, and that in turn is 
 -- used by lookupSymbol.  So we must call addDLL for each library 
 -- just to get the DLL handle into the list.
-partOfGHCi :: [String]
+partOfGHCi :: [PackageName]
 partOfGHCi
  | isWindowsTarget || isDarwinTarget = []
 partOfGHCi
  | isWindowsTarget || isDarwinTarget = []
- | otherwise = [ "base", "haskell98", "template-haskell", "editline" ]
+ | otherwise = map PackageName
+                   ["base", "haskell98", "template-haskell", "editline"]
 
 showLS :: LibrarySpec -> String
 showLS (Object nm)    = "(static) " ++ nm
 
 showLS :: LibrarySpec -> String
 showLS (Object nm)    = "(static) " ++ nm
@@ -1022,7 +1025,7 @@ linkPackage dflags pkg
        maybePutStr dflags ("Loading package " ++ display (package pkg) ++ " ... ")
 
        -- See comments with partOfGHCi
        maybePutStr dflags ("Loading package " ++ display (package pkg) ++ " ... ")
 
        -- See comments with partOfGHCi
-       when (pkgName (package pkg) `notElem` partOfGHCi) $ do
+       when (packageName pkg `notElem` partOfGHCi) $ do
            loadFrameworks pkg
             -- When a library A needs symbols from a library B, the order in
             -- extra_libraries/extra_ld_opts is "-lA -lB", because that's the
            loadFrameworks pkg
             -- When a library A needs symbols from a library B, the order in
             -- extra_libraries/extra_ld_opts is "-lA -lB", because that's the
index 712682e..41a760a 100644 (file)
@@ -318,7 +318,7 @@ matchingPackages str pkgs
        -- version, or just the name if it is unambiguous.
        matches str p
                =  str == display (package p)
        -- version, or just the name if it is unambiguous.
        matches str p
                =  str == display (package p)
-               || str == pkgName (package p)
+               || str == display (pkgName (package p))
 
 pickPackages :: [PackageConfig] -> [String] -> [PackageConfig]
 pickPackages pkgs strs = 
 
 pickPackages :: [PackageConfig] -> [String] -> [PackageConfig]
 pickPackages pkgs strs = 
@@ -387,7 +387,7 @@ findWiredInPackages dflags pkgs preload this_package = do
 
         matches :: PackageConfig -> (PackageId, [String]) -> Bool
         pc `matches` (pid, suffixes)
 
         matches :: PackageConfig -> (PackageId, [String]) -> Bool
         pc `matches` (pid, suffixes)
-            = pkgName (package pc) `elem`
+            = display (pkgName (package pc)) `elem`
               (map (packageIdString pid ++) suffixes)
 
        -- find which package corresponds to each wired-in package
               (map (packageIdString pid ++) suffixes)
 
        -- find which package corresponds to each wired-in package
@@ -445,7 +445,7 @@ findWiredInPackages dflags pkgs preload this_package = do
 
        upd_pid pid = case filter ((== pid) . fst) wired_in_ids of
                                [] -> pid
 
        upd_pid pid = case filter ((== pid) . fst) wired_in_ids of
                                [] -> pid
-                               ((x, y):_) -> x{ pkgName = packageIdString y,
+                               ((x, y):_) -> x{ pkgName = PackageName (packageIdString y),
                                                  pkgVersion = Version [] [] }
 
         pkgs1 = deleteOtherWiredInPackages pkgs
                                                  pkgVersion = Version [] [] }
 
         pkgs1 = deleteOtherWiredInPackages pkgs
index ac0cebb..ea515db 100644 (file)
@@ -10,6 +10,7 @@ module ParsePkgConf( loadPackageConfig ) where
 
 #include "HsVersions.h"
 
 
 #include "HsVersions.h"
 
+import Distribution.Package hiding ( depends )
 import PackageConfig
 import Lexer
 import Module
 import PackageConfig
 import Lexer
 import Module
@@ -112,9 +113,15 @@ field      :: { PackageConfig -> PackageConfig }
                }
 
 pkgid  :: { PackageIdentifier }
                }
 
 pkgid  :: { PackageIdentifier }
-       : CONID '{' VARID '=' STRING ',' VARID '=' version '}'
-                       { PackageIdentifier{ pkgName = unpackFS $5, 
-                                            pkgVersion = $9 } }
+       : CONID '{' VARID '=' CONID STRING ',' VARID '=' version '}'
+            {% case unpackFS $5 of
+               "PackageName" ->
+                   return $ PackageIdentifier {
+                                pkgName = PackageName (unpackFS $6),
+                                pkgVersion = $10
+                            }
+               _ -> happyError
+            }
 
 version :: { Version }
        : CONID '{' VARID '=' intlist ',' VARID '=' strlist '}'
 
 version :: { Version }
        : CONID '{' VARID '=' intlist ',' VARID '=' strlist '}'
index 81c3117..85341c2 100644 (file)
@@ -31,7 +31,7 @@ main = do
             Just Simple    -> Simple.defaultMainArgs                     args
             Just Make      -> Make.defaultMainArgs                       args
             Just Configure -> defaultMainWithHooksArgs autoconfUserHooks args
             Just Simple    -> Simple.defaultMainArgs                     args
             Just Make      -> Make.defaultMainArgs                       args
             Just Configure -> defaultMainWithHooksArgs autoconfUserHooks args
-            _ | pkgName (package pd) == "Cabal" ->
+            _ | packageName pd == PackageName "Cabal" ->
                               -- Cabal is special...*sigh*
                               Simple.defaultMainArgs                     args
               | otherwise  -> die "cabal: Don't know what to do!"
                               -- Cabal is special...*sigh*
                               Simple.defaultMainArgs                     args
               | otherwise  -> die "cabal: Don't know what to do!"
index 00560a7..8c66009 100644 (file)
@@ -60,7 +60,7 @@ doInstall verbosity ghcpkg ghcpkgconf destdir topdir
               -- This is an almighty hack. We need to register
               -- ghc-prim:GHC.Prim, but it doesn't exist, get built, get
               -- haddocked, get copied, etc.
               -- This is an almighty hack. We need to register
               -- ghc-prim:GHC.Prim, but it doesn't exist, get built, get
               -- haddocked, get copied, etc.
-              pd_reg = if pkgName (package pd) == "ghc-prim"
+              pd_reg = if packageName pd == PackageName "ghc-prim"
                        then case library pd of
                             Just lib ->
                                 let ems = "GHC.Prim" : exposedModules lib
                        then case library pd of
                             Just lib ->
                                 let ems = "GHC.Prim" : exposedModules lib
index d8b8639..91c8ade 100644 (file)
@@ -324,7 +324,8 @@ parseGlobPackageId :: ReadP r PackageIdentifier
 parseGlobPackageId =
   parse
      +++
 parseGlobPackageId =
   parse
      +++
-  (do n <- parsePackageName; string "-*"
+  (do n <- parse
+      string "-*"
       return (PackageIdentifier{ pkgName = n, pkgVersion = globVersion }))
 
 -- globVersion means "all versions"
       return (PackageIdentifier{ pkgName = n, pkgVersion = globVersion }))
 
 -- globVersion means "all versions"
@@ -573,7 +574,7 @@ listPackages flags mPackageName mModuleName = do
                    where doc = text (display (package p))
 
         show_simple db_stack = do
                    where doc = text (display (package p))
 
         show_simple db_stack = do
-          let showPkg = if FlagNamesOnly `elem` flags then pkgName
+          let showPkg = if FlagNamesOnly `elem` flags then display . pkgName
                                                       else display
               pkgs = map showPkg $ sortBy compPkgIdVer $
                           map package (concatMap snd db_stack)
                                                       else display
               pkgs = map showPkg $ sortBy compPkgIdVer $
                           map package (concatMap snd db_stack)