* [gentoo-commits] gentoo-x86 commit in dev-haskell/haskell-src-meta/files: haskell-src-meta-0.6.0.8-ghc-7.10.patch
@ 2015-01-04 5:34 Mark Wright (gienah)
0 siblings, 0 replies; only message in thread
From: Mark Wright (gienah) @ 2015-01-04 5:34 UTC (permalink / raw
To: gentoo-commits
gienah 15/01/04 05:34:51
Added: haskell-src-meta-0.6.0.8-ghc-7.10.patch
Log:
Apply patch from upstream to allow haskell-src-meta-0.6.0.8 to build with ghc 7.10
(Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
Revision Changes Path
1.1 dev-haskell/haskell-src-meta/files/haskell-src-meta-0.6.0.8-ghc-7.10.patch
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-haskell/haskell-src-meta/files/haskell-src-meta-0.6.0.8-ghc-7.10.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-haskell/haskell-src-meta/files/haskell-src-meta-0.6.0.8-ghc-7.10.patch?rev=1.1&content-type=text/plain
Index: haskell-src-meta-0.6.0.8-ghc-7.10.patch
===================================================================
commit 24e6f45408083745080ff2f3710f58209041113c
Author: Luite Stegeman <stegeman@gmail.com>
Date: Sun Dec 28 21:33:22 2014 +0100
updates for GHC 7.10 and Template Haskell 2.10
diff --git a/haskell-src-meta.cabal b/haskell-src-meta.cabal
index de6a022..42d9619 100644
--- a/haskell-src-meta.cabal
+++ b/haskell-src-meta.cabal
@@ -18,14 +18,14 @@ description: The translation from haskell-src-exts abstract syntax
extra-source-files: ChangeLog README examples/*.hs
library
- build-depends: base >= 4.2 && < 4.8,
+ build-depends: base >= 4.2 && < 4.9,
haskell-src-exts == 1.16.*,
pretty >= 1.0 && < 1.2,
syb >= 0.1 && < 0.5,
th-orphans >= 0.5 && < 0.9
if impl(ghc >= 7.4)
- Build-depends: template-haskell >= 2.7 && < 2.10
+ Build-depends: template-haskell >= 2.7 && < 2.11
else
Build-depends: template-haskell >= 2.4 && < 2.7,
uniplate >= 1.3 && < 1.7
diff --git a/src/Language/Haskell/Meta/Syntax/Translate.hs b/src/Language/Haskell/Meta/Syntax/Translate.hs
index 189d32e..36a08f1 100644
--- a/src/Language/Haskell/Meta/Syntax/Translate.hs
+++ b/src/Language/Haskell/Meta/Syntax/Translate.hs
@@ -384,9 +384,15 @@ a .->. b = AppT (AppT ArrowT a) b
toCxt :: Hs.Context -> Cxt
toCxt = fmap toPred
where
+#if MIN_VERSION_template_haskell(2,10,0)
+ toPred (Hs.ClassA n ts) = foldl' AppT (ConT (toName n)) (fmap toType ts)
+ toPred (Hs.InfixA t1 n t2) = foldl' AppT (ConT (toName n)) (fmap toType [t1,t2])
+ toPred (Hs.EqualP t1 t2) = foldl' AppT EqualityT (fmap toType [t1,t2])
+#else
toPred (Hs.ClassA n ts) = ClassP (toName n) (fmap toType ts)
toPred (Hs.InfixA t1 n t2) = ClassP (toName n) (fmap toType [t1, t2])
toPred (Hs.EqualP t1 t2) = EqualP (toType t1) (toType t2)
+#endif
toPred a@Hs.IParam{} = noTH "toCxt" a
foldAppT :: Type -> [Type] -> Type
diff --git a/src/Language/Haskell/Meta/Utils.hs b/src/Language/Haskell/Meta/Utils.hs
index 36f7e96..d194f3e 100644
--- a/src/Language/Haskell/Meta/Utils.hs
+++ b/src/Language/Haskell/Meta/Utils.hs
@@ -166,6 +166,9 @@ renameT env new (ForallT ns cxt t) =
unVarT (VarT n) = PlainTV n
renamePreds = renameThings renamePred
+#if MIN_VERSION_template_haskell(2,10,0)
+ renamePred = renameT
+#else
renamePred env new (ClassP n ts) = let
(ts', env', new') = renameTs env new [] ts
in (ClassP (normaliseName n) ts', env', new')
@@ -174,7 +177,7 @@ renameT env new (ForallT ns cxt t) =
(t1', env1, new1) = renameT env new t1
(t2', env2, new2) = renameT env1 new1 t2
in (EqualP t1' t2', env2, new2)
-
+#endif
-- | Remove qualification, etc.
normaliseName :: Name -> Name
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-01-04 5:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-04 5:34 [gentoo-commits] gentoo-x86 commit in dev-haskell/haskell-src-meta/files: haskell-src-meta-0.6.0.8-ghc-7.10.patch Mark Wright (gienah)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox