import Module
import Maybes ( firstJust )
-import Distribution.Package ( showPackageId )
+import Distribution.Text
import Directory ( doesFileExist )
import Monad ( when )
import IO
_ -> "#include \""++h_file++"\""
pkg_configs <- getPreloadPackagesAnd dflags packages
- let pkg_names = map (showPackageId.package) pkg_configs
+ let pkg_names = map (display.package) pkg_configs
doOutput filenm $ \ h -> do
hPutStr h ("/* GHC_PACKAGES " ++ unwords pkg_names ++ "\n*/\n")
-- * The PackageConfig type: information about a package
PackageConfig,
- InstalledPackageInfo_(..), showPackageId,
+ InstalledPackageInfo_(..), display,
Version(..),
PackageIdentifier(..),
defaultPackageConfig,
#include "HsVersions.h"
-import Module
+import Module
import Distribution.InstalledPackageInfo
import Distribution.Package
+import Distribution.Text
import Distribution.Version
import Distribution.Compat.ReadP ( readP_to_S )
-- A PackageId is a string of the form <pkg>-<version>.
mkPackageId :: PackageIdentifier -> PackageId
-mkPackageId = stringToPackageId . showPackageId
+mkPackageId = stringToPackageId . display
packageConfigId :: PackageConfig -> PackageId
packageConfigId = mkPackageId . package
unpackPackageId :: PackageId -> Maybe PackageIdentifier
unpackPackageId p
- = case [ pid | (pid,"") <- readP_to_S parsePackageId str ] of
+ = case [ pid | (pid,"") <- readP_to_S parse str ] of
[] -> Nothing
(pid:_) -> Just pid
where str = packageIdString p
import Outputable
import System.Environment ( getEnv )
-import Distribution.InstalledPackageInfo
-import Distribution.Package
+import Distribution.InstalledPackageInfo hiding (depends)
+import Distribution.Package hiding (depends)
import Distribution.Version
import FastString
import ErrUtils ( debugTraceMsg, putMsg, Message )
-- A package named on the command line can either include the
-- version, or just the name if it is unambiguous.
matches str p
- = str == showPackageId (package p)
+ = str == display (package p)
|| str == pkgName (package p)
pickPackages :: [PackageConfig] -> [String] -> [PackageConfig]
| (p' : _) <- later_versions = do
debugTraceMsg dflags 2 $
(ptext (sLit "hiding package") <+>
- text (showPackageId (package p)) <+>
+ text (display (package p)) <+>
ptext (sLit "to avoid conflict with later version") <+>
- text (showPackageId (package p')))
+ text (display (package p')))
return (p {exposed=False})
| otherwise = return p
where myname = pkgName (package p)
ptext (sLit "wired-in package ")
<> text wired_pkg
<> ptext (sLit " mapped to ")
- <> text (showPackageId (package pkg))
+ <> text (display (package pkg))
return (Just (package pkg))
debugTraceMsg dflags 2 $
(ptext (sLit "package") <+> pprPkg p <+>
ptext (sLit "will be ignored due to missing or recursive dependencies:") $$
- nest 2 (hsep (map (text.showPackageId) deps)))
+ nest 2 (hsep (map (text.display) deps)))
-- -----------------------------------------------------------------------------
-- When all the command-line options are in, we can process our package
hidden_mods = hiddenModules pkg
pprPkg :: PackageConfig -> SDoc
-pprPkg p = text (showPackageId (package p))
+pprPkg p = text (display (package p))
-- -----------------------------------------------------------------------------
-- Extracting information from the packages in scope
putMsg dflags $
vcat (map (text.showInstalledPackageInfo.to_ipi) (eltsUFM pkg_map))
where
- to_ipi pkgconf@InstalledPackageInfo_{ exposedModules = e,
- hiddenModules = h } =
+ to_ipi pkgconf@(InstalledPackageInfo { exposedModules = e,
+ hiddenModules = h }) =
pkgconf{ exposedModules = map moduleNameString e,
hiddenModules = map moduleNameString h }
\end{code}
import Distribution.PackageDescription
+import Distribution.PackageDescription.Parse
+import Distribution.ReadE
import Distribution.Simple
import Distribution.Simple.Configure
import Distribution.Simple.LocalBuildInfo
mkVerbosity :: [String] -> Verbosity
mkVerbosity [] = normal
-mkVerbosity ['-':'v':v] = let m = case v of
- "" -> Nothing
- _ -> Just v
- in flagToVerbosity m
+mkVerbosity ['-':'v':v] = readEOrFail flagToVerbosity v
mkVerbosity args = error ("Bad arguments: " ++ show args)
doRegisterInplace :: Verbosity -> IO ()
copyto = if null destdir then NoCopyDest else CopyTo destdir
copyFlags = defaultCopyFlags {
copyDest = toFlag copyto,
- copyVerbose = toFlag verbosity
+ copyVerbosity = toFlag verbosity
}
registerFlags = defaultRegisterFlags {
regPackageDB = toFlag GlobalPackageDB,
- regVerbose = toFlag verbosity,
+ regVerbosity = toFlag verbosity,
regGenScript = toFlag $ False,
regInPlace = toFlag $ False
}