Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-servant for openSUSE:Factory 
checked in at 2023-01-18 13:10:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-servant (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-servant.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-servant"

Wed Jan 18 13:10:28 2023 rev:11 rq:1059104 version:0.19.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-servant/ghc-servant.changes  2022-08-01 
21:31:57.713925504 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-servant.new.32243/ghc-servant.changes       
2023-01-18 13:10:53.256848285 +0100
@@ -1,0 +2,9 @@
+Thu Oct 27 22:28:47 UTC 2022 - Peter Simons <psim...@suse.com>
+
+- Update servant to version 0.19.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/servant-0.19.1/src/CHANGELOG.md
+
+-------------------------------------------------------------------

Old:
----
  servant-0.19.tar.gz
  servant.cabal

New:
----
  servant-0.19.1.tar.gz

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

Other differences:
------------------
++++++ ghc-servant.spec ++++++
--- /var/tmp/diff_new_pack.cyQTwM/_old  2023-01-18 13:10:54.388854995 +0100
+++ /var/tmp/diff_new_pack.cyQTwM/_new  2023-01-18 13:10:54.392855019 +0100
@@ -19,13 +19,12 @@
 %global pkg_name servant
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.19
+Version:        0.19.1
 Release:        0
 Summary:        A family of combinators for defining webservices APIs
 License:        BSD-3-Clause
 URL:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1:        
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/4.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-QuickCheck-devel
 BuildRequires:  ghc-aeson-devel
@@ -77,8 +76,6 @@
 
 %prep
 %autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
-cabal-tweak-dep-ver http-api-data '< 0.4.4' '< 1'
 
 %build
 %ghc_lib_build

++++++ servant-0.19.tar.gz -> servant-0.19.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/servant-0.19/CHANGELOG.md 
new/servant-0.19.1/CHANGELOG.md
--- old/servant-0.19/CHANGELOG.md       2001-09-09 03:46:40.000000000 +0200
+++ new/servant-0.19.1/CHANGELOG.md     2001-09-09 03:46:40.000000000 +0200
@@ -2,6 +2,11 @@
 
 Package versions follow the [Package Versioning 
Policy](https://pvp.haskell.org/): in A.B.C, bumps to either A or B represent 
major versions.
 
+0.19.1
+------
+
+Compatibility with GHC 9.4, see [PR 
#1592](https://github.com/haskell-servant/servant/pull/1592).
+
 0.19
 ----
 
@@ -48,11 +53,11 @@
   rootClient :: RootApi (AsClientT ClientM)
   rootClient = client (Proxy @API)
 
-  hello :: String -> ClientM String
-  hello name = rootClient // hello /: name
+  helloClient :: String -> ClientM String
+  helloClient name = rootClient // hello /: name
 
   endpointClient :: ClientM Person
-  endpointClient = client // subApi /: "foobar123" // endpoint
+  endpointClient = rootClient // subApi /: "foobar123" // endpoint
 
   type Api = NamedRoutes RootApi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/servant-0.19/servant.cabal 
new/servant-0.19.1/servant.cabal
--- old/servant-0.19/servant.cabal      2001-09-09 03:46:40.000000000 +0200
+++ new/servant-0.19.1/servant.cabal    2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                servant
-version:             0.19
+version:             0.19.1
 
 synopsis:            A family of combinators for defining webservices APIs
 category:            Servant, Web
@@ -80,25 +80,25 @@
   --
   -- note: mtl lower bound is so low because of GHC-7.8
   build-depends:
-      base                   >= 4.9      && < 4.16
+      base                   >= 4.9      && < 4.18
     , bytestring             >= 0.10.8.1 && < 0.12
     , constraints            >= 0.2
     , mtl                    >= 2.2.2    && < 2.3
     , sop-core               >= 0.4.0.0  && < 0.6
     , transformers           >= 0.5.2.0  && < 0.6
-    , text                   >= 1.2.3.0  && < 1.3
+    , text                   >= 1.2.3.0  && < 2.1
 
 
   -- We depend (heavily) on the API of these packages:
   -- i.e. re-export, or allow using without direct dependency
   build-depends:
-      http-api-data          >= 0.4.1    && < 0.4.4
+      http-api-data          >= 0.4.1    && < 0.5.1
     , singleton-bool         >= 0.1.4    && < 0.1.7
 
   -- Other dependencies: Lower bound around what is in the latest Stackage LTS.
   -- Here can be exceptions if we really need features from the newer versions.
   build-depends:
-      base-compat            >= 0.10.5   && < 0.12
+      base-compat            >= 0.10.5   && < 0.13
     , aeson                  >= 1.4.1.0  && < 3
     , attoparsec             >= 0.13.2.2 && < 0.15
     , bifunctors             >= 5.5.3    && < 5.6
@@ -106,7 +106,7 @@
     , deepseq                >= 1.4.2.0  && < 1.5
     , http-media             >= 0.7.1.3  && < 0.9
     , http-types             >= 0.12.2   && < 0.13
-    , mmorph                 >= 1.1.2    && < 1.2
+    , mmorph                 >= 1.1.2    && < 1.3
     , network-uri            >= 2.6.1.0  && < 2.7
     , QuickCheck             >= 2.12.6.1 && < 2.15
     , string-conversions     >= 0.4.0.1  && < 0.5
@@ -166,9 +166,9 @@
 
   -- Additional dependencies
   build-depends:
-      hspec                >= 2.6.0    && < 2.9
+      hspec                >= 2.6.0    && < 2.10
     , QuickCheck           >= 2.12.6.1 && < 2.15
     , quickcheck-instances >= 0.3.19   && < 0.4
 
   build-tool-depends:
-    hspec-discover:hspec-discover >= 2.6.0 && < 2.9
+    hspec-discover:hspec-discover >= 2.6.0 && < 2.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/servant-0.19/src/Servant/API/ContentTypes.hs 
new/servant-0.19.1/src/Servant/API/ContentTypes.hs
--- old/servant-0.19/src/Servant/API/ContentTypes.hs    2001-09-09 
03:46:40.000000000 +0200
+++ new/servant-0.19.1/src/Servant/API/ContentTypes.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -295,7 +295,7 @@
 -- then this would be taken care of. However there is no more specific instance
 -- between that and 'MimeRender JSON a', so we do this instead
 instance {-# OVERLAPPING #-} ( Accept ctyp ) => AllMimeRender '[ctyp] 
NoContent where
-    allMimeRender _ _ = map (, "") $ NE.toList $ contentTypes pctyp
+    allMimeRender _ NoContent = map (, "") $ NE.toList $ contentTypes pctyp
       where
         pctyp = Proxy :: Proxy ctyp
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/servant-0.19/src/Servant/API/TypeLevel.hs 
new/servant-0.19.1/src/Servant/API/TypeLevel.hs
--- old/servant-0.19/src/Servant/API/TypeLevel.hs       2001-09-09 
03:46:40.000000000 +0200
+++ new/servant-0.19.1/src/Servant/API/TypeLevel.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -110,7 +110,7 @@
 --
 -- >>> ok (Proxy :: Proxy (IsElem ("bye" :> Get '[JSON] Int) SampleAPI))
 -- ...
--- ... Could not deduce...
+-- ... Could not ...
 -- ...
 --
 -- An endpoint is considered within an api even if it is missing combinators
@@ -151,7 +151,7 @@
 --
 -- >>> ok (Proxy :: Proxy (IsSubAPI (SampleAPI :<|> Get '[JSON] Int) 
SampleAPI))
 -- ...
--- ... Could not deduce...
+-- ... Could not ...
 -- ...
 --
 -- This uses @IsElem@ for checking; thus the note there applies here.
@@ -174,7 +174,7 @@
 --
 -- >>> ok (Proxy :: Proxy (IsIn (Get '[JSON] Int) (Header "h" Bool :> Get 
'[JSON] Int)))
 -- ...
--- ... Could not deduce...
+-- ... Could not ...
 -- ...
 type family IsIn (endpoint :: *) (api :: *) :: Constraint where
   IsIn e (sa :<|> sb)                = Or (IsIn e sa) (IsIn e sb)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/servant-0.19/src/Servant/API.hs 
new/servant-0.19.1/src/Servant/API.hs
--- old/servant-0.19/src/Servant/API.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/servant-0.19.1/src/Servant/API.hs       2001-09-09 03:46:40.000000000 
+0200
@@ -38,6 +38,7 @@
 
   -- * Sub-APIs defined as records of routes
   module Servant.API.NamedRoutes,
+  module Servant.API.Generic,
 
   -- * Streaming endpoints, distinguished by HTTP method
   module Servant.API.Stream,
@@ -102,6 +103,9 @@
                  (Fragment)
 import           Servant.API.Header
                  (Header, Header')
+import           Servant.API.Generic
+                 (GenericMode ((:-)), AsApi, ToServant, ToServantApi, 
GServantProduct,
+                 GenericServant, fromServant, toServant, genericApi)
 import           Servant.API.HttpVersion
                  (HttpVersion (..))
 import           Servant.API.IsSecure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/servant-0.19/src/Servant/Links.hs 
new/servant-0.19.1/src/Servant/Links.hs
--- old/servant-0.19/src/Servant/Links.hs       2001-09-09 03:46:40.000000000 
+0200
+++ new/servant-0.19.1/src/Servant/Links.hs     2001-09-09 03:46:40.000000000 
+0200
@@ -1,5 +1,6 @@
 {-# LANGUAGE AllowAmbiguousTypes    #-}
 {-# LANGUAGE ConstraintKinds        #-}
+{-# LANGUAGE CPP                    #-}
 {-# LANGUAGE DataKinds              #-}
 {-# LANGUAGE FlexibleContexts       #-}
 {-# LANGUAGE FlexibleInstances      #-}
@@ -91,7 +92,7 @@
 -- >>> let bad_link = Proxy :: Proxy ("hello" :> Delete '[JSON] NoContent)
 -- >>> safeLink api bad_link
 -- ...
--- ...Could not deduce...
+-- ...Could not ...
 -- ...
 --
 --  This error is essentially saying that the type family couldn't find
@@ -193,6 +194,8 @@
 import           Servant.API.WithNamedContext
                  (WithNamedContext)
 import           Web.HttpApiData
+import           Data.Kind
+                 (Type)
 
 -- | A safe link datatype.
 -- The only way of constructing a 'Link' is using 'safeLink', which means any
@@ -647,12 +650,20 @@
 -- >>> import Data.Text (Text)
 
 -- Erroring instance for 'HasLink' when a combinator is not fully applied
-instance TypeError (PartialApplication HasLink arr) => HasLink ((arr :: a -> 
b) :> sub)
+instance TypeError (PartialApplication 
+#if __GLASGOW_HASKELL__ >= 904
+                    @(Type -> Constraint) 
+#endif
+                    HasLink arr) => HasLink ((arr :: a -> b) :> sub)
   where
     type MkLink (arr :> sub) _ = TypeError (PartialApplication (HasLink :: * 
-> Constraint) arr)
     toLink = error "unreachable"
 
 -- Erroring instances for 'HasLink' for unknown API combinators
-instance {-# OVERLAPPABLE #-} TypeError (NoInstanceForSub HasLink ty) => 
HasLink (ty :> sub)
+instance {-# OVERLAPPABLE #-} TypeError (NoInstanceForSub 
+#if __GLASGOW_HASKELL__ >= 904
+                                         @(Type -> Constraint) 
+#endif
+                                         HasLink ty) => HasLink (ty :> sub)
 
 instance {-# OVERLAPPABLE #-} TypeError (NoInstanceFor (HasLink api)) => 
HasLink api
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/servant-0.19/test/Servant/API/ContentTypesSpec.hs 
new/servant-0.19.1/test/Servant/API/ContentTypesSpec.hs
--- old/servant-0.19/test/Servant/API/ContentTypesSpec.hs       2001-09-09 
03:46:40.000000000 +0200
+++ new/servant-0.19.1/test/Servant/API/ContentTypesSpec.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -33,6 +33,8 @@
 import qualified Data.Text                                        as TextS
 import qualified Data.Text.Encoding                               as TextSE
 import qualified Data.Text.Lazy                                   as TextL
+import           Control.Exception
+                 (evaluate)
 import           GHC.Generics
 import           Test.Hspec
 import           Test.QuickCheck
@@ -78,6 +80,15 @@
         it "has mimeUnrender reverse mimeRender for valid top-level json " $ do
             property $ \x -> mimeUnrender p (mimeRender p x) == Right 
(x::SomeData)
 
+    describe "The NoContent Content-Type type" $ do
+        let p = Proxy :: Proxy '[JSON]
+
+        it "does not render any content" $
+          allMimeRender p NoContent `shouldSatisfy` (all (BSL8.null . snd))
+
+        it "evaluates the NoContent value" $
+          evaluate (allMimeRender p (undefined :: NoContent)) `shouldThrow` 
anyErrorCall
+
     describe "The PlainText Content-Type type" $ do
         let p = Proxy :: Proxy PlainText
 

Reply via email to