X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fghc-pkg%2FMain.hs;h=4b376848afa4649a8070161aff71691de709110a;hb=ad9d754d2b18d4dd027884e082c20777a29ef7d4;hp=a54101c0cd444ca8f7101b703f38a8277cec2ff6;hpb=85c2ef54a48b12bb7bef0e841e4948fae13d7242;p=ghc-hetmet.git diff --git a/utils/ghc-pkg/Main.hs b/utils/ghc-pkg/Main.hs index a54101c..4b37684 100644 --- a/utils/ghc-pkg/Main.hs +++ b/utils/ghc-pkg/Main.hs @@ -21,25 +21,23 @@ import Distribution.Compat.ReadP import Distribution.ParseUtils import Distribution.Package import Distribution.Version -import Compat.Directory ( getAppUserDataDirectory, createDirectoryIfMissing ) -import Compat.RawSystem ( rawSystem ) + +#ifdef USING_COMPAT +import Compat.Directory ( getAppUserDataDirectory, createDirectoryIfMissing ) +import Compat.RawSystem ( rawSystem ) +#else +import System.Directory ( getAppUserDataDirectory, createDirectoryIfMissing ) +import System.Cmd ( rawSystem ) +#endif import Prelude #include "../../includes/ghcconfig.h" -#if __GLASGOW_HASKELL__ >= 504 import System.Console.GetOpt import Text.PrettyPrint import qualified Control.Exception as Exception import Data.Maybe -#else -import GetOpt -import Pretty -import qualified Exception -import Maybe -#endif - import Data.Char ( isSpace ) import Monad import Directory @@ -47,21 +45,12 @@ import System ( getArgs, getProgName, getEnv, exitWith, ExitCode(..) ) import System.IO -#if __GLASGOW_HASKELL__ >= 600 import System.IO.Error (try) -#else -import System.IO (try) -#endif import Data.List ( isPrefixOf, isSuffixOf, intersperse, sortBy ) #ifdef mingw32_HOST_OS import Foreign - -#if __GLASGOW_HASKELL__ >= 504 import Foreign.C.String -#else -import CString -#endif #endif import IO ( isPermissionError, isDoesNotExistError ) @@ -652,7 +641,9 @@ writeNewConfig filename packages = do if isPermissionError e then die (filename ++ ": you don't have permission to modify this file") else ioError e - hPutStrLn h (show packages) + let shown = concat $ intersperse ",\n " $ map show packages + fileContents = "[" ++ shown ++ "\n]" + hPutStrLn h fileContents hClose h hPutStrLn stdout "done."