on master help sign in
Allow building on GHC 8.4.1
commitff5322d57858418cce92f9f0ce385912785b5a54 authorRyan Scott <ryan.gl.scott@gmail.com> dateFri 30 Mar 2018, 10:44 (9 years ago) parent24d1867
2 files changed+21−11
Setup.hs+19−9 idris.cabal+2−2
Setup.hs+19−9
@@ -14,7 +14,7 @@ import Distribution.Simple.InstallDirs as I
1414import Distribution.Simple.LocalBuildInfo as L
1515import qualified Distribution.Simple.Setup as S
1616import qualified Distribution.Simple.Program as P
17−import Distribution.Simple.Utils (createDirectoryIfMissingVerbose, rewriteFile, notice, installOrdinaryFiles)
17+import Distribution.Simple.Utils
1818import Distribution.Compiler
1919import Distribution.PackageDescription
2020import Distribution.Text
@@ -66,28 +66,28 @@ windres verbosity = P.runProgramInvocation verbosity . P.simpleProgramInvocation
6666
6767usesGMP :: S.ConfigFlags -> Bool
6868usesGMP flags =
69− case lookup (mkFlagName "gmp") (S.configConfigurationsFlags flags) of
69+ case lookupFlagAssignment (mkFlagName "gmp") (S.configConfigurationsFlags flags) of
7070 Just True -> True
7171 Just False -> False
7272 Nothing -> False
7373
7474execOnly :: S.ConfigFlags -> Bool
7575execOnly flags =
76− case lookup (mkFlagName "execonly") (S.configConfigurationsFlags flags) of
76+ case lookupFlagAssignment (mkFlagName "execonly") (S.configConfigurationsFlags flags) of
7777 Just True -> True
7878 Just False -> False
7979 Nothing -> False
8080
8181isRelease :: S.ConfigFlags -> Bool
8282isRelease flags =
83− case lookup (mkFlagName "release") (S.configConfigurationsFlags flags) of
83+ case lookupFlagAssignment (mkFlagName "release") (S.configConfigurationsFlags flags) of
8484 Just True -> True
8585 Just False -> False
8686 Nothing -> False
8787
8888isFreestanding :: S.ConfigFlags -> Bool
8989isFreestanding flags =
90− case lookup (mkFlagName "freestanding") (S.configConfigurationsFlags flags) of
90+ case lookupFlagAssignment (mkFlagName "freestanding") (S.configConfigurationsFlags flags) of
9191 Just True -> True
9292 Just False -> False
9393 Nothing -> False
@@ -97,6 +97,11 @@ mkFlagName :: String -> FlagName
9797mkFlagName = FlagName
9898#endif
9999
100+#if !(MIN_VERSION_Cabal(2,2,0))
101+lookupFlagAssignment :: FlagName -> FlagAssignment -> Maybe Bool
102+lookupFlagAssignment = lookup
103+#endif
104+
100105-- -----------------------------------------------------------------------------
101106-- Clean
102107
@@ -123,7 +128,7 @@ generateBuildFlagsModule verbosity dir libdirs = do
123128 let buildFlagsModulePath = dir </> "BuildFlags_idris" Px.<.> "hs"
124129 putStrLn $ "Generating " ++ buildFlagsModulePath
125130 createDirectoryIfMissingVerbose verbosity True dir
126− rewriteFile buildFlagsModulePath contents
131+ rewriteFileEx verbosity buildFlagsModulePath contents
127132 where contents = "module BuildFlags_idris where \n\n" ++
128133 "extraLibDirs :: [String]\n" ++
129134 "extraLibDirs = " ++ show libdirs
@@ -136,7 +141,7 @@ generateVersionModule verbosity dir release = do
136141 putStrLn $ "Generating " ++ versionModulePath ++
137142 if release then " for release" else " for prerelease " ++ hash
138143 createDirectoryIfMissingVerbose verbosity True dir
139− rewriteFile versionModulePath (versionModuleContents hash)
144+ rewriteFileEx verbosity versionModulePath (versionModuleContents hash)
140145
141146 where versionModuleContents h = "module Version_idris where\n\n" ++
142147 "gitHash :: String\n" ++
@@ -150,7 +155,7 @@ generateTargetModule verbosity dir targetDir = do
150155 let targetModulePath = dir </> "Target_idris" Px.<.> "hs"
151156 putStrLn $ "Generating " ++ targetModulePath
152157 createDirectoryIfMissingVerbose verbosity True dir
153− rewriteFile targetModulePath (versionModuleContents absPath targetDir)
158+ rewriteFileEx verbosity targetModulePath (versionModuleContents absPath targetDir)
154159 where versionModuleContents absolute td = "module Target_idris where\n\n" ++
155160 "import System.FilePath\n" ++
156161 "import System.Environment\n" ++
@@ -176,7 +181,7 @@ generateToolchainModule verbosity srcDir toolDir = do
176181 "getToolchainDir = \"\""
177182 let toolPath = srcDir </> "Tools_idris" Px.<.> "hs"
178183 createDirectoryIfMissingVerbose verbosity True srcDir
179− rewriteFile toolPath (commonContent ++ toolContent)
184+ rewriteFileEx verbosity toolPath (commonContent ++ toolContent)
180185
181186idrisConfigure _ flags pkgdesc local = do
182187 configureRTS
@@ -240,6 +245,11 @@ idrisPostSDist args flags desc lbi = do
240245 (\e -> let e' = (e :: SomeException) in return ())
241246 postSDist simpleUserHooks args flags desc lbi
242247
248+#if !(MIN_VERSION_Cabal(2,0,0))
249+rewriteFileEx :: Verbosity -> FilePath -> String -> IO ()
250+rewriteFileEx _ = rewriteFile
251+#endif
252+
243253-- -----------------------------------------------------------------------------
244254-- Build
245255
idris.cabal+2−2
@@ -100,7 +100,7 @@ source-repository head
100100
101101custom-setup
102102 setup-depends:
103− Cabal >= 1.10 && <2.1,
103+ Cabal >= 1.10 && <2.3,
104104 base >= 4 && <5,
105105 directory,
106106 filepath,
@@ -309,7 +309,7 @@ Library
309309 , vector-binary-instances < 0.3
310310 , zip-archive > 0.2.3.5 && < 0.4
311311 , fsnotify >= 0.2 && < 2.2
312− , async < 2.2
312+ , async < 2.3
313313
314314 if !impl(ghc >= 8.0)
315315 Build-Depends: semigroups == 0.18.*