Modernize .cabal file
authorHerbert Valerio Riedel <hvr@gnu.org>
Tue, 18 Jul 2017 05:35:29 +0000 (07:35 +0200)
committerHerbert Valerio Riedel <hvr@gnu.org>
Tue, 18 Jul 2017 05:35:29 +0000 (07:35 +0200)
This updates the .cabal format to cabal-version:1.10
and turns `extensions:` into per-module pragmas
(this makes it easier to integrate `mtl` into GHC's
cabal-less `ghc-cabal` bootstrapping phase)

Note, this implicitly drops support for GHC < 7 as this sets the
requirement on a compiler that supports Haskell2010.

Control/Monad/Error/Class.hs
Control/Monad/RWS/Class.hs
Control/Monad/Reader/Class.hs
Control/Monad/State/Class.hs
Control/Monad/Writer/Class.hs
mtl.cabal

index 4b8d8fe..477f214 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FunctionalDependencies #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
 
 {- |
index 55dc636..8b8bb4c 100644 (file)
@@ -1,3 +1,6 @@
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FunctionalDependencies #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
 -- Search for UndecidableInstances to see why this is needed
 
index 86c5544..7cc74f6 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FunctionalDependencies #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
 -- Search for UndecidableInstances to see why this is needed
 {- |
index fa33f70..be30bfe 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE CPP #-}
+{-# LANGUAGE FunctionalDependencies #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
 -- Search for UndecidableInstances to see why this is needed
 
index e1bf737..4f4a149 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE CPP #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE FunctionalDependencies #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE UndecidableInstances #-}
 -- Search for UndecidableInstances to see why this is needed
 
index 7702edd..254736e 100644 (file)
--- a/mtl.cabal
+++ b/mtl.cabal
@@ -1,6 +1,6 @@
 name:         mtl
 version:      2.2.2
-cabal-version: >= 1.6
+cabal-version: >= 1.10
 license:      BSD3
 license-file: LICENSE
 author:       Andy Gill
@@ -28,7 +28,7 @@ tested-with:
 
 source-repository head
   type: git
-  location: git://github.com/ekmett/mtl.git
+  location: https://github.com/ekmett/mtl.git
 
 Library
   exposed-modules:
@@ -54,9 +54,17 @@ Library
     Control.Monad.Writer.Class
     Control.Monad.Writer.Lazy
     Control.Monad.Writer.Strict
-  build-depends: base < 6, transformers >= 0.4 && <0.6
-  extensions:
+  build-depends: base < 5, transformers >= 0.4 && <0.6
+
+  default-language: Haskell2010
+  other-extensions:
+    CPP
     MultiParamTypeClasses
     FunctionalDependencies
     FlexibleInstances
+    UndecidableInstances
+
   ghc-options: -Wall -fno-warn-unused-imports -fno-warn-warnings-deprecations
+
+  if impl(ghc >= 8.0)
+    ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances