projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f12d4af
)
Fix warnings in main/Packages
author
Ian Lynagh
<igloo@earth.li>
Tue, 25 Mar 2008 22:44:44 +0000
(22:44 +0000)
committer
Ian Lynagh
<igloo@earth.li>
Tue, 25 Mar 2008 22:44:44 +0000
(22:44 +0000)
compiler/main/Packages.lhs
patch
|
blob
|
history
diff --git
a/compiler/main/Packages.lhs
b/compiler/main/Packages.lhs
index
bd421bd
..
d10d873
100644
(file)
--- a/
compiler/main/Packages.lhs
+++ b/
compiler/main/Packages.lhs
@@
-4,13
+4,6
@@
% Package manipulation
%
\begin{code}
% Package manipulation
%
\begin{code}
-{-# OPTIONS -w #-}
--- The above warning supression flag is a temporary kludge.
--- While working on this module you are encouraged to remove it and fix
--- any warnings in the module. See
--- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
--- for details
-
module Packages (
module PackageConfig,
module Packages (
module PackageConfig,
@@
-53,6
+46,7
@@
import Util
import Maybes ( expectJust, MaybeErr(..) )
import Panic
import Outputable
import Maybes ( expectJust, MaybeErr(..) )
import Panic
import Outputable
+import Pretty ( Doc )
import System.Environment ( getEnv )
import Distribution.InstalledPackageInfo
import System.Environment ( getEnv )
import Distribution.InstalledPackageInfo
@@
-289,6
+283,7
@@
applyPackageFlag pkgs flag =
ExposePackage str ->
case matchingPackages str pkgs of
Nothing -> missingPackageErr str
ExposePackage str ->
case matchingPackages str pkgs of
Nothing -> missingPackageErr str
+ Just ([], _) -> panic "applyPackageFlag"
Just (p:ps,qs) -> return (p':ps')
where p' = p {exposed=True}
ps' = hideAll (pkgName (package p)) (ps++qs)
Just (p:ps,qs) -> return (p':ps')
where p' = p {exposed=True}
ps' = hideAll (pkgName (package p)) (ps++qs)
@@
-302,7
+297,7
@@
applyPackageFlag pkgs flag =
IgnorePackage str ->
case matchingPackages str pkgs of
Nothing -> return pkgs
IgnorePackage str ->
case matchingPackages str pkgs of
Nothing -> return pkgs
- Just (ps,qs) -> return qs
+ Just (_, qs) -> return qs
-- missing package is not an error for -ignore-package,
-- because a common usage is to -ignore-package P as
-- a preventative measure just in case P exists.
-- missing package is not an error for -ignore-package,
-- because a common usage is to -ignore-package P as
-- a preventative measure just in case P exists.
@@
-327,11
+322,14
@@
matchingPackages str pkgs
= str == showPackageId (package p)
|| str == pkgName (package p)
= str == showPackageId (package p)
|| str == pkgName (package p)
-
+pickPackages :: [PackageConfig] -> [String] -> [PackageConfig]
pickPackages pkgs strs =
pickPackages pkgs strs =
- [ p | p <- strs, Just (p:ps,_) <- [matchingPackages p pkgs] ]
+ [ p | p <- strs, Just (p:_, _) <- [matchingPackages p pkgs] ]
+sortByVersion :: [InstalledPackageInfo_ m] -> [InstalledPackageInfo_ m]
sortByVersion = sortBy (flip (comparing (pkgVersion.package)))
sortByVersion = sortBy (flip (comparing (pkgVersion.package)))
+
+comparing :: Ord a => (t -> a) -> t -> t -> Ordering
comparing f a b = f a `compare` f b
-- -----------------------------------------------------------------------------
comparing f a b = f a `compare` f b
-- -----------------------------------------------------------------------------
@@
-536,7
+534,6
@@
mkPackageState dflags orig_pkg_db preload0 this_package = do
pkgs <- elimDanglingDeps dflags pkgs3 ignored
let pkg_db = extendPackageConfigMap emptyPackageConfigMap pkgs
pkgs <- elimDanglingDeps dflags pkgs3 ignored
let pkg_db = extendPackageConfigMap emptyPackageConfigMap pkgs
- pkgids = map packageConfigId pkgs
-- add base & rts to the preload packages
basicLinkedPackages = filter (flip elemUFM pkg_db)
-- add base & rts to the preload packages
basicLinkedPackages = filter (flip elemUFM pkg_db)
@@
-695,9
+692,13
@@
add_package pkg_db ps (p, mb_parent)
ps' <- foldM (add_package pkg_db) ps (zip deps (repeat (Just p)))
return (p : ps')
ps' <- foldM (add_package pkg_db) ps (zip deps (repeat (Just p)))
return (p : ps')
+missingPackageErr :: String -> IO [PackageConfig]
missingPackageErr p = throwDyn (CmdLineError (showSDoc (missingPackageMsg p)))
missingPackageErr p = throwDyn (CmdLineError (showSDoc (missingPackageMsg p)))
+
+missingPackageMsg :: String -> PprStyle -> Doc
missingPackageMsg p = ptext SLIT("unknown package:") <+> text p
missingPackageMsg p = ptext SLIT("unknown package:") <+> text p
+missingDependencyMsg :: Maybe PackageId -> PprStyle -> Doc
missingDependencyMsg Nothing = empty
missingDependencyMsg (Just parent)
= space <> parens (ptext SLIT("dependency of") <+> ftext (packageIdFS parent))
missingDependencyMsg Nothing = empty
missingDependencyMsg (Just parent)
= space <> parens (ptext SLIT("dependency of") <+> ftext (packageIdFS parent))