X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fghc-pkg%2FMain.hs;h=866c9fe1cdceb00cb2e3e449193d1d3738d0a868;hb=752169f4ea14c0fd890ac55af5395bd1672751ea;hp=6fa1e6bfe8f64f4d9a416df9d2eb8668c81dbf11;hpb=bc81a6a5d88d4e7cfe4489755c2a17e416472788;p=ghc-hetmet.git diff --git a/utils/ghc-pkg/Main.hs b/utils/ghc-pkg/Main.hs index 6fa1e6b..866c9fe 100644 --- a/utils/ghc-pkg/Main.hs +++ b/utils/ghc-pkg/Main.hs @@ -48,8 +48,13 @@ import System.Exit ( exitWith, ExitCode(..) ) import System.Environment ( getArgs, getProgName, getEnv ) import System.IO import System.IO.Error (try) -import Data.List ( isPrefixOf, isSuffixOf, isInfixOf, intersperse, sortBy, nub, +import Data.List ( isPrefixOf, isSuffixOf, intersperse, sortBy, nub, unfoldr, break ) +#if __GLASGOW_HASKELL__ > 604 +import Data.List ( isInfixOf ) +#else +import Data.List ( tails ) +#endif import Control.Concurrent #ifdef mingw32_HOST_OS @@ -619,7 +624,7 @@ pid `matches` pid' matchesPkg :: PackageArg -> InstalledPackageInfo -> Bool (Id pid) `matchesPkg` pkg = pid `matches` package pkg -(Substring _ m) `matchesPkg` pkg = m (pkgName (package pkg)) +(Substring _ m) `matchesPkg` pkg = m (showPackageId (package pkg)) compPkgIdVer :: PackageIdentifier -> PackageIdentifier -> Ordering compPkgIdVer p1 p2 = pkgVersion p1 `compare` pkgVersion p2 @@ -1063,3 +1068,8 @@ installSignalHandlers = do #else return () -- nothing #endif + +#if __GLASGOW_HASKELL__ <= 604 +isInfixOf :: (Eq a) => [a] -> [a] -> Bool +isInfixOf needle haystack = any (isPrefixOf needle) (tails haystack) +#endif