[Pkg-haskell-commits] darcs: haskell-leksah-server: Patch out use of attoparsec-conduit
Joachim Breitner
mail at joachim-breitner.de
Mon Apr 6 19:15:15 UTC 2015
Sun Dec 21 11:23:04 UTC 2014 Joachim Breitner <mail at joachim-breitner.de>
* Patch out use of attoparsec-conduit
M ./control -3
R ./patches/ghc-7.6-compatibility.patch
A ./patches/no-attoparsec-conduit
M ./patches/series -1 +1
Sun Dec 21 11:23:04 UTC 2014 Joachim Breitner <mail at joachim-breitner.de>
* Patch out use of attoparsec-conduit
diff -rN -u old-haskell-leksah-server/control new-haskell-leksah-server/control
--- old-haskell-leksah-server/control 2015-04-06 19:15:15.776080168 +0000
+++ new-haskell-leksah-server/control 2015-04-06 19:15:15.780080168 +0000
@@ -24,8 +24,6 @@
, libghc-resourcet-dev
, libghc-enumerator-dev (>= 0.4.14)
, libghc-enumerator-dev (<< 0.5)
- , libghc-attoparsec-conduit-dev (>= 1.0.1.2)
- , libghc-attoparsec-conduit-dev (<< 1.2)
, libghc-attoparsec-dev (>= 0.10.0.3)
, libghc-attoparsec-dev (<< 0.13)
, libghc-strict-dev (>= 0.3.2)
@@ -49,7 +47,6 @@
, libghc-haddock-doc
, libghc-enumerator-doc
, libghc-attoparsec-doc
- , libghc-attoparsec-conduit-doc
, libghc-hslogger-doc
, libghc-strict-doc
, libghc-text-doc
diff -rN -u old-haskell-leksah-server/patches/ghc-7.6-compatibility.patch new-haskell-leksah-server/patches/ghc-7.6-compatibility.patch
--- old-haskell-leksah-server/patches/ghc-7.6-compatibility.patch 2015-04-06 19:15:15.776080168 +0000
+++ new-haskell-leksah-server/patches/ghc-7.6-compatibility.patch 1970-01-01 00:00:00.000000000 +0000
@@ -1,1846 +0,0 @@
-From dc892c956ce07b3386778fc1fe7597adb9f8505b Mon Sep 17 00:00:00 2001
-From: Hamish Mackenzie <Hamish.K.Mackenzie at googlemail.com>
-Date: Wed, 10 Oct 2012 17:24:49 +1300
-Subject: [PATCH] GHC 7.6 fixes (Iain Lane: slightly modified for Debian)
-
----
- leksah-server.cabal | 44 +++---
- src/IDE/Core/CTypes.hs | 2 +
- src/IDE/HeaderParser.hs | 50 +++---
- src/IDE/Metainfo/InterfaceCollector.hs | 122 +++++++++------
- src/IDE/Metainfo/PackageCollector.hs | 13 +-
- src/IDE/Metainfo/SourceCollectorH.hs | 271 ++++++++++++++++++++-------------
- src/IDE/Metainfo/WorkspaceCollector.hs | 228 +++++++++++++++++----------
- src/IDE/Utils/FileUtils.hs | 41 ++---
- src/IDE/Utils/GHCUtils.hs | 38 ++++-
- src/IDE/Utils/Server.hs | 9 +-
- src/IDE/Utils/VersionUtils.hs | 9 +-
- 11 files changed, 519 insertions(+), 308 deletions(-)
-
-Index: b/leksah-server.cabal
-===================================================================
---- a/leksah-server.cabal
-+++ b/leksah-server.cabal
-@@ -32,22 +32,25 @@
-
- library
- default-language: Haskell98
-- build-depends: Cabal >=1.6.0.1 && <1.15, base >= 4.0.0.0 && <4.6, binary >=0.5.0.0 && <0.6,
-- binary-shared >=0.8 && <0.9, bytestring >=0.9.0.1 && <0.10,
-- containers >=0.2.0.0 && <0.5,
-- directory >=1.0.0.2 && <1.2, filepath >=1.1.0.1 && <1.4, ghc >=6.10.1 && <7.5,
-+ build-depends: Cabal >=1.6.0.1 && <1.17, base >= 4.0.0.0 && <4.7, binary >=0.5.0.0 && <0.6,
-+ binary-shared >=0.8 && <0.9, bytestring >=0.9.0.1 && <0.11,
-+ containers >=0.2.0.0 && <0.6,
-+ directory >=1.0.0.2 && <1.3, filepath >=1.1.0.1 && <1.4, ghc >=6.10.1 && <7.7,
- ltk >=0.12.1.0 && <0.13, parsec >=2.1.0.1 && <3.2,
- pretty >=1.0.1.0 && <1.2, time >=1.1 && <1.5, deepseq >=1.1 && <1.4,
-- hslogger >= 1.0.7 && <1.2, network >=2.2 && <3.0, enumerator >=0.4.14 && < 0.5,
-+ hslogger >= 1.0.7 && <1.3, network >=2.2 && <3.0, enumerator >=0.4.14 && < 0.5,
- attoparsec-enumerator >=0.3 && <0.4, attoparsec >=0.10.0.3 && <0.11,
- transformers >=0.2.2.0 && <0.4, strict >=0.3.2 && <0.4
-
- if (impl(ghc >= 7.2))
- binary-shared >=0.8.2
-
-- if (impl(ghc >= 7.4))
-- build-depends: haddock >= 2.7.2 && <2.11
-+ if (impl(ghc >= 7.6))
-+ build-depends: haddock >= 2.7.2 && <2.14
- else
-+ if (impl(ghc >= 7.4))
-+ build-depends: haddock >= 2.7.2 && <2.11
-+ else
- if (impl(ghc >= 7.2))
- build-depends: haddock >= 2.7.2 && <2.10
- else
-@@ -68,7 +71,7 @@
- build-depends: Win32 >=2.2.0.0 && <2.3
- extra-libraries: kernel32 pango-1.0 glib-2.0
- else
-- build-depends: unix >=2.3.1.0 && <2.6
-+ build-depends: unix >=2.3.1.0 && <2.7
-
- if flag(curl) || os(osx)
- cpp-options: -DUSE_CURL
-@@ -96,18 +99,21 @@
-
- executable leksah-server
- default-language: Haskell98
-- build-depends: Cabal >=1.6.0.1 && <1.15, base >= 4.0.0.0 && <4.6, binary >=0.5.0.0 && <0.6,
-- binary-shared >=0.8 && <0.9, bytestring >=0.9.0.1 && <0.10,
-- containers >=0.2.0.0 && <0.5,
-- directory >=1.0.0.2 && <1.2, filepath >=1.1.0.1 && <1.6, ghc >=6.10.1 && <7.5,
-+ build-depends: Cabal >=1.6.0.1 && <1.17, base >= 4.0.0.0 && <4.7, binary >=0.5.0.0 && <0.6,
-+ binary-shared >=0.8 && <0.9, bytestring >=0.9.0.1 && <0.11,
-+ containers >=0.2.0.0 && <0.6,
-+ directory >=1.0.0.2 && <1.3, filepath >=1.1.0.1 && <1.6, ghc >=6.10.1 && <7.7,
- ltk >=0.12.1.0 && <0.13, parsec >=2.1.0.1 && <3.2,
- pretty >=1.0.1.0 && <1.2, time >=1.1 && <1.5, deepseq >=1.1 && <1.4,
-- hslogger >= 1.0.7 && <1.2, network >=2.2 && <3.0, enumerator >= 0.4.14 && <0.5,
-+ hslogger >= 1.0.7 && <1.3, network >=2.2 && <3.0, enumerator >= 0.4.14 && <0.5,
- attoparsec-enumerator >=0.3 && <0.4, attoparsec >=0.10.0.3 && <0.11,
- transformers >=0.2.2.0 && <0.4, strict >=0.3.2 && <0.4
-- if (impl(ghc >= 7.4))
-- build-depends: haddock >= 2.7.2 && <2.11
-+ if (impl(ghc >= 7.6))
-+ build-depends: haddock >= 2.7.2 && <2.14
- else
-+ if (impl(ghc >= 7.4))
-+ build-depends: haddock >= 2.7.2 && <2.11
-+ else
- if (impl(ghc >= 7.2))
- build-depends: haddock >= 2.7.2 && <2.10
- else
-@@ -128,7 +134,7 @@
- build-depends: Win32 >=2.2.0.0 && <2.3
- extra-libraries: kernel32 pango-1.0 glib-2.0
- else
-- build-depends: unix >=2.3.1.0 && <2.6
-+ build-depends: unix >=2.3.1.0 && <2.7
-
- if flag(curl) || os(osx)
- cpp-options: -DUSE_CURL
-@@ -167,8 +173,8 @@
- hs-source-dirs: src
- ghc-prof-options: -auto-all -prof
- -- ghc-shared-options: -auto-all -prof
-- build-depends: base >= 4.0.0.0 && <4.6, hslogger >= 1.0.7 && <1.2, deepseq >=1.1 && <1.4,
-- bytestring >=0.9.0.1 && <0.10, enumerator >= 0.4.14 && <0.5,
-+ build-depends: base >= 4.0.0.0 && <4.7, hslogger >= 1.0.7 && <1.3, deepseq >=1.1 && <1.4,
-+ bytestring >=0.9.0.1 && <0.11, enumerator >= 0.4.14 && <0.5,
- attoparsec-enumerator >=0.3 && <0.4, attoparsec >=0.10.0.3 && <0.11,
- transformers >=0.2.2.0 && <0.4
-
-@@ -190,7 +196,7 @@
- type: exitcode-stdio-1.0
- hs-source-dirs: tests
- main-is: TestTool.hs
-- build-depends: base >= 4.0.0.0 && <4.6, hslogger >= 1.0.7 && <1.3,
-+ build-depends: base >= 4.0.0.0 && <4.7, hslogger >= 1.0.7 && <1.3,
- leksah-server,
- HUnit >=1.2 && <1.3, transformers >=0.2.2.0 && <0.4, enumerator >=0.4.14 && <0.5
-
-Index: b/src/IDE/Core/CTypes.hs
-===================================================================
---- a/src/IDE/Core/CTypes.hs
-+++ b/src/IDE/Core/CTypes.hs
-@@ -542,7 +542,9 @@
-
- instance NFData DescrType where rnf a = seq a ()
-
-+#if !MIN_VERSION_bytestring(0,10,0)
- instance NFData BS.ByteString where rnf b = seq b ()
-+#endif
-
- #if !MIN_VERSION_deepseq(1,3,0)
- instance NFData Version where rnf v = seq v ()
-Index: b/src/IDE/HeaderParser.hs
-===================================================================
---- a/src/IDE/HeaderParser.hs
-+++ b/src/IDE/HeaderParser.hs
-@@ -21,17 +21,31 @@
- import IDE.Core.CTypes hiding(SrcSpan(..))
- import GHC hiding (ImportDecl)
- import FastString(unpackFS)
--import RdrName(showRdrName)
- import IDE.Utils.GHCUtils
- import Data.Maybe (mapMaybe)
- #if MIN_VERSION_ghc(7,4,1)
--import Outputable(pprPrefixOcc,showSDoc)
-+import Outputable(pprPrefixOcc, ppr)
- #else
--import Outputable(pprHsVar,showSDoc)
-+import Outputable(pprHsVar, ppr)
-+#endif
-+#if MIN_VERSION_ghc(7,6,0)
-+import Outputable(showSDoc)
-+#else
-+import qualified Outputable as O
- #endif
- import IDE.Utils.FileUtils (figureOutHaddockOpts)
- import Control.Monad.IO.Class (MonadIO(..))
-
-+#if !MIN_VERSION_ghc(7,6,0)
-+showSDoc :: DynFlags -> O.SDoc -> String
-+showSDoc _ = O.showSDoc
-+showSDocUnqual :: DynFlags -> O.SDoc -> String
-+showSDocUnqual _ = O.showSDocUnqual
-+#endif
-+
-+showRdrName :: DynFlags -> RdrName -> String
-+showRdrName dflags r = showSDoc dflags (ppr r)
-+
- parseTheHeader :: FilePath -> IO ServerAnswer
- parseTheHeader filePath = do
- text <- readFile filePath
-@@ -39,7 +53,7 @@
- parseResult <- liftIO $ myParseHeader filePath text opts
- case parseResult of
- Left str -> return (ServerFailed str)
-- Right (pr at HsModule{ hsmodImports = []}) -> do
-+ Right (_, pr at HsModule{ hsmodImports = []}) -> do
- let i = case hsmodDecls pr of
- decls@(_hd:_tl) -> (foldl (\ a b -> min a (srcSpanStartLine' (getLoc b))) 0 decls) - 1
- [] -> case hsmodExports pr of
-@@ -48,13 +62,13 @@
- Nothing -> 0
- Just mn -> srcSpanEndLine' (getLoc mn) + 2
- return (ServerHeader (Right i))
-- Right (_pr at HsModule{ hsmodImports = imports }) -> return (ServerHeader (Left (transformImports imports)))
-+ Right (dflags, _pr at HsModule{ hsmodImports = imports }) -> return (ServerHeader (Left (transformImports dflags imports)))
-
--transformImports :: [LImportDecl RdrName] -> [ImportDecl]
--transformImports = map transformImport
-+transformImports :: DynFlags -> [LImportDecl RdrName] -> [ImportDecl]
-+transformImports dflags = map (transformImport dflags)
-
--transformImport :: LImportDecl RdrName -> ImportDecl
--transformImport (L srcSpan importDecl) =
-+transformImport :: DynFlags -> LImportDecl RdrName -> ImportDecl
-+transformImport dflags (L srcSpan importDecl) =
- ImportDecl {
- importLoc = srcSpanToLocation srcSpan,
- importModule = modName,
-@@ -73,19 +87,19 @@
- Just mn -> Just (moduleNameString mn)
- specs = case ideclHiding importDecl of
- Nothing -> Nothing
-- Just (hide, list) -> Just (ImportSpecList hide (mapMaybe transformEntity list))
-+ Just (hide, list) -> Just (ImportSpecList hide (mapMaybe (transformEntity dflags) list))
-
--transformEntity :: LIE RdrName -> Maybe ImportSpec
-+transformEntity :: DynFlags -> LIE RdrName -> Maybe ImportSpec
- #if MIN_VERSION_ghc(7,2,0)
--transformEntity (L _ (IEVar name)) = Just (IVar (showSDoc (pprPrefixOcc name)))
-+transformEntity dflags (L _ (IEVar name)) = Just (IVar (showSDoc dflags (pprPrefixOcc name)))
- #else
--transformEntity (L _ (IEVar name)) = Just (IVar (showSDoc (pprHsVar name)))
-+transformEntity dflags (L _ (IEVar name)) = Just (IVar (showSDoc dflags (pprHsVar name)))
- #endif
--transformEntity (L _ (IEThingAbs name)) = Just (IAbs (showRdrName name))
--transformEntity (L _ (IEThingAll name)) = Just (IThingAll (showRdrName name))
--transformEntity (L _ (IEThingWith name list)) = Just (IThingWith (showRdrName name)
-- (map showRdrName list))
--transformEntity _ = Nothing
-+transformEntity dflags (L _ (IEThingAbs name)) = Just (IAbs (showRdrName dflags name))
-+transformEntity dflags (L _ (IEThingAll name)) = Just (IThingAll (showRdrName dflags name))
-+transformEntity dflags (L _ (IEThingWith name list)) = Just (IThingWith (showRdrName dflags name)
-+ (map (showRdrName dflags) list))
-+transformEntity _ _ = Nothing
-
- #if MIN_VERSION_ghc(7,2,0)
- srcSpanToLocation :: SrcSpan -> Location
-Index: b/src/IDE/Metainfo/InterfaceCollector.hs
-===================================================================
---- a/src/IDE/Metainfo/InterfaceCollector.hs
-+++ b/src/IDE/Metainfo/InterfaceCollector.hs
-@@ -23,6 +23,7 @@
- import Module hiding (PackageId,ModuleName)
- import qualified Module as Module (ModuleName)
- import qualified Maybes as M
-+import DynFlags (DynFlags)
- #if MIN_VERSION_ghc(7,2,0)
- import HscTypes
- import GhcMonad hiding (liftIO)
-@@ -36,7 +37,12 @@
- import TysWiredIn ( eqTyConName )
- #endif
- import LoadIface
-+#if MIN_VERSION_ghc(7,6,0)
- import Outputable hiding(trace)
-+#else
-+import Outputable hiding(trace, showSDoc, showSDocUnqual)
-+import qualified Outputable as O
-+#endif
- import IfaceSyn
- import FastString
- import Name
-@@ -65,15 +71,21 @@
- import IDE.Utils.GHCUtils
- import Control.DeepSeq(deepseq)
-
-+#if !MIN_VERSION_ghc(7,6,0)
-+showSDoc :: DynFlags -> SDoc -> String
-+showSDoc _ = O.showSDoc
-+showSDocUnqual :: DynFlags -> SDoc -> String
-+showSDocUnqual _ = O.showSDocUnqual
-+#endif
-
- collectPackageFromHI :: PackageConfig -> IO PackageDescr
--collectPackageFromHI packageConfig = inGhcIO [] [] $ \ _ -> do
-+collectPackageFromHI packageConfig = inGhcIO [] [] $ \ dflags -> do
- session <- getSession
- exportedIfaceInfos <- getIFaceInfos (getThisPackage packageConfig)
- (IPI.exposedModules packageConfig) session
- hiddenIfaceInfos <- getIFaceInfos (getThisPackage packageConfig)
- (IPI.hiddenModules packageConfig) session
-- let pd = extractInfo exportedIfaceInfos hiddenIfaceInfos (getThisPackage packageConfig)
-+ let pd = extractInfo dflags exportedIfaceInfos hiddenIfaceInfos (getThisPackage packageConfig)
- #if MIN_VERSION_Cabal(1,8,0)
- [] -- TODO 6.12 (IPI.depends $ packageConfigToInstalledPackageInfo packageConfig))
- #else
-@@ -101,20 +113,20 @@
-
- -------------------------------------------------------------------------
-
--extractInfo :: [(ModIface, FilePath)] -> [(ModIface, FilePath)] -> PackageIdentifier ->
-+extractInfo :: DynFlags -> [(ModIface, FilePath)] -> [(ModIface, FilePath)] -> PackageIdentifier ->
- [PackageIdentifier] -> PackageDescr
--extractInfo ifacesExp ifacesHid pid buildDepends =
-- let allDescrs = concatMap (extractExportedDescrH pid)
-+extractInfo dflags ifacesExp ifacesHid pid buildDepends =
-+ let allDescrs = concatMap (extractExportedDescrH dflags pid)
- (map fst (ifacesHid ++ ifacesExp))
-- mods = map (extractExportedDescrR pid allDescrs) (map fst ifacesExp)
-+ mods = map (extractExportedDescrR dflags pid allDescrs) (map fst ifacesExp)
- in PackageDescr {
- pdPackage = pid
- , pdModules = mods
- , pdBuildDepends = buildDepends
- , pdMbSourcePath = Nothing}
-
--extractExportedDescrH :: PackageIdentifier -> ModIface -> [Descr]
--extractExportedDescrH pid iface =
-+extractExportedDescrH :: DynFlags -> PackageIdentifier -> ModIface -> [Descr]
-+extractExportedDescrH dflags pid iface =
- let mid = (fromJust . simpleParse . moduleNameString . moduleName) (mi_module iface)
- exportedNames = Set.fromList
- #if MIN_VERSION_Cabal(1,11,0)
-@@ -129,14 +141,15 @@
- exportedDecls = filter (\ ifdecl -> (occNameString $ ifName ifdecl)
- `Set.member` exportedNames)
- (map snd (mi_decls iface))
-- in concatMap (extractIdentifierDescr pid [mid]) exportedDecls
-+ in concatMap (extractIdentifierDescr dflags pid [mid]) exportedDecls
-
-
--extractExportedDescrR :: PackageIdentifier
-+extractExportedDescrR :: DynFlags
-+ -> PackageIdentifier
- -> [Descr]
- -> ModIface
- -> ModuleDescr
--extractExportedDescrR pid hidden iface =
-+extractExportedDescrR dflags pid hidden iface =
- let mid = (fromJust . simpleParse . moduleNameString . moduleName) (mi_module iface)
- exportedNames = Set.fromList
- #if MIN_VERSION_Cabal(1,11,0)
-@@ -151,12 +164,12 @@
- exportedDecls = filter (\ ifdecl -> (occNameString $ifName ifdecl)
- `Set.member` exportedNames)
- (map snd (mi_decls iface))
-- ownDecls = concatMap (extractIdentifierDescr pid [mid]) exportedDecls
-+ ownDecls = concatMap (extractIdentifierDescr dflags pid [mid]) exportedDecls
- otherDecls = exportedNames `Set.difference` (Set.fromList (map dscName ownDecls))
- reexported = map (\d -> Reexported (ReexportedDescr (Just (PM pid mid)) d))
- $ filter (\k -> (dscName k) `Set.member` otherDecls) hidden
-- inst = concatMap (extractInstances (PM pid mid)) (mi_insts iface)
-- uses = Map.fromList . catMaybes $ map extractUsages (mi_usages iface)
-+ inst = concatMap (extractInstances dflags (PM pid mid)) (mi_insts iface)
-+ uses = Map.fromList . catMaybes $ map (extractUsages dflags) (mi_usages iface)
- declsWithExp = map withExp ownDecls
- withExp (Real d) = Real $ d{dscExported' = Set.member (dscName' d) exportedNames}
- withExp _ = error "Unexpected Reexported"
-@@ -166,14 +179,14 @@
- , mdReferences = uses
- , mdIdDescriptions = declsWithExp ++ inst ++ reexported}
-
--extractIdentifierDescr :: PackageIdentifier -> [ModuleName] -> IfaceDecl -> [Descr]
--extractIdentifierDescr package modules decl
-+extractIdentifierDescr :: DynFlags -> PackageIdentifier -> [ModuleName] -> IfaceDecl -> [Descr]
-+extractIdentifierDescr dflags package modules decl
- = if null modules
- then []
- else
- let descr = RealDescr{
- dscName' = unpackFS $occNameFS (ifName decl)
-- , dscMbTypeStr' = Just (BS.pack $ unlines $ nonEmptyLines $ filterExtras $ showSDocUnqual $ppr decl)
-+ , dscMbTypeStr' = Just (BS.pack $ unlines $ nonEmptyLines $ filterExtras $ showSDocUnqual dflags $ppr decl)
- , dscMbModu' = Just (PM package (last modules))
- , dscMbLocation' = Nothing
- , dscMbComment' = Nothing
-@@ -188,20 +201,20 @@
- #endif
- -> map Real [descr]
- #if MIN_VERSION_Cabal(1,11,0)
-- (IfaceData name _ _ ifCons' _ _ _)
-+ (IfaceData {ifName=name, ifCons=ifCons'})
- #else
- (IfaceData name _ _ ifCons' _ _ _ _)
- #endif
- -> let d = case ifCons' of
- IfDataTyCon _decls
- -> let
-- fieldNames = concatMap extractFields (visibleIfConDecls ifCons')
-- constructors' = extractConstructors name (visibleIfConDecls ifCons')
-+ fieldNames = concatMap (extractFields dflags) (visibleIfConDecls ifCons')
-+ constructors' = extractConstructors dflags name (visibleIfConDecls ifCons')
- in DataDescr constructors' fieldNames
- IfNewTyCon _
- [...incomplete...]
More information about the Pkg-haskell-commits
mailing list