Hello community, here is the log from the commit of package ghc-swagger2 for openSUSE:Factory checked in at 2017-06-04 01:55:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-swagger2 (Old) and /work/SRC/openSUSE:Factory/.ghc-swagger2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-swagger2" Sun Jun 4 01:55:25 2017 rev:4 rq:494193 version:2.1.4 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-swagger2/ghc-swagger2.changes 2017-04-14 13:36:46.535408705 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-swagger2.new/ghc-swagger2.changes 2017-06-04 01:55:29.296994991 +0200 @@ -1,0 +2,5 @@ +Wed May 3 08:13:54 UTC 2017 - [email protected] + +- Update to version 2.1.4 revision 1 with cabal2obs. + +------------------------------------------------------------------- Old: ---- swagger2-2.1.3.tar.gz New: ---- swagger2-2.1.4.tar.gz swagger2.cabal ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-swagger2.spec ++++++ --- /var/tmp/diff_new_pack.B5gmkY/_old 2017-06-04 01:55:32.072602856 +0200 +++ /var/tmp/diff_new_pack.B5gmkY/_new 2017-06-04 01:55:32.076602291 +0200 @@ -19,13 +19,14 @@ %global pkg_name swagger2 %bcond_with tests Name: ghc-%{pkg_name} -Version: 2.1.3 +Version: 2.1.4 Release: 0 Summary: Swagger 2.0 data model License: BSD-3-Clause 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 +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-aeson-devel BuildRequires: ghc-base-compat-devel @@ -43,6 +44,7 @@ BuildRequires: ghc-template-haskell-devel BuildRequires: ghc-text-devel BuildRequires: ghc-time-devel +BuildRequires: ghc-transformers-compat-devel BuildRequires: ghc-transformers-devel BuildRequires: ghc-unordered-containers-devel BuildRequires: ghc-uuid-types-devel @@ -73,6 +75,7 @@ %prep %setup -q -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ swagger2-2.1.3.tar.gz -> swagger2-2.1.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swagger2-2.1.3/CHANGELOG.md new/swagger2-2.1.4/CHANGELOG.md --- old/swagger2-2.1.3/CHANGELOG.md 2016-10-02 08:17:36.000000000 +0200 +++ new/swagger2-2.1.4/CHANGELOG.md 2017-04-25 21:08:54.000000000 +0200 @@ -1,3 +1,9 @@ +2.1.4 +----- + +* Add `liftDeclare` (see [#100](https://github.com/GetShopTV/swagger2/pull/100)); +* Add `MonadDeclare` instances for all monad transformers (see [#100](https://github.com/GetShopTV/swagger2/pull/100)). + 2.1.3 ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swagger2-2.1.3/examples/hackage.hs new/swagger2-2.1.4/examples/hackage.hs --- old/swagger2-2.1.3/examples/hackage.hs 2016-10-02 08:17:36.000000000 +0200 +++ new/swagger2-2.1.4/examples/hackage.hs 2017-02-18 08:38:34.000000000 +0100 @@ -20,7 +20,21 @@ data UserSummary = UserSummary { summaryUsername :: Username , summaryUserid :: Int - } deriving (Generic, ToSchema) + } deriving (Generic) + +instance ToSchema UserSummary where + declareNamedSchema _ = do + usernameSchema <- declareSchemaRef (Proxy :: Proxy Username) + useridSchema <- declareSchemaRef (Proxy :: Proxy Int) + return $ NamedSchema (Just "UserSummary") $ mempty + & type_ .~ SwaggerObject + & properties .~ + [ ("summaryUsername", usernameSchema ) + , ("summaryUserid" , useridSchema ) + ] + & required .~ [ "summaryUsername" + , "summaryUserid" ] + type Group = Text diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swagger2-2.1.3/src/Data/Swagger/Declare.hs new/swagger2-2.1.4/src/Data/Swagger/Declare.hs --- old/swagger2-2.1.3/src/Data/Swagger/Declare.hs 2016-10-02 08:17:36.000000000 +0200 +++ new/swagger2-2.1.4/src/Data/Swagger/Declare.hs 2017-04-25 20:57:27.000000000 +0200 @@ -2,6 +2,7 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE MultiParamTypeClasses #-} +{-# LANGUAGE UndecidableInstances #-} -- | -- Module: Data.Swagger.Declare -- Maintainer: Nickolay Kudasov <[email protected]> @@ -14,7 +15,19 @@ import Prelude.Compat import Control.Monad +import Control.Monad.Cont (ContT) +import Control.Monad.List (ListT) +import Control.Monad.Reader (ReaderT) import Control.Monad.Trans +import Control.Monad.Trans.Except (ExceptT) +import Control.Monad.Trans.Identity (IdentityT) +import Control.Monad.Trans.Maybe (MaybeT) +import Control.Monad.Trans.State.Lazy as Lazy +import Control.Monad.Trans.State.Strict as Strict +import Control.Monad.Trans.RWS.Lazy as Lazy +import Control.Monad.Trans.RWS.Strict as Strict +import Control.Monad.Trans.Writer.Lazy as Lazy +import Control.Monad.Trans.Writer.Strict as Strict import Data.Functor.Identity import Data.Monoid @@ -77,6 +90,13 @@ declare d = DeclareT (\_ -> return (d, ())) look = DeclareT (\d -> return (mempty, d)) +-- | Lift a computation from the simple Declare monad. +liftDeclare :: MonadDeclare d m => Declare d a -> m a +liftDeclare da = do + (d', a) <- looks (runDeclare da) + declare d' + pure a + -- | Retrieve a function of all the output so far. looks :: MonadDeclare d m => (d -> a) -> m a looks f = f <$> look @@ -125,3 +145,56 @@ undeclare :: Monoid d => Declare d a -> a undeclare = runIdentity . undeclareT +-- --------------------------------------------------------------------------- +-- Instances for other mtl transformers +-- +-- All of these instances need UndecidableInstances, +-- because they do not satisfy the coverage condition. + +instance MonadDeclare d m => MonadDeclare d (ContT r m) where + declare = lift . declare + look = lift look + +instance MonadDeclare d m => MonadDeclare d (ExceptT e m) where + declare = lift . declare + look = lift look + +instance MonadDeclare d m => MonadDeclare d (IdentityT m) where + declare = lift . declare + look = lift look + +instance MonadDeclare d m => MonadDeclare d (ListT m) where + declare = lift . declare + look = lift look + +instance MonadDeclare d m => MonadDeclare d (MaybeT m) where + declare = lift . declare + look = lift look + +instance MonadDeclare d m => MonadDeclare d (ReaderT r m) where + declare = lift . declare + look = lift look + +instance (Monoid w, MonadDeclare d m) => MonadDeclare d (Lazy.RWST r w s m) where + declare = lift . declare + look = lift look + +instance (Monoid w, MonadDeclare d m) => MonadDeclare d (Strict.RWST r w s m) where + declare = lift . declare + look = lift look + +instance MonadDeclare d m => MonadDeclare d (Lazy.StateT s m) where + declare = lift . declare + look = lift look + +instance MonadDeclare d m => MonadDeclare d (Strict.StateT s m) where + declare = lift . declare + look = lift look + +instance (Monoid w, MonadDeclare d m) => MonadDeclare d (Lazy.WriterT w m) where + declare = lift . declare + look = lift look + +instance (Monoid w, MonadDeclare d m) => MonadDeclare d (Strict.WriterT w m) where + declare = lift . declare + look = lift look diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swagger2-2.1.3/src/Data/Swagger/Internal/ParamSchema.hs new/swagger2-2.1.4/src/Data/Swagger/Internal/ParamSchema.hs --- old/swagger2-2.1.3/src/Data/Swagger/Internal/ParamSchema.hs 2016-10-02 08:17:36.000000000 +0200 +++ new/swagger2-2.1.4/src/Data/Swagger/Internal/ParamSchema.hs 2017-02-18 08:25:03.000000000 +0100 @@ -83,9 +83,9 @@ -- data Direction = Up | Down -- -- instance ToParamSchema Direction where --- toParamSchema = mempty +-- toParamSchema _ = mempty -- & type_ .~ SwaggerString --- & enum_ .~ [ \"Up\", \"Down\" ] +-- & enum_ ?~ [ \"Up\", \"Down\" ] -- @ -- -- Instead of manually writing your @'ToParamSchema'@ instance you can diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swagger2-2.1.3/src/Data/Swagger/Internal/Schema.hs new/swagger2-2.1.4/src/Data/Swagger/Internal/Schema.hs --- old/swagger2-2.1.3/src/Data/Swagger/Internal/Schema.hs 2016-10-02 08:17:36.000000000 +0200 +++ new/swagger2-2.1.4/src/Data/Swagger/Internal/Schema.hs 2017-04-25 20:57:21.000000000 +0200 @@ -104,9 +104,9 @@ -- data Coord = Coord { x :: Double, y :: Double } -- -- instance ToSchema Coord where --- declareNamedSchema = do +-- declareNamedSchema _ = do -- doubleSchema <- declareSchemaRef (Proxy :: Proxy Double) --- return $ NamedSchema (Just \"Coord\")) $ mempty +-- return $ NamedSchema (Just \"Coord\") $ mempty -- & type_ .~ SwaggerObject -- & properties .~ -- [ (\"x\", doubleSchema) @@ -685,6 +685,8 @@ then schema & type_ .~ SwaggerArray & items %~ appendItem ref + & maxItems %~ Just . maybe 1 (+1) -- increment maxItems + & minItems %~ Just . maybe 1 (+1) -- increment minItems else schema & type_ .~ SwaggerObject & properties . at fname ?~ ref diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swagger2-2.1.3/swagger2.cabal new/swagger2-2.1.4/swagger2.cabal --- old/swagger2-2.1.3/swagger2.cabal 2016-10-02 08:17:36.000000000 +0200 +++ new/swagger2-2.1.4/swagger2.cabal 2017-04-25 21:09:01.000000000 +0200 @@ -1,5 +1,5 @@ name: swagger2 -version: 2.1.3 +version: 2.1.4 synopsis: Swagger 2.0 data model description: Please see README.md homepage: https://github.com/GetShopTV/swagger2 @@ -56,6 +56,7 @@ , template-haskell , time , transformers + , transformers-compat >= 0.3 , unordered-containers , vector , uuid-types >=1.0.2 && <1.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swagger2-2.1.3/test/Data/Swagger/SchemaSpec.hs new/swagger2-2.1.4/test/Data/Swagger/SchemaSpec.hs --- old/swagger2-2.1.3/test/Data/Swagger/SchemaSpec.hs 2016-10-02 08:17:36.000000000 +0200 +++ new/swagger2-2.1.4/test/Data/Swagger/SchemaSpec.hs 2017-02-18 08:58:51.000000000 +0100 @@ -146,7 +146,9 @@ [ { "type": "integer" }, { "type": "string" } - ] + ], + "minItems": 2, + "maxItems": 2 } |] ++++++ swagger2.cabal ++++++ name: swagger2 version: 2.1.4 x-revision: 1 synopsis: Swagger 2.0 data model description: Please see README.md homepage: https://github.com/GetShopTV/swagger2 bug-reports: https://github.com/GetShopTV/swagger2/issues license: BSD3 license-file: LICENSE author: Nickolay Kudasov maintainer: [email protected] copyright: (c) 2015-2016, GetShopTV category: Web build-type: Simple extra-source-files: README.md , CHANGELOG.md , examples/*.hs , include/overlapping-compat.h cabal-version: >=1.10 tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.1 library hs-source-dirs: src include-dirs: include exposed-modules: Data.Swagger Data.Swagger.Declare Data.Swagger.Lens Data.Swagger.Operation Data.Swagger.ParamSchema Data.Swagger.Schema Data.Swagger.Schema.Validation Data.Swagger.SchemaOptions -- internal modules Data.Swagger.Internal Data.Swagger.Internal.Schema Data.Swagger.Internal.Schema.Validation Data.Swagger.Internal.ParamSchema Data.Swagger.Internal.Utils Data.Swagger.Internal.AesonUtils build-depends: base >=4.7 && <4.10 , base-compat >=0.9.1 && <0.10 , aeson >=0.11.2.1 , bytestring , containers , hashable , generics-sop >=0.2 && <0.4 , http-media , insert-ordered-containers >=0.1.0.0 && <0.3 , lens , mtl , network , scientific , text , template-haskell , time , transformers , transformers-compat >= 0.3 , unordered-containers , vector , uuid-types >=1.0.2 && <1.1 default-language: Haskell2010 test-suite spec type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Spec.hs -- We need aeson's toEncoding for doctests too build-depends: base , base-compat , aeson >=0.10.0.0 , aeson-qq , bytestring , containers , hashable , hspec , insert-ordered-containers , HUnit , mtl , QuickCheck >=2.8.2 , swagger2 , text , time , unordered-containers , vector , lens other-modules: SpecCommon Data.SwaggerSpec Data.Swagger.ParamSchemaSpec Data.Swagger.SchemaSpec Data.Swagger.Schema.ValidationSpec default-language: Haskell2010 test-suite doctest build-depends: base, doctest, Glob default-language: Haskell2010 hs-source-dirs: test main-is: DocTest.hs type: exitcode-stdio-1.0 source-repository head type: git location: https://github.com/GetShopTV/swagger2.git
