packages feed

unix 2.7.2.0 → 2.7.2.1

raw patch · 6 files changed

+72/−17 lines, 6 filesdep ~timePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: time

API changes (from Hackage documentation)

Files

System/Posix/Env.hsc view
@@ -50,7 +50,9 @@  -- |'getEnv' looks up a variable in the environment. -getEnv :: String -> IO (Maybe String)+getEnv ::+  String            {- ^ variable name  -} ->+  IO (Maybe String) {- ^ variable value -} getEnv name = do   litstring <- withFilePath name c_getenv   if litstring /= nullPtr@@ -61,7 +63,10 @@ -- programmer can specify a fallback if the variable is not found -- in the environment. -getEnvDefault :: String -> String -> IO String+getEnvDefault ::+  String    {- ^ variable name                    -} ->+  String    {- ^ fallback value                   -} ->+  IO String {- ^ variable value or fallback value -} getEnvDefault name fallback = liftM (fromMaybe fallback) (getEnv name)  foreign import ccall unsafe "getenv"@@ -94,7 +99,7 @@ -- |'getEnvironment' retrieves the entire environment as a -- list of @(key,value)@ pairs. -getEnvironment :: IO [(String,String)]+getEnvironment :: IO [(String,String)] {- ^ @[(key,value)]@ -} getEnvironment = do   env <- getEnvironmentPrim   return $ map (dropEq.(break ((==) '='))) env@@ -105,7 +110,9 @@ -- |'setEnvironment' resets the entire environment to the given list of -- @(key,value)@ pairs. -setEnvironment :: [(String,String)] -> IO ()+setEnvironment ::+  [(String,String)] {- ^ @[(key,value)]@ -} ->+  IO () setEnvironment env = do   clearEnv   forM_ env $ \(key,value) ->@@ -114,7 +121,7 @@ -- |The 'unsetEnv' function deletes all instances of the variable name -- from the environment. -unsetEnv :: String -> IO ()+unsetEnv :: String {- ^ variable name -} -> IO () #if HAVE_UNSETENV # if !UNSETENV_RETURNS_VOID unsetEnv name = withFilePath name $ \ s ->@@ -137,7 +144,7 @@ -- |'putEnv' function takes an argument of the form @name=value@ -- and is equivalent to @setEnv(key,value,True{-overwrite-})@. -putEnv :: String -> IO ()+putEnv :: String {- ^ "key=value" -} -> IO () putEnv keyvalue = do s <- newFilePath keyvalue                      -- Do not free `s` after calling putenv.                      -- According to SUSv2, the string passed to putenv@@ -159,7 +166,11 @@      not reset, otherwise it is reset to the given value. -} -setEnv :: String -> String -> Bool {-overwrite-} -> IO ()+setEnv ::+  String {- ^ variable name  -} ->+  String {- ^ variable value -} ->+  Bool   {- ^ overwrite      -} ->+  IO () #ifdef HAVE_SETENV setEnv key value ovrwrt = do   withFilePath key $ \ keyP ->
System/Posix/Env/ByteString.hsc view
@@ -45,7 +45,9 @@  -- |'getEnv' looks up a variable in the environment. -getEnv :: ByteString -> IO (Maybe ByteString)+getEnv ::+  ByteString            {- ^ variable name  -} ->+  IO (Maybe ByteString) {- ^ variable value -} getEnv name = do   litstring <- B.useAsCString name c_getenv   if litstring /= nullPtr@@ -56,7 +58,10 @@ -- programmer can specify a fallback if the variable is not found -- in the environment. -getEnvDefault :: ByteString -> ByteString -> IO ByteString+getEnvDefault ::+  ByteString    {- ^ variable name                    -} ->+  ByteString    {- ^ fallback value                   -} ->+  IO ByteString {- ^ variable value or fallback value -} getEnvDefault name fallback = liftM (fromMaybe fallback) (getEnv name)  foreign import ccall unsafe "getenv"@@ -86,7 +91,7 @@ -- |'getEnvironment' retrieves the entire environment as a -- list of @(key,value)@ pairs. -getEnvironment :: IO [(ByteString,ByteString)]+getEnvironment :: IO [(ByteString,ByteString)] {- ^ @[(key,value)]@ -} getEnvironment = do   env <- getEnvironmentPrim   return $ map (dropEq.(BC.break ((==) '='))) env@@ -98,7 +103,7 @@ -- |The 'unsetEnv' function deletes all instances of the variable name -- from the environment. -unsetEnv :: ByteString -> IO ()+unsetEnv :: ByteString {- ^ variable name -} -> IO () #if HAVE_UNSETENV # if !UNSETENV_RETURNS_VOID unsetEnv name = B.useAsCString name $ \ s ->@@ -121,7 +126,7 @@ -- |'putEnv' function takes an argument of the form @name=value@ -- and is equivalent to @setEnv(key,value,True{-overwrite-})@. -putEnv :: ByteString -> IO ()+putEnv :: ByteString {- ^ "key=value" -} -> IO () putEnv keyvalue = B.useAsCString keyvalue $ \s ->   throwErrnoIfMinus1_ "putenv" (c_putenv s) @@ -135,7 +140,11 @@      not reset, otherwise it is reset to the given value. -} -setEnv :: ByteString -> ByteString -> Bool {-overwrite-} -> IO ()+setEnv ::+  ByteString {- ^ variable name  -} ->+  ByteString {- ^ variable value -} ->+  Bool       {- ^ overwrite      -} ->+  IO () #ifdef HAVE_SETENV setEnv key value ovrwrt = do   B.useAsCString key $ \ keyP ->
cbits/HsUnix.c view
@@ -37,12 +37,29 @@ }  /*+ * GNU glibc 2.23 and later deprecate `readdir_r` in favour of plain old+ * `readdir` which in some upcoming POSIX standard is going to required to be+ * re-entrant.+ * Eventually we want to drop `readder_r` all together, but want to be+ * compatible with older unixen which may not have a re-entrant `readdir`.+ * Solution is to make systems with *known* re-entrant `readir` use that and use+ * `readdir_r` whereever we have it and don't *know* that `readdir` is+ * re-entrant.+ */++#if defined (__GLIBC__) && (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 23)+#define USE_READDIR_R 0+#else+#define USE_READDIR_R 1+#endif++/*  * read an entry from the directory stream; opt for the  * re-entrant friendly way of doing this, if available.  */ int __hscore_readdir( DIR *dirPtr, struct dirent **pDirEnt ) {-#if HAVE_READDIR_R+#if HAVE_READDIR_R && USE_READDIR_R   struct dirent* p;   int res;   static unsigned int nm_max = (unsigned int)-1;@@ -93,7 +110,7 @@  void __hscore_free_dirent(struct dirent *dEnt) {-#if HAVE_READDIR_R+#if HAVE_READDIR_R && USE_READDIR_R   free(dEnt); #endif }
changelog.md view
@@ -1,5 +1,11 @@ # Changelog for [`unix` package](http://hackage.haskell.org/package/unix) +## 2.7.2.1  *Nov 2016*++  * Don't use `readdir_r` if its deprecated.++  * Add argument documentation for Env modules+ ## 2.7.2.0  *Apr 2016*    * Bundled with GHC 8.0.1
configure view
@@ -667,6 +667,7 @@ docdir oldincludedir includedir+runstatedir localstatedir sharedstatedir sysconfdir@@ -738,6 +739,7 @@ sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var'+runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'@@ -990,6 +992,15 @@   | -silent | --silent | --silen | --sile | --sil)     silent=yes ;; +  -runstatedir | --runstatedir | --runstatedi | --runstated \+  | --runstate | --runstat | --runsta | --runst | --runs \+  | --run | --ru | --r)+    ac_prev=runstatedir ;;+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \+  | --run=* | --ru=* | --r=*)+    runstatedir=$ac_optarg ;;+   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)     ac_prev=sbindir ;;   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \@@ -1127,7 +1138,7 @@ for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \ 		datadir sysconfdir sharedstatedir localstatedir includedir \ 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \-		libdir localedir mandir+		libdir localedir mandir runstatedir do   eval ac_val=\$$ac_var   # Remove trailing slashes.@@ -1280,6 +1291,7 @@   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]   --libdir=DIR            object code libraries [EPREFIX/lib]   --includedir=DIR        C header files [PREFIX/include]   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
unix.cabal view
@@ -1,5 +1,5 @@ name:           unix-version:        2.7.2.0+version:        2.7.2.1 -- NOTE: Don't forget to update ./changelog.md license:        BSD3 license-file:   LICENSE