Hello community,

here is the log from the commit of package ghc-http-api-data for 
openSUSE:Factory checked in at 2019-06-12 13:17:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-http-api-data (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-http-api-data.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-http-api-data"

Wed Jun 12 13:17:55 2019 rev:14 rq:709187 version:0.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-http-api-data/ghc-http-api-data.changes      
2018-12-06 12:16:25.853576892 +0100
+++ 
/work/SRC/openSUSE:Factory/.ghc-http-api-data.new.4811/ghc-http-api-data.changes
    2019-06-12 13:17:57.732588292 +0200
@@ -1,0 +2,9 @@
+Sun May 26 09:27:02 UTC 2019 - [email protected]
+
+- Update http-api-data to version 0.4.1.
+  Upstream has edited the change log file since the last release in
+  a non-trivial way, i.e. they did more than just add a new entry
+  at the top. You can review the file at:
+  http://hackage.haskell.org/package/http-api-data-0.4.1/src/CHANGELOG.md
+
+-------------------------------------------------------------------

Old:
----
  http-api-data-0.4.tar.gz

New:
----
  http-api-data-0.4.1.tar.gz

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

Other differences:
------------------
++++++ ghc-http-api-data.spec ++++++
--- /var/tmp/diff_new_pack.gyPSP6/_old  2019-06-12 13:17:58.416587980 +0200
+++ /var/tmp/diff_new_pack.gyPSP6/_new  2019-06-12 13:17:58.416587980 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-http-api-data
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %global pkg_name http-api-data
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.4
+Version:        0.4.1
 Release:        0
 Summary:        Converting to/from HTTP API data like URL pieces, headers and 
query parameters
 License:        BSD-2-Clause
@@ -39,8 +39,7 @@
 BuildRequires:  ghc-rpm-macros
 BuildRequires:  ghc-tagged-devel
 BuildRequires:  ghc-text-devel
-BuildRequires:  ghc-time-devel
-BuildRequires:  ghc-time-locale-compat-devel
+BuildRequires:  ghc-time-compat-devel
 BuildRequires:  ghc-unordered-containers-devel
 BuildRequires:  ghc-uuid-types-devel
 %if %{with tests}

++++++ http-api-data-0.4.tar.gz -> http-api-data-0.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/http-api-data-0.4/CHANGELOG.md 
new/http-api-data-0.4.1/CHANGELOG.md
--- old/http-api-data-0.4/CHANGELOG.md  2001-09-09 03:46:40.000000000 +0200
+++ new/http-api-data-0.4.1/CHANGELOG.md        2001-09-09 03:46:40.000000000 
+0200
@@ -1,3 +1,8 @@
+0.4.1
+-----
+
+* Use `time-compat` to provide instances for `DayOfWeek`.
+
 0.4
 ---
 
@@ -18,7 +23,7 @@
 
 * GHC-8.6 support
 * Remove dependency on `uri-bytestring` and use functions from `http-types` 
instead
-  (see [#75](https://github.com/fizruk/http-api-data/pull/78))
+  (see [#75](https://github.com/fizruk/http-api-data/pull/75))
 * Add support for `SetCookie`
   (see [#74](https://github.com/fizruk/http-api-data/pull/74))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/http-api-data-0.4/http-api-data.cabal 
new/http-api-data-0.4.1/http-api-data.cabal
--- old/http-api-data-0.4/http-api-data.cabal   2001-09-09 03:46:40.000000000 
+0200
+++ new/http-api-data-0.4.1/http-api-data.cabal 2001-09-09 03:46:40.000000000 
+0200
@@ -1,6 +1,6 @@
 cabal-version:   >= 1.10
 name:            http-api-data
-version:         0.4
+version:         0.4.1
 
 synopsis:        Converting to/from HTTP API data like URL pieces, headers and 
query parameters.
 category:        Web
@@ -29,7 +29,8 @@
   GHC==8.0.2,
   GHC==8.2.2,
   GHC==8.4.4,
-  GHC==8.6.2
+  GHC==8.6.5,
+  GHC==8.8.1
 
 custom-setup
   setup-depends:
@@ -51,7 +52,10 @@
                    , bytestring            >= 0.10.4.0 && < 0.11
                    , containers            >= 0.5.5.1  && < 0.7
                    , text                  >= 1.2.3.0  && < 1.3
-                   , time                  >= 1.4.2    && < 1.9
+
+    -- so Semigroup Builder exists
+    if impl(ghc >= 8.0)
+      build-depends: bytestring >= 0.10.8.1
 
     -- other-dependencies
     build-depends:
@@ -59,24 +63,24 @@
                    , attoparsec-iso8601    >= 1.0.1.0  && < 1.1
                    , base-compat           >= 0.10.5   && < 0.11
                    , cookie                >= 0.4.3    && < 0.4.5
-                   , hashable              >= 1.2.7.0  && < 1.3
-                   , http-types            >= 0.12.2   && < 0.13
+                   , hashable              >= 1.2.7.0  && < 1.4
+                   , http-types            >= 0.12.3   && < 0.13
                    , tagged                >= 0.8.5    && < 0.9
-                   , time-locale-compat    >= 0.1.1.5  && < 0.2
-                   , unordered-containers  >= 0.2.9.0  && < 0.3
+                   , time-compat           >= 1.9.2    && < 1.10
+                   , unordered-containers  >= 0.2.10.0  && < 0.3
                    , uuid-types            >= 1.0.3    && <1.1
 
     if !impl(ghc >= 7.10)
       build-depends:
         nats >= 1.1.2 && < 1.2,
-        void >= 0.7.2 && < 0.8
+        void >= 0.7.3 && < 0.8
 
     if !impl(ghc >= 8.0)
-      build-depends: semigroups            >= 0.18.5   && < 0.19
+      build-depends: semigroups            >= 0.18.5   && < 0.20
 
     if flag(use-text-show)
       cpp-options: -DUSE_TEXT_SHOW
-      build-depends: text-show        >= 3.7.4 && <3.8
+      build-depends: text-show        >= 3.8.2 && <3.9
 
     exposed-modules:
       Web.HttpApiData
@@ -96,7 +100,7 @@
     hs-source-dirs: test
     ghc-options:   -Wall
     default-language: Haskell2010
-    build-tool-depends: hspec-discover:hspec-discover >= 2.6.0 && <2.7
+    build-tool-depends: hspec-discover:hspec-discover >= 2.7.1 && <2.8
     -- inherited  depndencies
     build-depends:
                      base
@@ -106,14 +110,14 @@
                    , http-api-data
                    , nats
                    , text
-                   , time
+                   , time-compat
                    , unordered-containers
                    , uuid-types
 
     build-depends:   HUnit                >= 1.6.0.0 && <1.7
-                   , hspec                >= 2.6.0   && <2.7
-                   , QuickCheck           >= 2.11.3  && <2.13
-                   , quickcheck-instances >= 0.3.19  && <0.4
+                   , hspec                >= 2.7.1   && <2.8
+                   , QuickCheck           >= 2.13.1  && <2.14
+                   , quickcheck-instances >= 0.3.21  && <0.4
 
 test-suite doctests
   ghc-options:      -Wall
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/http-api-data-0.4/src/Web/HttpApiData.hs 
new/http-api-data-0.4.1/src/Web/HttpApiData.hs
--- old/http-api-data-0.4/src/Web/HttpApiData.hs        2001-09-09 
03:46:40.000000000 +0200
+++ new/http-api-data-0.4.1/src/Web/HttpApiData.hs      2001-09-09 
03:46:40.000000000 +0200
@@ -49,10 +49,9 @@
 --
 -- >>> :set -XOverloadedStrings
 -- >>> import Control.Applicative
--- >>> import Data.Time
+-- >>> import Data.Time.Compat
 -- >>> import Data.Int
 -- >>> import Data.Text (Text)
--- >>> import Data.Time (Day)
 -- >>> import Data.Version
 
 -- $examples
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/http-api-data-0.4/src/Web/Internal/FormUrlEncoded.hs 
new/http-api-data-0.4.1/src/Web/Internal/FormUrlEncoded.hs
--- old/http-api-data-0.4/src/Web/Internal/FormUrlEncoded.hs    2001-09-09 
03:46:40.000000000 +0200
+++ new/http-api-data-0.4.1/src/Web/Internal/FormUrlEncoded.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -48,7 +48,7 @@
 import qualified Data.Text.Encoding         as Text
 import           Data.Text.Encoding.Error   (lenientDecode)
 import qualified Data.Text.Lazy             as Lazy
-import           Data.Time                  (Day, LocalTime, NominalDiffTime,
+import           Data.Time.Compat           (Day, LocalTime, NominalDiffTime,
                                              UTCTime, ZonedTime)
 import           Data.Void                  (Void)
 import           Data.Word                  (Word16, Word32, Word64, Word8)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/http-api-data-0.4/src/Web/Internal/HttpApiData.hs 
new/http-api-data-0.4.1/src/Web/Internal/HttpApiData.hs
--- old/http-api-data-0.4/src/Web/Internal/HttpApiData.hs       2001-09-09 
03:46:40.000000000 +0200
+++ new/http-api-data-0.4.1/src/Web/Internal/HttpApiData.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -28,6 +28,7 @@
 import           Data.Data                    (Data)
 import qualified Data.Fixed                   as F
 import           Data.Int                     (Int16, Int32, Int64, Int8)
+import qualified Data.Map                     as Map
 import           Data.Monoid                  (All (..), Any (..), Dual (..),
                                                First (..), Last (..),
                                                Product (..), Sum (..))
@@ -42,10 +43,13 @@
 import qualified Data.Text.Lazy               as L
 import           Data.Text.Read               (Reader, decimal, rational,
                                                signed)
-import           Data.Time                    (Day, FormatTime, LocalTime,
+import           Data.Time.Compat             (Day, FormatTime, LocalTime,
                                                NominalDiffTime, TimeOfDay,
-                                               UTCTime, ZonedTime, formatTime)
-import           Data.Time.Locale.Compat      (defaultTimeLocale,
+                                               UTCTime, ZonedTime, formatTime,
+                                               DayOfWeek (..),
+                                               nominalDiffTimeToSeconds,
+                                               secondsToNominalDiffTime)
+import           Data.Time.Format.Compat      (defaultTimeLocale,
                                                iso8601DateFormat)
 import           Data.Typeable                (Typeable)
 import qualified Data.UUID.Types              as UUID
@@ -60,10 +64,6 @@
 import           Web.Cookie                   (SetCookie, parseSetCookie,
                                                renderSetCookie)
 
-#if MIN_VERSION_time(1,9,1)
-import           Data.Time                    (nominalDiffTimeToSeconds,
-                                               secondsToNominalDiffTime)
-#endif
 
 #if USE_TEXT_SHOW
 import           TextShow                     (TextShow, showt)
@@ -75,7 +75,7 @@
 -- $setup
 -- >>> data BasicAuthToken = BasicAuthToken Text deriving (Show)
 -- >>> instance FromHttpApiData BasicAuthToken where parseHeader h = 
BasicAuthToken <$> parseHeaderWithPrefix "Basic " h; parseQueryParam p = 
BasicAuthToken <$> parseQueryParam p
--- >>> import Data.Time
+-- >>> import Data.Time.Compat
 -- >>> import Data.Version
 
 -- | Convert value to HTTP API data.
@@ -495,28 +495,23 @@
   toUrlPiece = timeToUrlPiece "%H:%M:%S%QZ"
   toEncodedUrlPiece = unsafeToEncodedUrlPiece
 
--- The CPP in both this function and the function after it are to avoid
--- exporting @nominalDiffTimeToSeconds@ and @secondsToNominalDiffTime@,
--- since these names are already used by @Data.Time@ from the @time@ library
--- starting in version @1.9.1@.
-nominalDiffTimeToSecs :: NominalDiffTime -> F.Pico
-nominalDiffTimeToSecs =
-#if !MIN_VERSION_time(1,9,1)
-    realToFrac
-#else
-    nominalDiffTimeToSeconds
-#endif
+-- |
+-- >>> toUrlPiece Monday
+-- "monday"
+instance ToHttpApiData DayOfWeek where
+  toUrlPiece Monday    = "monday"
+  toUrlPiece Tuesday   = "tuesday"
+  toUrlPiece Wednesday = "wednesday"
+  toUrlPiece Thursday  = "thursday"
+  toUrlPiece Friday    = "friday"
+  toUrlPiece Saturday  = "saturday"
+  toUrlPiece Sunday    = "sunday"
+
+  toEncodedUrlPiece = unsafeToEncodedUrlPiece
 
-secsToNominalDiffTime :: F.Pico -> NominalDiffTime
-secsToNominalDiffTime =
-#if !MIN_VERSION_time(1,9,1)
-    realToFrac
-#else
-    secondsToNominalDiffTime
-#endif
 
 instance ToHttpApiData NominalDiffTime where
-  toUrlPiece = toUrlPiece . nominalDiffTimeToSecs
+  toUrlPiece = toUrlPiece . nominalDiffTimeToSeconds
   toEncodedUrlPiece = unsafeToEncodedUrlPiece
 
 instance ToHttpApiData String   where toUrlPiece = T.pack
@@ -686,7 +681,16 @@
 -- Right 2015-10-03 00:14:24 UTC
 instance FromHttpApiData UTCTime   where parseUrlPiece = runAtto Atto.utcTime
 
-instance FromHttpApiData NominalDiffTime where parseUrlPiece = fmap 
secsToNominalDiffTime . parseUrlPiece
+instance FromHttpApiData DayOfWeek where
+  parseUrlPiece t = case Map.lookup (T.toLower t) m of
+      Just dow -> Right dow
+      Nothing  -> Left $ "Incorrect DayOfWeek: " <> T.take 10 t
+    where
+      m :: Map.Map Text DayOfWeek
+      m = Map.fromList [ (toUrlPiece dow, dow) | dow <- [Monday .. Sunday] ]
+
+
+instance FromHttpApiData NominalDiffTime where parseUrlPiece = fmap 
secondsToNominalDiffTime . parseUrlPiece
 
 instance FromHttpApiData All where parseUrlPiece = coerce (parseUrlPiece :: 
Text -> Either Text Bool)
 instance FromHttpApiData Any where parseUrlPiece = coerce (parseUrlPiece :: 
Text -> Either Text Bool)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/http-api-data-0.4/test/Web/Internal/HttpApiDataSpec.hs 
new/http-api-data-0.4.1/test/Web/Internal/HttpApiDataSpec.hs
--- old/http-api-data-0.4/test/Web/Internal/HttpApiDataSpec.hs  2001-09-09 
03:46:40.000000000 +0200
+++ new/http-api-data-0.4.1/test/Web/Internal/HttpApiDataSpec.hs        
2001-09-09 03:46:40.000000000 +0200
@@ -13,7 +13,7 @@
 import qualified Data.Text                  as T
 import qualified Data.Text.Encoding         as TE
 import qualified Data.Text.Lazy             as L
-import           Data.Time
+import           Data.Time.Compat
 import qualified Data.UUID.Types            as UUID
 import           Data.Version
 import           Data.Word
@@ -86,6 +86,7 @@
     checkUrlPiece  (Proxy :: Proxy ZonedTime) "ZonedTime"
     checkUrlPiece  (Proxy :: Proxy UTCTime)   "UTCTime"
     checkUrlPiece  (Proxy :: Proxy NominalDiffTime) "NominalDiffTime"
+    checkUrlPiece  (Proxy :: Proxy DayOfWeek) "DayOfWeek"
     checkUrlPiece  (Proxy :: Proxy Version)   "Version"
     checkUrlPiece  (Proxy :: Proxy UUID.UUID) "UUID"
     checkUrlPiece' setCookieGen               "Cookie"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/http-api-data-0.4/test/Web/Internal/TestInstances.hs 
new/http-api-data-0.4.1/test/Web/Internal/TestInstances.hs
--- old/http-api-data-0.4/test/Web/Internal/TestInstances.hs    2001-09-09 
03:46:40.000000000 +0200
+++ new/http-api-data-0.4.1/test/Web/Internal/TestInstances.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -12,7 +12,7 @@
 import           Data.Char
 import qualified Data.HashMap.Strict  as HashMap
 import qualified Data.Text            as T
-import           Data.Time
+import           Data.Time.Compat
 import           GHC.Exts             (fromList)
 import           GHC.Generics
 


Reply via email to