summaryrefslogtreecommitdiff
path: root/Utility/Env.hs
diff options
context:
space:
mode:
authorJoey Hess2014-05-14 19:41:05 -0400
committerJoey Hess2014-05-14 19:41:05 -0400
commit7115d1ec162b4059b3e8e8f84bd8d5898c1db025 (patch)
tree42c1cce54e890e1d56484794ab33129132d8fee2 /Utility/Env.hs
parentffe371a9d42cded461236e972a24a142419d7fc4 (diff)
moved source code to src
This is to work around OSX's brain-damange regarding filename case insensitivity. Avoided moving config.hs, because it's a config file. Put in a symlink to make build work.
Diffstat (limited to 'Utility/Env.hs')
-rw-r--r--Utility/Env.hs81
1 files changed, 0 insertions, 81 deletions
diff --git a/Utility/Env.hs b/Utility/Env.hs
deleted file mode 100644
index 6763c24e..00000000
--- a/Utility/Env.hs
+++ /dev/null
@@ -1,81 +0,0 @@
-{- portable environment variables
- -
- - Copyright 2013 Joey Hess <joey@kitenet.net>
- -
- - License: BSD-2-clause
- -}
-
-{-# LANGUAGE CPP #-}
-
-module Utility.Env where
-
-#ifdef mingw32_HOST_OS
-import Utility.Exception
-import Control.Applicative
-import Data.Maybe
-import qualified System.Environment as E
-#else
-import qualified System.Posix.Env as PE
-#endif
-
-getEnv :: String -> IO (Maybe String)
-#ifndef mingw32_HOST_OS
-getEnv = PE.getEnv
-#else
-getEnv = catchMaybeIO . E.getEnv
-#endif
-
-getEnvDefault :: String -> String -> IO String
-#ifndef mingw32_HOST_OS
-getEnvDefault = PE.getEnvDefault
-#else
-getEnvDefault var fallback = fromMaybe fallback <$> getEnv var
-#endif
-
-getEnvironment :: IO [(String, String)]
-#ifndef mingw32_HOST_OS
-getEnvironment = PE.getEnvironment
-#else
-getEnvironment = E.getEnvironment
-#endif
-
-{- Returns True if it could successfully set the environment variable.
- -
- - There is, apparently, no way to do this in Windows. Instead,
- - environment varuables must be provided when running a new process. -}
-setEnv :: String -> String -> Bool -> IO Bool
-#ifndef mingw32_HOST_OS
-setEnv var val overwrite = do
- PE.setEnv var val overwrite
- return True
-#else
-setEnv _ _ _ = return False
-#endif
-
-{- Returns True if it could successfully unset the environment variable. -}
-unsetEnv :: String -> IO Bool
-#ifndef mingw32_HOST_OS
-unsetEnv var = do
- PE.unsetEnv var
- return True
-#else
-unsetEnv _ = return False
-#endif
-
-{- Adds the environment variable to the input environment. If already
- - present in the list, removes the old value.
- -
- - This does not really belong here, but Data.AssocList is for some reason
- - buried inside hxt.
- -}
-addEntry :: Eq k => k -> v -> [(k, v)] -> [(k, v)]
-addEntry k v l = ( (k,v) : ) $! delEntry k l
-
-addEntries :: Eq k => [(k, v)] -> [(k, v)] -> [(k, v)]
-addEntries = foldr (.) id . map (uncurry addEntry) . reverse
-
-delEntry :: Eq k => k -> [(k, v)] -> [(k, v)]
-delEntry _ [] = []
-delEntry k (x@(k1,_) : rest)
- | k == k1 = rest
- | otherwise = ( x : ) $! delEntry k rest