blob: 83ddd4a4c8caff067a2c7781feae2dea22a41d19 (
plain)
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
28
29
30
31
32
33
|
--- HDBC-mysql-0.6.6.1-orig/Setup.lhs 2012-08-30 13:40:03.000000000 +1000
+++ HDBC-mysql-0.6.6.1/Setup.lhs 2014-07-03 22:31:21.162259637 +1000
@@ -1,6 +1,7 @@
#!/usr/bin/env runhaskell
\begin{code}
+{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-}
import Distribution.Simple
import Distribution.PackageDescription
import Distribution.Version
@@ -26,8 +27,21 @@
}
}
+-- 'ConstOrId' is a @Cabal-1.16@ vs @Cabal-1.18@ compatibility hack,
+-- 'programFindLocation' has a new (unused in this case)
+-- parameter. 'ConstOrId' adds this parameter when types say it is
+-- mandatory.
+class ConstOrId a b where
+ constOrId :: a -> b
+
+instance ConstOrId a a where
+ constOrId = id
+
+instance ConstOrId a (b -> a) where
+ constOrId = const
+
mysqlConfigProgram = (simpleProgram "mysql_config") {
- programFindLocation = \verbosity -> do
+ programFindLocation = \verbosity -> constOrId $ do
mysql_config <- findProgramOnPath "mysql_config" verbosity
mysql_config5 <- findProgramOnPath "mysql_config5" verbosity
return (mysql_config `mplus` mysql_config5)
|