packages feed

hprotoc 2.4.10 → 2.4.11

raw patch · 2 files changed

+46/−32 lines, 2 filesdep ~haskell-src-extsdep ~protocol-buffersdep ~protocol-buffers-descriptornew-uploaderPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: haskell-src-exts, protocol-buffers, protocol-buffers-descriptor

API changes (from Hackage documentation)

Files

Text/ProtocolBuffers/ProtoCompile/Gen.hs view
@@ -577,7 +577,10 @@ descriptorBootModule di   = let protoName = descName di         un = unqualName protoName-        classes = [prelude "Show",prelude "Eq",prelude "Ord",prelude "Typeable",prelude "Data", prelude "Generic"+        classes = [prelude "Show",prelude "Eq",prelude "Ord",prelude "Data", prelude "Generic"+#if __GLASGOW_HASKELL__ < 780+                  ,prelude "Typeable"+#endif                   ,private "Mergeable",private "Default"                   ,private "Wire",private "GPB",private "ReflectDescriptor"                   , private "TextType", private "TextMsg"@@ -586,7 +589,12 @@                   ++ if storeUnknown di then [private "UnknownMessage"] else []         instMesAPI = InstDecl () Nothing (mkSimpleIRule (private "MessageAPI")                        [TyVar () (Ident () "msg'"), TyParen () (TyFun () (TyVar () (Ident () "msg'")) (TyCon () un)), (TyCon () un)]) Nothing-        dataDecl = DataDecl () (DataType ()) Nothing (DHead () (baseIdent protoName)) [] mzero+        dataDecl = DataDecl () (DataType ()) Nothing (DHead () (baseIdent protoName)) [] $+#if __GLASGOW_HASKELL__ >= 780+            pure derivesTypeable+#else+            mzero+#endif         mkInst s = InstDecl () Nothing (mkSimpleIRule s [TyCon () un]) Nothing         eabs = EAbs () (NoNamespace ()) un     in Module () (Just (ModuleHead () (ModuleName () (fqMod protoName)) Nothing (Just (ExportSpecList () [eabs])))) (modulePragmas $ makeLenses di) minimalImports@@ -1003,17 +1011,24 @@ -- wirePut generation         putCases = UnGuardedRhs () $ cases           (lvar "put'Fields")-          (Do () [ Qualifier () $ pvar "putSize" $$-                    (Paren () $ foldl' (App ()) (pvar "wireSize") [ litInt' 10 , lvar "self'" ])-                , Qualifier () $ lvar "put'Fields" ])+          (lvar "put'FieldsSized")           (pvar "wirePutErr" $$ lvar "ft'" $$ lvar "self'")-        wherePutFields = Just (BDecls () [defun "put'Fields" [] (Do () putStmts)])-        putStmts = putStmtsContent-          where putStmtsContent | null putStmtsAll = [Qualifier () $ preludevar "return" $$ Con () (Special () (UnitCon ()))]-                                | otherwise = putStmtsAll-                putStmtsAll | Just v <- mUnknown = putStmtsListExt ++ [ Qualifier () $ pvar "wirePutUnknownField" $$ v ]-                             | otherwise = putStmtsListExt-                putStmtsListExt | Just v <- mExt = sortedPutStmtsList ++ [ Qualifier () $ pvar "wirePutExtField" $$ v ]+        wherePutFields = Just (BDecls ()+            [ defun "put'Fields" [] (pvar "sequencePutWithSize" $$ List () putStmts)+            , defun "put'FieldsSized" [] $+              Let () (BDecls ()+                      [ defun "size'" [] (preludevar "fst" $$ Paren () (pvar "runPutM" $$ lvar "put'Fields"))+                      , defun "put'Size" []+                         (Do () [ Qualifier () $ pvar "putSize" $$ lvar "size'"+                                , Qualifier () $ preludevar "return" $$ Paren () (pvar "size'WireSize" $$ lvar "size'")+                                ])+                      ])+              (pvar "sequencePutWithSize" $$ List () [lvar "put'Size", lvar "put'Fields"])+            ])+        putStmts = putStmtsAll+          where putStmtsAll | Just v <- mUnknown = putStmtsListExt ++ [ pvar "wirePutUnknownFieldWithSize" $$ v ]+                            | otherwise = putStmtsListExt+                putStmtsListExt | Just v <- mExt = sortedPutStmtsList ++ [ pvar "wirePutExtFieldWithSize" $$ v ]                                 | otherwise = sortedPutStmtsList                 sortedPutStmtsList = map snd                                          -- remove number                                      . sortBy (compare `on` fst)                      -- sort by number@@ -1021,23 +1036,21 @@                 putStmtsList = concat . zipWith toPut vars . F.toList $                                  fmap Left fieldInfos >< fmap Right oneofInfos         toPut var (Left fi)-          = let f = if isPacked fi then "wirePutPacked"-                    else if isRequired fi then "wirePutReq"-                         else if canRepeat fi then "wirePutRep"-                              else "wirePutOpt"+          = let f = if isPacked fi then "wirePutPackedWithSize"+                    else if isRequired fi then "wirePutReqWithSize"+                         else if canRepeat fi then "wirePutRepWithSize"+                              else "wirePutOptWithSize"             in [(fieldNumber fi,-                 Qualifier () $                    foldl' (App ()) (pvar f) [ litInt (getWireTag (wireTag fi))                                        , litInt (getFieldType (typeCode fi))                                        , var]                  )]-        toPut var (Right oi) = map (toPut' var) . F.toList . oneofFields $ oi-          where toPut' var r@(n,fi)-                  = let f = "wirePutOpt"+        toPut var (Right oi) = map toPut' . F.toList . oneofFields $ oi+          where toPut' r@(_n,fi)+                  = let f = "wirePutOptWithSize"                         var' = mkOp "Prelude'.=<<" (Var () (qualName (snd (oneofGet r)))) var                     in (fieldNumber fi-                       ,Qualifier () $-                          foldl' (App ()) (pvar f) [ litInt (getWireTag (wireTag fi))+                       , foldl' (App ()) (pvar f) [ litInt (getWireTag (wireTag fi))                                               , litInt (getFieldType (typeCode fi))                                               , var']                        )@@ -1171,7 +1184,7 @@      in InstDecl () Nothing (mkSimpleIRule (private "Wire") [TyCon () me]) . Just . map (InsDecl ()) $         [ FunBind () [Match () (Ident () "wireSize") [patvar "ft'",PAsPat () (Ident () "self'") (PParen () mine)] sizeCases whereCalcSize]-        , FunBind () [Match () (Ident () "wirePut")  [patvar "ft'",PAsPat () (Ident () "self'") (PParen () mine)] putCases wherePutFields]+        , FunBind () [Match () (Ident () "wirePutWithSize")  [patvar "ft'",PAsPat () (Ident () "self'") (PParen () mine)] putCases wherePutFields]         , FunBind () [Match () (Ident () "wireGet") [patvar "ft'"] getCases whereDecls]         ] @@ -1207,9 +1220,10 @@ mkDeriving xs = Deriving () (map (\x -> mkSimpleIRule x []) xs) #endif -derives,derivesEnum :: Deriving ()+derives,derivesEnum,derivesTypeable :: Deriving () derives = mkDeriving $ map prelude ["Show","Eq","Ord","Typeable","Data","Generic"] derivesEnum = mkDeriving $ map prelude ["Read","Show","Eq","Ord","Typeable","Data","Generic"]+derivesTypeable = mkDeriving $ [prelude "Typeable"]  -- All of these type names are also exported by Text.ProtocolBuffers.Header via Text.ProtocolBuffers.Basic useType :: Int -> Maybe String
hprotoc.cabal view
@@ -1,12 +1,12 @@ name:           hprotoc-version:        2.4.10+version:        2.4.11 cabal-version:  >= 1.6 build-type:     Simple license:        BSD3 license-file:   LICENSE copyright:      (c) 2008-2015 Christopher Edward Kuklewicz author:         Christopher Edward Kuklewicz-maintainer:     Kostiantyn Rybnikov <k-bx@k-bx.com>+maintainer:     Timo von Holtz <tvh@tvholtz.de>, Kostiantyn Rybnikov <k-bx@k-bx.com> homepage:       https://github.com/k-bx/protocol-buffers package-url:    http://hackage.haskell.org/package/hprotoc synopsis:       Parse Google Protocol Buffer specifications@@ -20,8 +20,8 @@   location: git://github.com/k-bx/protocol-buffers.git  Executable hprotoc-  build-depends:   protocol-buffers == 2.4.10,-                   protocol-buffers-descriptor == 2.4.10+  build-depends:   protocol-buffers == 2.4.11,+                   protocol-buffers-descriptor == 2.4.11   Main-Is:         Text/ProtocolBuffers/ProtoCompile.hs   Hs-Source-Dirs:  .,                    protoc-gen-haskell@@ -55,7 +55,7 @@                    Text.ProtocolBuffers.ProtoCompile.Resolve   extensions:      DeriveDataTypeable,                    EmptyDataDecls,-                   FlexibleContexts +                   FlexibleContexts,                    FlexibleInstances,                    FunctionalDependencies,                    GADTs,@@ -69,8 +69,8 @@                    TypeSynonymInstances  Library-  build-depends:   protocol-buffers == 2.4.10,-                   protocol-buffers-descriptor == 2.4.10+  build-depends:   protocol-buffers == 2.4.11,+                   protocol-buffers-descriptor == 2.4.11   Hs-Source-Dirs:  .,                    protoc-gen-haskell   build-tools:     alex@@ -83,7 +83,7 @@                    containers,                    directory >= 1.0.0.1,                    filepath >= 1.1.0.0,-                   haskell-src-exts >= 1.16.0 && < 1.21,+                   haskell-src-exts >= 1.18 && < 1.21,                    mtl,                    parsec,                    utf8-string