aboutsummaryrefslogtreecommitdiff
path: root/src/CabalHelper/Compiletime/Compat
diff options
context:
space:
mode:
Diffstat (limited to 'src/CabalHelper/Compiletime/Compat')
-rw-r--r--src/CabalHelper/Compiletime/Compat/Environment.hs6
-rw-r--r--src/CabalHelper/Compiletime/Compat/Version.hs25
2 files changed, 31 insertions, 0 deletions
diff --git a/src/CabalHelper/Compiletime/Compat/Environment.hs b/src/CabalHelper/Compiletime/Compat/Environment.hs
new file mode 100644
index 0000000..916f782
--- /dev/null
+++ b/src/CabalHelper/Compiletime/Compat/Environment.hs
@@ -0,0 +1,6 @@
+module CabalHelper.Compiletime.Compat.Environment where
+
+import System.Environment
+
+lookupEnv :: String -> IO (Maybe String)
+lookupEnv var = do env <- getEnvironment; return (lookup var env)
diff --git a/src/CabalHelper/Compiletime/Compat/Version.hs b/src/CabalHelper/Compiletime/Compat/Version.hs
new file mode 100644
index 0000000..853aca5
--- /dev/null
+++ b/src/CabalHelper/Compiletime/Compat/Version.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE CPP #-}
+module CabalHelper.Compiletime.Compat.Version
+ ( DataVersion
+ , toDataVersion
+ , fromDataVersion
+ , Data.Version.showVersion
+ ) where
+
+import qualified Data.Version
+import qualified Distribution.Version (Version)
+#if MIN_VERSION_Cabal(2,0,0)
+import qualified Distribution.Version (versionNumbers, mkVersion)
+#endif
+
+type DataVersion = Data.Version.Version
+
+toDataVersion :: Distribution.Version.Version -> Data.Version.Version
+fromDataVersion :: Data.Version.Version -> Distribution.Version.Version
+#if MIN_VERSION_Cabal(2,0,0)
+toDataVersion v = Data.Version.Version (Distribution.Version.versionNumbers v) []
+fromDataVersion (Data.Version.Version vs _) = Distribution.Version.mkVersion vs
+#else
+toDataVersion = id
+fromDataVersion = id
+#endif