Hello community,

here is the log from the commit of package ghc-read-env-var for 
openSUSE:Factory checked in at 2016-11-02 12:47:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-read-env-var (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-read-env-var.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-read-env-var"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-read-env-var/ghc-read-env-var.changes        
2016-10-22 13:19:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-read-env-var.new/ghc-read-env-var.changes   
2016-11-02 12:47:38.000000000 +0100
@@ -1,0 +2,5 @@
+Sun Aug 21 17:10:59 UTC 2016 - [email protected]
+
+- Update to version 0.1.0.1 revision 0 with cabal2obs.
+
+-------------------------------------------------------------------

Old:
----
  read-env-var-0.1.0.0.tar.gz

New:
----
  read-env-var-0.1.0.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-read-env-var.spec ++++++
--- /var/tmp/diff_new_pack.57PjUs/_old  2016-11-02 12:47:39.000000000 +0100
+++ /var/tmp/diff_new_pack.57PjUs/_new  2016-11-02 12:47:39.000000000 +0100
@@ -19,22 +19,20 @@
 %global pkg_name read-env-var
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.1.0.0
+Version:        0.1.0.1
 Release:        0
 Summary:        Functions for safely reading environment variables
 License:        BSD-3-Clause
-Group:          System/Libraries
+Group:          Development/Languages/Other
 Url:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-rpm-macros
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-# Begin cabal-rpm deps:
 %if %{with tests}
 BuildRequires:  ghc-Glob-devel
 BuildRequires:  ghc-doctest-devel
 %endif
-# End cabal-rpm deps
 
 %description
 Please see README.md.
@@ -53,20 +51,14 @@
 %prep
 %setup -q -n %{pkg_name}-%{version}
 
-
 %build
 %ghc_lib_build
 
-
 %install
 %ghc_lib_install
 
-
 %check
-%if %{with tests}
-%{cabal} test
-%endif
-
+%cabal_test
 
 %post devel
 %ghc_pkg_recache

++++++ read-env-var-0.1.0.0.tar.gz -> read-env-var-0.1.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/read-env-var-0.1.0.0/read-env-var.cabal 
new/read-env-var-0.1.0.1/read-env-var.cabal
--- old/read-env-var-0.1.0.0/read-env-var.cabal 2016-04-07 08:56:14.000000000 
+0200
+++ new/read-env-var-0.1.0.1/read-env-var.cabal 2016-08-15 19:56:50.000000000 
+0200
@@ -1,5 +1,5 @@
 name:                read-env-var
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Functions for safely reading environment variables.
 description:         Please see README.md
 homepage:            https://github.com/cdepillabout/read-env-var#readme
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/read-env-var-0.1.0.0/src/System/ReadEnvVar.hs 
new/read-env-var-0.1.0.1/src/System/ReadEnvVar.hs
--- old/read-env-var-0.1.0.0/src/System/ReadEnvVar.hs   2016-04-07 
09:33:41.000000000 +0200
+++ new/read-env-var-0.1.0.1/src/System/ReadEnvVar.hs   2016-08-15 
19:55:31.000000000 +0200
@@ -14,6 +14,7 @@
 module System.ReadEnvVar
     ( readEnvVar
     , readEnvVarDef
+    , lookupEnvDef
     ) where
 
 #if __GLASGOW_HASKELL__ < 710
@@ -23,6 +24,7 @@
 #endif
 
 import Data.Maybe (fromMaybe)
+import Data.String (IsString(fromString))
 import System.Environment (lookupEnv)
 import Text.Read (readMaybe)
 
@@ -30,12 +32,20 @@
 -- 'readMaybe'.  If the environment variable doesn't exist, or it can't be
 -- 'read', use the default value.
 --
+-- Note that this does not read string values as one would expect.
+--
 -- >>> import System.Environment (setEnv)
--- >>> setEnv "TEST_ENV_VAR" "1000"
--- >>> readEnvVarDef "TEST_ENV_VAR" 5 :: IO Int
+-- >>> setEnv "TEST_ENV_VAR1" "1000"
+-- >>> readEnvVarDef "TEST_ENV_VAR1" 5 :: IO Int
 -- 1000
 -- >>> readEnvVarDef "THIS_ENV_VAR_WILL_NOT_EXIST" 5 :: IO Int
 -- 5
+-- >>> setEnv "TEST_ENV_VAR2" "some string 1"
+-- >>> readEnvVarDef "TEST_ENV_VAR2" "def val" :: IO String
+-- "def val"
+-- >>> setEnv "TEST_ENV_VAR3" "\"some string 1\""
+-- >>> readEnvVarDef "TEST_ENV_VAR3" "def val" :: IO String
+-- "some string 1"
 readEnvVarDef :: Read a
               => String -- ^ environment variable to lookup
               -> a      -- ^ default value to use if the environment variable
@@ -46,17 +56,36 @@
 -- | Lookup a value from an environment variable and read it in with
 -- 'readMaybe'.
 --
+-- Note that this does not read string values as one would expect.
+--
 -- >>> import System.Environment (setEnv)
 -- >>> setEnv "TEST_ENV_VAR" "2000"
 -- >>> readEnvVar "TEST_ENV_VAR" :: IO (Maybe Int)
 -- Just 2000
 -- >>> readEnvVar "THIS_ENV_VAR_WILL_NOT_EXIST" :: IO (Maybe Int)
 -- Nothing
+-- >>> setEnv "TEST_ENV_VAR2" "some string 1"
+-- >>> readEnvVar "TEST_ENV_VAR2" :: IO (Maybe String)
+-- Nothing
+-- >>> setEnv "TEST_ENV_VAR3" "\"some string 1\""
+-- >>> readEnvVar "TEST_ENV_VAR3" :: IO (Maybe String)
+-- Just "some string 1"
 readEnvVar :: Read a
            => String       -- ^ environment variable to lookup
            -> IO (Maybe a)
-readEnvVar envVar = do
-    maybeEnvVal <- lookupEnv envVar
-    case maybeEnvVal of
-        Nothing -> return Nothing
-        Just envVal -> return $ readMaybe envVal
+readEnvVar = fmap (>>= readMaybe) . lookupEnv
+
+-- | Like 'lookupEnv' but take a default value.
+--
+-- >>> import System.Environment (setEnv)
+-- >>> setEnv "TEST_ENV_VAR" "foo"
+-- >>> lookupEnvDef "TEST_ENV_VAR" "bar" :: IO String
+-- "foo"
+-- >>> lookupEnvDef "THIS_ENV_VAR_WILL_NOT_EXIST" "bar" :: IO String
+-- "bar"
+lookupEnvDef :: IsString a
+             => String  -- ^ environment variable to lookup
+             -> a       -- ^ default value to use if environment variable not 
defined
+             -> IO a
+lookupEnvDef envVar defaultValue =
+    pure . maybe defaultValue fromString =<< lookupEnv envVar


Reply via email to