summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-12-14 12:42:58 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2019-12-14 12:42:58 +0000
commiteac19dd933bc244b78eaef04c8eff413ad7a2b2f (patch)
tree4c4f802763b68e1e9c44a9c9d805ec1b695df749 /dev-haskell/th-utilities/files
parentdev-haskell/threads: bump up to 0.5.1.6 (diff)
downloadgentoo-eac19dd933bc244b78eaef04c8eff413ad7a2b2f.tar.gz
gentoo-eac19dd933bc244b78eaef04c8eff413ad7a2b2f.tar.bz2
gentoo-eac19dd933bc244b78eaef04c8eff413ad7a2b2f.zip
dev-haskell/th-utilities: bump up to 0.2.3.0
Package-Manager: Portage-2.3.81, Repoman-2.3.20 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-haskell/th-utilities/files')
-rw-r--r--dev-haskell/th-utilities/files/th-utilities-0.2.3.0-ghc-8.8.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/dev-haskell/th-utilities/files/th-utilities-0.2.3.0-ghc-8.8.patch b/dev-haskell/th-utilities/files/th-utilities-0.2.3.0-ghc-8.8.patch
new file mode 100644
index 000000000000..8a3795430b1f
--- /dev/null
+++ b/dev-haskell/th-utilities/files/th-utilities-0.2.3.0-ghc-8.8.patch
@@ -0,0 +1,67 @@
+commit 5e510f6a6ed24b98d143e5baeb156a8901bf3faa
+Author: Ryan Scott <ryan.gl.scott@gmail.com>
+Date: Mon Dec 10 15:12:47 2018 -0500
+
+ Allow building with template-haskell-2.15.0.0
+
+diff --git a/src/TH/ReifySimple.hs b/src/TH/ReifySimple.hs
+index d179829..70b929e 100644
+--- a/src/TH/ReifySimple.hs
++++ b/src/TH/ReifySimple.hs
+@@ -233,18 +233,24 @@ infoToDataFamily info = case info of
+ Just $ DataFamily name (map tyVarBndrName tvs) (map go insts)
+ _ -> Nothing
+ where
+-#if MIN_VERSION_template_haskell(2,11,0)
+- go (NewtypeInstD preds name params _kind con _deriving) =
++#if MIN_VERSION_template_haskell(2,15,0)
++ go (NewtypeInstD preds _ lhs _kind con _deriving)
++ | ConT name:params <- unAppsT lhs
++#elif MIN_VERSION_template_haskell(2,11,0)
++ go (NewtypeInstD preds name params _kind con _deriving)
+ #else
+- go (NewtypeInstD preds name params con _deriving) =
++ go (NewtypeInstD preds name params con _deriving)
+ #endif
+- DataInst name preds params (conToDataCons con)
+-#if MIN_VERSION_template_haskell(2,11,0)
+- go (DataInstD preds name params _kind cons _deriving) =
++ = DataInst name preds params (conToDataCons con)
++#if MIN_VERSION_template_haskell(2,15,0)
++ go (DataInstD preds _ lhs _kind cons _deriving)
++ | ConT name:params <- unAppsT lhs
++#elif MIN_VERSION_template_haskell(2,11,0)
++ go (DataInstD preds name params _kind cons _deriving)
+ #else
+- go (DataInstD preds name params cons _deriving) =
++ go (DataInstD preds name params cons _deriving)
+ #endif
+- DataInst name preds params (concatMap conToDataCons cons)
++ = DataInst name preds params (concatMap conToDataCons cons)
+ go info' = error $
+ "Unexpected instance in FamilyI in infoToDataInsts:\n" ++ pprint info'
+
+@@ -263,8 +269,23 @@ infoToTypeFamily info = case info of
+ #endif
+ _ -> Nothing
+ where
++#if MIN_VERSION_template_haskell(2,15,0)
++ goEqn _ (TySynEqn _ lhs ty)
++ | ConT name:params <- unAppsT lhs
++ = TypeInst name params ty
++ | otherwise
++ = error $ "Unexpected type family instance head: " ++ pprint lhs
++#else
+ goEqn name (TySynEqn params ty) = TypeInst name params ty
++#endif
++
++#if MIN_VERSION_template_haskell(2,15,0)
++ go (TySynInstD (TySynEqn _ lhs ty))
++ | ConT name:params <- unAppsT lhs
++ = TypeInst name params ty
++#else
+ go (TySynInstD name (TySynEqn params ty)) = TypeInst name params ty
++#endif
+ go info' = error $
+ "Unexpected instance in FamilyI in infoToTypeInsts:\n" ++ pprint info'
+