Hello community, here is the log from the commit of package ghc-hexml for openSUSE:Factory checked in at 2017-06-22 10:37:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-hexml (Old) and /work/SRC/openSUSE:Factory/.ghc-hexml.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hexml" Thu Jun 22 10:37:46 2017 rev:2 rq:504074 version:0.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-hexml/ghc-hexml.changes 2017-04-12 18:06:51.597336371 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-hexml.new/ghc-hexml.changes 2017-06-22 10:37:47.415639341 +0200 @@ -1,0 +2,5 @@ +Wed May 31 14:05:42 UTC 2017 - psim...@suse.com + +- Update to version 0.3.2. + +------------------------------------------------------------------- Old: ---- hexml-0.3.1.tar.gz New: ---- hexml-0.3.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-hexml.spec ++++++ --- /var/tmp/diff_new_pack.RnTdKh/_old 2017-06-22 10:37:48.083545181 +0200 +++ /var/tmp/diff_new_pack.RnTdKh/_new 2017-06-22 10:37:48.087544617 +0200 @@ -19,7 +19,7 @@ %global pkg_name hexml %bcond_with tests Name: ghc-%{pkg_name} -Version: 0.3.1 +Version: 0.3.2 Release: 0 Summary: XML subset DOM parser License: BSD-3-Clause ++++++ hexml-0.3.1.tar.gz -> hexml-0.3.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hexml-0.3.1/CHANGES.txt new/hexml-0.3.2/CHANGES.txt --- old/hexml-0.3.1/CHANGES.txt 2016-12-27 21:50:38.000000000 +0100 +++ new/hexml-0.3.2/CHANGES.txt 2017-05-22 20:49:06.000000000 +0200 @@ -1,5 +1,7 @@ Changelog for Hexml +0.3.2 + #10, mark the small fast FFI calls as "unsafe" (up to 10x faster) 0.3.1 #9, don't walk off the end of the character table 0.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hexml-0.3.1/LICENSE new/hexml-0.3.2/LICENSE --- old/hexml-0.3.1/LICENSE 2016-12-27 21:50:38.000000000 +0100 +++ new/hexml-0.3.2/LICENSE 2017-05-22 20:49:06.000000000 +0200 @@ -1,4 +1,4 @@ -Copyright Neil Mitchell 2016. +Copyright Neil Mitchell 2017. All rights reserved. Redistribution and use in source and binary forms, with or without diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hexml-0.3.1/README.md new/hexml-0.3.2/README.md --- old/hexml-0.3.1/README.md 2016-12-27 21:50:38.000000000 +0100 +++ new/hexml-0.3.2/README.md 2017-05-22 20:49:06.000000000 +0200 @@ -9,3 +9,5 @@ The name "hexml" is a combination of "Hex" (a curse) and "XML". The "X" should not be capitalised because the parser is more curse and less XML. Hexml may be suitable if you want to quickly parse XML, from known sources, and a full XML parser has been shown to be a bottleneck. As an alternative to hexml, which supports things like entities but is still pretty fast, see [Pugixml](http://pugixml.org/) (with a [Haskell binding](https://hackage.haskell.org/package/pugixml)). + +Hexml is tested with [AFL](http://lcamtuf.coredump.cx/afl/). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hexml-0.3.1/hexml.cabal new/hexml-0.3.2/hexml.cabal --- old/hexml-0.3.1/hexml.cabal 2016-12-27 21:50:38.000000000 +0100 +++ new/hexml-0.3.2/hexml.cabal 2017-05-22 20:49:06.000000000 +0200 @@ -1,19 +1,19 @@ cabal-version: >= 1.18 build-type: Simple name: hexml -version: 0.3.1 +version: 0.3.2 license: BSD3 license-file: LICENSE category: XML author: Neil Mitchell <ndmitch...@gmail.com> maintainer: Neil Mitchell <ndmitch...@gmail.com> -copyright: Neil Mitchell 2016 +copyright: Neil Mitchell 2017 synopsis: XML subset DOM parser description: An XML DOM-style parser, that only parses a subset of XML, but is designed to be fast. homepage: https://github.com/ndmitchell/hexml#readme bug-reports: https://github.com/ndmitchell/hexml/issues -tested-with: GHC==8.0.1, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3 +tested-with: GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3 extra-doc-files: README.md CHANGES.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hexml-0.3.1/src/Main.hs new/hexml-0.3.2/src/Main.hs --- old/hexml-0.3.1/src/Main.hs 2016-12-27 21:50:38.000000000 +0100 +++ new/hexml-0.3.2/src/Main.hs 2017-05-22 20:49:06.000000000 +0200 @@ -22,7 +22,7 @@ main :: IO () main = do - forM_ examples $ \(parses, src) -> do + forM_ examples $ \(parses, src) -> case parse src of Left err -> when parses $ fail $ "Unexpected parse failure, " ++ show err Right doc -> do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hexml-0.3.1/src/Text/XML/Hexml.hs new/hexml-0.3.2/src/Text/XML/Hexml.hs --- old/hexml-0.3.1/src/Text/XML/Hexml.hs 2016-12-27 21:50:38.000000000 +0100 +++ new/hexml-0.3.2/src/Text/XML/Hexml.hs 2017-05-22 20:49:06.000000000 +0200 @@ -49,14 +49,14 @@ foreign import ccall hexml_document_free :: Ptr CDocument -> IO () foreign import ccall "&hexml_document_free" hexml_document_free_funptr :: FunPtr (Ptr CDocument -> IO ()) foreign import ccall hexml_node_render :: Ptr CDocument -> Ptr CNode -> CString -> CInt -> IO CInt -foreign import ccall hexml_document_error :: Ptr CDocument -> IO CString -foreign import ccall hexml_document_node :: Ptr CDocument -> IO (Ptr CNode) +foreign import ccall unsafe hexml_document_error :: Ptr CDocument -> IO CString +foreign import ccall unsafe hexml_document_node :: Ptr CDocument -> IO (Ptr CNode) -foreign import ccall hexml_node_children :: Ptr CDocument -> Ptr CNode -> Ptr CInt -> IO (Ptr CNode) -foreign import ccall hexml_node_attributes :: Ptr CDocument -> Ptr CNode -> Ptr CInt -> IO (Ptr CAttr) +foreign import ccall unsafe hexml_node_children :: Ptr CDocument -> Ptr CNode -> Ptr CInt -> IO (Ptr CNode) +foreign import ccall unsafe hexml_node_attributes :: Ptr CDocument -> Ptr CNode -> Ptr CInt -> IO (Ptr CAttr) -foreign import ccall hexml_node_child :: Ptr CDocument -> Ptr CNode -> Ptr CNode -> CString -> CInt -> IO (Ptr CNode) -foreign import ccall hexml_node_attribute :: Ptr CDocument -> Ptr CNode -> CString -> CInt -> IO (Ptr CAttr) +foreign import ccall unsafe hexml_node_child :: Ptr CDocument -> Ptr CNode -> Ptr CNode -> CString -> CInt -> IO (Ptr CNode) +foreign import ccall unsafe hexml_node_attribute :: Ptr CDocument -> Ptr CNode -> CString -> CInt -> IO (Ptr CAttr) -- | A node in an XML document, created by 'parse', then calling functions such -- as 'children' on that initial 'Node'. @@ -152,7 +152,7 @@ -- | Get the direct child nodes of this node. children :: Node -> [Node] -children (Node src doc n) = unsafePerformIO $ withForeignPtr doc $ \d -> do +children (Node src doc n) = unsafePerformIO $ withForeignPtr doc $ \d -> alloca $ \count -> do res <- hexml_node_children d n count count <- fromIntegral <$> peek count @@ -160,7 +160,7 @@ -- | Get the attributes of this node. attributes :: Node -> [Attribute] -attributes (Node src doc n) = unsafePerformIO $ withForeignPtr doc $ \d -> do +attributes (Node src doc n) = unsafePerformIO $ withForeignPtr doc $ \d -> alloca $ \count -> do res <- hexml_node_attributes d n count count <- fromIntegral <$> peek count