summary refs log tree commit diff
path: root/gnu/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch
blob: a1358dec94db40f0f8f5686974ddb7eaf37d60c6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Compatibility with GHC 8.10 and template-haskell 2.16.

Taken from 
https://raw.githubusercontent.com/archlinux/svntogit-community/packages/haskell-language-haskell-extract/trunk/ghc-8.10.patch

diff --git a/src/Language/Haskell/Extract.hs b/src/Language/Haskell/Extract.hs
index 3e8958b..43dfe04 100644
--- a/src/Language/Haskell/Extract.hs
+++ b/src/Language/Haskell/Extract.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 module Language.Haskell.Extract (
   functionExtractor,
   functionExtractorMap,
@@ -25,7 +26,11 @@ extractAllFunctions pattern =
 functionExtractor :: String -> ExpQ
 functionExtractor pattern =
   do functions <- extractAllFunctions pattern
-     let makePair n = TupE [ LitE $ StringL n , VarE $ mkName n]
+     let makePair n = TupE
+#if MIN_VERSION_template_haskell(2,16,0)
+                           $ map Just
+#endif
+                           [ LitE $ StringL n , VarE $ mkName n]
      return $ ListE $ map makePair functions