openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2017
- 1 participants
- 2097 discussions
Hello community,
here is the log from the commit of package ghc-rss-conduit for openSUSE:Factory checked in at 2017-08-31 20:58:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rss-conduit (Old)
and /work/SRC/openSUSE:Factory/.ghc-rss-conduit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rss-conduit"
Thu Aug 31 20:58:58 2017 rev:2 rq:513479 version:0.3.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rss-conduit/ghc-rss-conduit.changes 2017-05-17 10:51:08.309969812 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rss-conduit.new/ghc-rss-conduit.changes 2017-08-31 20:58:59.818058901 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:07:07 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.3.1.1.
+
+-------------------------------------------------------------------
Old:
----
rss-conduit-0.3.0.0.tar.gz
rss-conduit.cabal
New:
----
rss-conduit-0.3.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rss-conduit.spec ++++++
--- /var/tmp/diff_new_pack.VhGBgd/_old 2017-08-31 20:59:00.789922351 +0200
+++ /var/tmp/diff_new_pack.VhGBgd/_new 2017-08-31 20:59:00.813918979 +0200
@@ -19,14 +19,13 @@
%global pkg_name rss-conduit
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.3.0.0
+Version: 0.3.1.1
Release: 0
-Summary: Streaming parser/renderer for the RSS 2.0 standard
+Summary: Streaming parser/renderer for the RSS standard
License: WTFPL
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-conduit-combinators-devel
BuildRequires: ghc-conduit-devel
@@ -46,7 +45,6 @@
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-bytestring-devel
-BuildRequires: ghc-conduit-extra-devel
BuildRequires: ghc-data-default-devel
BuildRequires: ghc-hlint-devel
BuildRequires: ghc-quickcheck-instances-devel
@@ -57,7 +55,7 @@
%endif
%description
-Streaming parser/renderer for the RSS 2.0 standard.
+Streaming parser/renderer for the RSS standard.
%package devel
Summary: Haskell %{pkg_name} library development files
@@ -72,7 +70,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ rss-conduit-0.3.0.0.tar.gz -> rss-conduit-0.3.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rss-conduit-0.3.0.0/README.md new/rss-conduit-0.3.1.1/README.md
--- old/rss-conduit-0.3.0.0/README.md 2016-08-19 08:24:17.000000000 +0200
+++ new/rss-conduit-0.3.1.1/README.md 2017-06-15 08:32:11.000000000 +0200
@@ -1,10 +1,11 @@
# rss-conduit
-This [Haskell][hsk] library implements a streaming parser/renderer for the [RSS 2.0 syndication format][rss], based on [conduit][cdt]s.
+This [Haskell][hsk] library implements a streaming parser/renderer for the [RSS 2.0 syndication format][rss], and a streaming parser for the [RSS 1.0 syndication format][rss1], based on [conduit][cdt]s.
Parsers are lenient as much as possible. E.g. unexpected tags are simply ignored.
[rss]: http://cyber.law.harvard.edu/rss/rss.html
+[rss1]: http://web.resource.org/rss/1.0/spec
[cdt]: https://hackage.haskell.org/package/conduit
[hsk]: https://haskell.org
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rss-conduit-0.3.0.0/Text/RSS/Conduit/Parse.hs new/rss-conduit-0.3.1.1/Text/RSS/Conduit/Parse.hs
--- old/rss-conduit-0.3.0.0/Text/RSS/Conduit/Parse.hs 2016-09-25 18:34:04.000000000 +0200
+++ new/rss-conduit-0.3.1.1/Text/RSS/Conduit/Parse.hs 2017-06-15 08:32:11.000000000 +0200
@@ -84,10 +84,10 @@
-- | Like 'tagName' but ignores the namespace.
tagName' :: (MonadThrow m) => Text -> AttrParser a -> (a -> ConduitM Event o m b) -> ConduitM Event o m (Maybe b)
-tagName' t = tagPredicate (\n -> nameLocalName n == t)
+tagName' t = tag' (matching $ \n -> nameLocalName n == t)
-- | Tag which content is a date-time that follows RFC 3339 format.
-tagDate :: (MonadThrow m) => Name -> ConduitM Event o m (Maybe UTCTime)
+tagDate :: (MonadThrow m) => NameMatcher a -> ConduitM Event o m (Maybe UTCTime)
tagDate name = tagIgnoreAttrs name $ fmap zonedTimeToUTC $ do
text <- content
maybe (throw $ InvalidTime text) return $ parseTimeRFC822 text
@@ -123,7 +123,7 @@
-- | Parse a @\<textInput\>@ element.
rssTextInput :: (MonadThrow m) => ConduitM Event o m (Maybe RssTextInput)
-rssTextInput = tagIgnoreAttrs "textInput" $ (manyYield' (choose piece) =$= parser) <* many ignoreAllTreesContent where
+rssTextInput = tagIgnoreAttrs "textInput" $ (manyYield' (choose piece) =$= parser) <* many ignoreAnyTreeContent where
parser = getZipConduit $ RssTextInput
<$> ZipConduit (projectC _TextInputTitle =$= headRequiredC "Missing <title> element")
<*> ZipConduit (projectC _TextInputDescription =$= headRequiredC "Missing <description> element")
@@ -144,7 +144,7 @@
-- | Parse an @\<image\>@ element.
rssImage :: (MonadThrow m) => ConduitM Event o m (Maybe RssImage)
-rssImage = tagIgnoreAttrs "image" $ (manyYield' (choose piece) =$= parser) <* many ignoreAllTreesContent where
+rssImage = tagIgnoreAttrs "image" $ (manyYield' (choose piece) =$= parser) <* many ignoreAnyTreeContent where
parser = getZipConduit $ RssImage
<$> ZipConduit (projectC _ImageUri =$= headRequiredC "Missing <url> element")
<*> ZipConduit (projectC _ImageTitle =$= headDefC "Unnamed image") -- Lenient
@@ -205,7 +205,7 @@
-- | Parse an @\<item\>@ element.
rssItem :: MonadThrow m => ConduitM Event o m (Maybe RssItem)
-rssItem = tagIgnoreAttrs "item" $ (manyYield' (choose piece) =$= parser) <* many ignoreAllTreesContent where
+rssItem = tagIgnoreAttrs "item" $ (manyYield' (choose piece) =$= parser) <* many ignoreAnyTreeContent where
parser = getZipConduit $ RssItem
<$> ZipConduit (projectC _ItemTitle =$= headDefC "")
<*> ZipConduit (projectC _ItemLink =$= headC)
@@ -243,7 +243,7 @@
-- | Parse an @\<rss\>@ element.
rssDocument :: MonadThrow m => ConduitM Event o m (Maybe RssDocument)
-rssDocument = tagName' "rss" attributes $ \version -> force "Missing <channel>" $ tagIgnoreAttrs "channel" (manyYield' (choose piece) =$= parser version) <* many ignoreAllTreesContent where
+rssDocument = tagName' "rss" attributes $ \version -> force "Missing <channel>" $ tagIgnoreAttrs "channel" (manyYield' (choose piece) =$= parser version) <* many ignoreAnyTreeContent where
parser version = getZipConduit $ RssDocument version
<$> ZipConduit (projectC _ChannelTitle =$= headRequiredC "Missing <title> element")
<*> ZipConduit (projectC _ChannelLink =$= headRequiredC "Missing <link> element")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rss-conduit-0.3.0.0/Text/RSS/Lens.hs new/rss-conduit-0.3.1.1/Text/RSS/Lens.hs
--- old/rss-conduit-0.3.0.0/Text/RSS/Lens.hs 2016-08-19 08:24:17.000000000 +0200
+++ new/rss-conduit-0.3.1.1/Text/RSS/Lens.hs 2017-06-15 08:32:11.000000000 +0200
@@ -1,5 +1,5 @@
{-# LANGUAGE TemplateHaskell #-}
-module Text.RSS.Lens where
+module Text.RSS.Lens (module Text.RSS.Lens) where
-- {{{ Imports
import Lens.Simple
@@ -16,33 +16,33 @@
$(makeLensesBy
(let f "itemCategories" = Nothing
- f "itemEnclosure" = Nothing
- f n = Just (n ++ "L")
+ f "itemEnclosure" = Nothing
+ f n = Just (n ++ "L")
in f)
''RssItem)
itemCategoriesL :: Traversal' RssItem RssCategory
-itemCategoriesL inj a@RssItem { itemCategories = c } = (\x -> a { itemCategories = c }) <$> sequenceA (map inj c)
+itemCategoriesL inj a@RssItem { itemCategories = c } = (\x -> a { itemCategories = c }) <$> traverse inj c
{-# INLINE itemCategoriesL #-}
itemEnclosureL :: Traversal' RssItem RssEnclosure
-itemEnclosureL inj a@RssItem { itemEnclosure = e } = (\x -> a { itemEnclosure = e }) <$> sequenceA (map inj e)
+itemEnclosureL inj a@RssItem { itemEnclosure = e } = (\x -> a { itemEnclosure = e }) <$> traverse inj e
{-# INLINE itemEnclosureL #-}
$(makeLensesBy (\n -> Just (n ++ "L")) ''RssTextInput)
$(makeLensesBy (\n -> Just (n ++ "L")) ''RssCloud)
$(makeLensesBy (\n -> Just (n ++ "L")) ''RssImage)
$(makeLensesBy
- (let f "channelItems" = Nothing
+ (let f "channelItems" = Nothing
f "channelCategories" = Nothing
- f n = Just (n ++ "L")
+ f n = Just (n ++ "L")
in f)
''RssDocument)
channelItemsL :: Traversal' RssDocument RssItem
-channelItemsL inj a@RssDocument { channelItems = i } = (\x -> a { channelItems = i }) <$> sequenceA (map inj i)
+channelItemsL inj a@RssDocument { channelItems = i } = (\x -> a { channelItems = i }) <$> traverse inj i
{-# INLINE channelItemsL #-}
channelCategoriesL :: Traversal' RssDocument RssCategory
-channelCategoriesL inj a@RssDocument { channelCategories = c } = (\x -> a { channelCategories = c }) <$> sequenceA (map inj c)
+channelCategoriesL inj a@RssDocument { channelCategories = c } = (\x -> a { channelCategories = c }) <$> traverse inj c
{-# INLINE channelCategoriesL #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rss-conduit-0.3.0.0/Text/RSS1/Conduit/Parse.hs new/rss-conduit-0.3.1.1/Text/RSS1/Conduit/Parse.hs
--- old/rss-conduit-0.3.0.0/Text/RSS1/Conduit/Parse.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/rss-conduit-0.3.1.1/Text/RSS1/Conduit/Parse.hs 2017-06-15 08:32:11.000000000 +0200
@@ -0,0 +1,254 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RankNTypes #-}
+{-# LANGUAGE TemplateHaskell #-}
+-- | Streaming parsers for the RSS 1.0 standard.
+module Text.RSS1.Conduit.Parse
+ ( -- * Top-level
+ rss1Document
+ -- * Elements
+ , rss1ChannelItems
+ , rss1Image
+ , rss1Item
+ , rss1TextInput
+ ) where
+
+-- {{{ Imports
+import Text.RSS.Types
+
+import Conduit hiding (throwM)
+
+import Control.Exception.Safe as Exception
+import Control.Monad
+import Control.Monad.Fix
+
+import Data.Conduit
+import Data.Text as Text
+import Data.Text.Encoding
+import Data.Time.Clock
+import Data.Time.LocalTime
+import Data.Time.RFC3339
+import Data.Version
+import Data.XML.Types
+
+import Lens.Simple
+
+import Text.XML.Stream.Parse
+
+import URI.ByteString
+-- }}}
+
+-- {{{ Util
+asDate :: (MonadThrow m) => Text -> m UTCTime
+asDate text = maybe (throw $ InvalidTime text) (return . zonedTimeToUTC) $ parseTimeRFC3339 text
+
+asRssURI :: (MonadThrow m) => Text -> m RssURI
+asRssURI t = case (parseURI' t, parseRelativeRef' t) of
+ (Right u, _) -> return $ RssURI u
+ (_, Right u) -> return $ RssURI u
+ (_, Left e) -> throwM $ InvalidURI e
+ where parseURI' = parseURI laxURIParserOptions . encodeUtf8
+ parseRelativeRef' = parseRelativeRef laxURIParserOptions . encodeUtf8
+
+nullURI :: RssURI
+nullURI = RssURI $ RelativeRef Nothing "" (Query []) Nothing
+
+headRequiredC :: MonadThrow m => Text -> Consumer a m a
+headRequiredC e = maybe (throw $ MissingElement e) return =<< headC
+
+projectC :: Monad m => Fold a a' b b' -> Conduit a m b
+projectC prism = fix $ \recurse -> do
+ item <- await
+ case (item, item ^? (_Just . prism)) of
+ (_, Just a) -> yield a >> recurse
+ (Just _, _) -> recurse
+ _ -> return ()
+
+
+contentTag :: MonadThrow m => Text -> AttrParser a -> (a -> ConduitM Event o m b) -> ConduitM Event o m (Maybe b)
+contentTag string = tag' (matching (== contentName string))
+
+dcTag :: MonadThrow m => Text -> AttrParser a -> (a -> ConduitM Event o m b) -> ConduitM Event o m (Maybe b)
+dcTag string = tag' (matching (== dcName string))
+
+rdfTag :: MonadThrow m => Text -> AttrParser a -> (a -> ConduitM Event o m b) -> ConduitM Event o m (Maybe b)
+rdfTag string = tag' (matching (== rdfName string))
+
+rss1Tag :: MonadThrow m => Text -> AttrParser a -> (a -> ConduitM Event o m b) -> ConduitM Event o m (Maybe b)
+rss1Tag string = tag' (matching (== rss1Name string))
+
+contentName :: Text -> Name
+contentName string = Name string (Just "http://purl.org/rss/1.0/modules/content/") (Just "content")
+
+dcName :: Text -> Name
+dcName string = Name string (Just "http://purl.org/dc/elements/1.1/") (Just "dc")
+
+rdfName :: Text -> Name
+rdfName string = Name string (Just "http://www.w3.org/1999/02/22-rdf-syntax-ns#") (Just "rdf")
+
+rss1Name :: Text -> Name
+rss1Name string = Name string (Just "http://purl.org/rss/1.0/") Nothing
+-- }}}
+
+
+data TextInputPiece = TextInputTitle Text | TextInputDescription Text
+ | TextInputName Text | TextInputLink RssURI
+
+makeTraversals ''TextInputPiece
+
+-- | Parse a @\<textinput\>@ element.
+rss1TextInput :: (MonadThrow m) => ConduitM Event o m (Maybe RssTextInput)
+rss1TextInput = rss1Tag "textinput" attributes $ \uri -> (manyYield' (choose piece) =$= parser uri) <* many ignoreAnyTreeContent where
+ parser uri = getZipConduit $ RssTextInput
+ <$> ZipConduit (projectC _TextInputTitle =$= headRequiredC "Missing <title> element")
+ <*> ZipConduit (projectC _TextInputDescription =$= headRequiredC "Missing <description> element")
+ <*> ZipConduit (projectC _TextInputName =$= headRequiredC "Missing <name> element")
+ <*> ZipConduit (projectC _TextInputLink =$= headDefC uri) -- Lenient
+ piece = [ fmap TextInputTitle <$> rss1Tag "title" ignoreAttrs (const content)
+ , fmap TextInputDescription <$> rss1Tag "description" ignoreAttrs (const content)
+ , fmap TextInputName <$> rss1Tag "name" ignoreAttrs (const content)
+ , fmap TextInputLink <$> rss1Tag "link" ignoreAttrs (const $ content >>= asRssURI)
+ ]
+ attributes = (requireAttr (rdfName "about") >>= asRssURI) <* ignoreAttrs
+
+
+data ItemPiece = ItemTitle Text | ItemLink RssURI | ItemDescription Text | ItemCreator Text | ItemDate UTCTime | ItemContent Text
+
+makeTraversals ''ItemPiece
+
+-- | Parse an @\<item\>@ element.
+rss1Item :: MonadThrow m => ConduitM Event o m (Maybe RssItem)
+rss1Item = rss1Tag "item" attributes $ \uri -> (manyYield' (choose piece) =$= parser uri) <* many ignoreAnyTreeContent where
+ parser uri = getZipConduit $ RssItem
+ <$> ZipConduit (projectC _ItemTitle =$= headDefC mempty)
+ <*> (Just <$> ZipConduit (projectC _ItemLink =$= headDefC uri))
+ <*> ZipConduit (projectC _ItemDescription =$= headDefC mempty)
+ <*> ZipConduit (projectC _ItemCreator =$= headDefC mempty)
+ <*> pure mempty
+ <*> pure mzero
+ <*> pure mempty
+ <*> pure mzero
+ <*> ZipConduit (projectC _ItemDate =$= headC)
+ <*> pure mzero
+ piece = [ fmap ItemTitle <$> rss1Tag "title" ignoreAttrs (const content)
+ , fmap ItemLink <$> rss1Tag "link" ignoreAttrs (const $ content >>= asRssURI)
+ , fmap ItemDescription <$> (rss1Tag "description" ignoreAttrs (const content) `orE` contentTag "encoded" ignoreAttrs (const content))
+ , fmap ItemCreator <$> dcTag "creator" ignoreAttrs (const content)
+ , fmap ItemDate <$> dcTag "date" ignoreAttrs (const $ content >>= asDate)
+ ]
+ attributes = (requireAttr (rdfName "about") >>= asRssURI) <* ignoreAttrs
+
+
+data ImagePiece = ImageUri RssURI | ImageTitle Text | ImageLink RssURI
+
+makeTraversals ''ImagePiece
+
+-- | Parse an @\<image\>@ element.
+rss1Image :: (MonadThrow m) => ConduitM Event o m (Maybe RssImage)
+rss1Image = rss1Tag "image" attributes $ \uri -> (manyYield' (choose piece) =$= parser uri) <* many ignoreAnyTreeContent where
+ parser uri = getZipConduit $ RssImage
+ <$> ZipConduit (projectC _ImageUri =$= headDefC uri) -- Lenient
+ <*> ZipConduit (projectC _ImageTitle =$= headDefC "Unnamed image") -- Lenient
+ <*> ZipConduit (projectC _ImageLink =$= headDefC nullURI) -- Lenient
+ <*> pure mzero
+ <*> pure mzero
+ <*> pure mempty
+ piece = [ fmap ImageUri <$> rss1Tag "url" ignoreAttrs (const $ content >>= asRssURI)
+ , fmap ImageTitle <$> rss1Tag "title" ignoreAttrs (const content)
+ , fmap ImageLink <$> rss1Tag "link" ignoreAttrs (const $ content >>= asRssURI)
+ ]
+ attributes = (requireAttr (rdfName "about") >>= asRssURI) <* ignoreAttrs
+
+
+-- | Parse an @\<items\>@ element.
+rss1ChannelItems :: MonadThrow m => ConduitM Event o m (Maybe [Text])
+rss1ChannelItems = fmap join $ rss1Tag "items" ignoreAttrs $ const $ rdfTag "Seq" ignoreAttrs $ const $ many $ rdfTag "li" attributes return where
+ attributes = requireAttr (rdfName "resource") <* ignoreAttrs
+
+
+data Rss1Channel = Rss1Channel
+ { channelId' :: RssURI
+ , channelTitle' :: Text
+ , channelLink' :: RssURI
+ , channelDescription' :: Text
+ , channelItems' :: [Text]
+ , channelImage' :: Maybe RssImage
+ , channelTextInput' :: Maybe RssURI
+ }
+
+data ChannelPiece = ChannelTitle Text
+ | ChannelLink RssURI
+ | ChannelDescription Text
+ | ChannelImage RssImage
+ | ChannelItems [Text]
+ | ChannelTextInput RssURI
+
+makeTraversals ''ChannelPiece
+
+
+-- | Parse a @\<channel\>@ element.
+rss1Channel :: MonadThrow m => ConduitM Event o m (Maybe Rss1Channel)
+rss1Channel = rss1Tag "channel" attributes $ \channelId -> (manyYield' (choose piece) =$= parser channelId) <* many ignoreAnyTreeContent where
+ parser channelId = getZipConduit $ Rss1Channel channelId
+ <$> ZipConduit (projectC _ChannelTitle =$= headRequiredC "Missing <title> element")
+ <*> ZipConduit (projectC _ChannelLink =$= headRequiredC "Missing <link> element")
+ <*> ZipConduit (projectC _ChannelDescription =$= headDefC "") -- Lenient
+ <*> ZipConduit (projectC _ChannelItems =$= concatC =$= sinkList)
+ <*> ZipConduit (projectC _ChannelImage =$= headC)
+ <*> ZipConduit (projectC _ChannelTextInput =$= headC)
+ piece = [ fmap ChannelTitle <$> rss1Tag "title" ignoreAttrs (const content)
+ , fmap ChannelLink <$> rss1Tag "link" ignoreAttrs (const $ content >>= asRssURI)
+ , fmap ChannelDescription <$> rss1Tag "description" ignoreAttrs (const content)
+ , fmap ChannelItems <$> rss1ChannelItems
+ , fmap ChannelImage <$> rss1Image
+ , fmap ChannelTextInput <$> rss1Tag "textinput" (requireAttr (rdfName "resource") >>= asRssURI) return
+ ]
+ attributes = (requireAttr (rdfName "about") >>= asRssURI) <* ignoreAttrs
+
+
+data Rss1Document = Rss1Document Rss1Channel (Maybe RssImage) [RssItem] (Maybe RssTextInput)
+
+rss1ToRss2 :: Rss1Document -> RssDocument
+rss1ToRss2 (Rss1Document channel image items textInput) = RssDocument
+ (Version [1] [])
+ (channelTitle' channel)
+ (channelLink' channel)
+ (channelDescription' channel)
+ items
+ mempty
+ mempty
+ mempty
+ mempty
+ mzero
+ mzero
+ mzero
+ mempty
+ mzero
+ mzero
+ mzero
+ image
+ mempty
+ textInput
+ mempty
+ mempty
+
+data DocumentPiece = DocumentChannel Rss1Channel
+ | DocumentImage RssImage
+ | DocumentItem RssItem
+ | DocumentTextInput RssTextInput
+
+makeTraversals ''DocumentPiece
+
+
+-- | Parse an @\<RDF\>@ element.
+rss1Document :: MonadThrow m => ConduitM Event o m (Maybe RssDocument)
+rss1Document = fmap (fmap rss1ToRss2) $ rdfTag "RDF" ignoreAttrs $ const $ (manyYield' (choose piece) =$= parser) <* many ignoreAnyTreeContent where
+ parser = getZipConduit $ Rss1Document
+ <$> ZipConduit (projectC _DocumentChannel =$= headRequiredC "Missing <channel> element")
+ <*> ZipConduit (projectC _DocumentImage =$= headC)
+ <*> ZipConduit (projectC _DocumentItem =$= sinkList)
+ <*> ZipConduit (projectC _DocumentTextInput =$= headC)
+ piece = [ fmap DocumentChannel <$> rss1Channel
+ , fmap DocumentImage <$> rss1Image
+ , fmap DocumentItem <$> rss1Item
+ , fmap DocumentTextInput <$> rss1TextInput
+ ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rss-conduit-0.3.0.0/rss-conduit.cabal new/rss-conduit-0.3.1.1/rss-conduit.cabal
--- old/rss-conduit-0.3.0.0/rss-conduit.cabal 2016-09-25 18:34:04.000000000 +0200
+++ new/rss-conduit-0.3.1.1/rss-conduit.cabal 2017-06-15 08:32:11.000000000 +0200
@@ -1,6 +1,6 @@
name: rss-conduit
-version: 0.3.0.0
-synopsis: Streaming parser/renderer for the RSS 2.0 standard.
+version: 0.3.1.1
+synopsis: Streaming parser/renderer for the RSS standard.
description: Cf README file.
license: PublicDomain
license-file: LICENSE
@@ -17,6 +17,7 @@
library
exposed-modules:
+ Text.RSS1.Conduit.Parse
Text.RSS.Conduit.Parse
Text.RSS.Conduit.Render
Text.RSS.Lens
@@ -35,7 +36,7 @@
, time >= 1.5
, timerep >= 2.0
, uri-bytestring >= 0.2
- , xml-conduit >= 1.3
+ , xml-conduit >= 1.5
, xml-types
default-language: Haskell2010
@@ -49,7 +50,7 @@
, base >= 4.8 && < 5
, bytestring
, conduit
- , conduit-extra
+ , conduit-combinators
, data-default
, safe-exceptions
, hlint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rss-conduit-0.3.0.0/test/Arbitrary.hs new/rss-conduit-0.3.1.1/test/Arbitrary.hs
--- old/rss-conduit-0.3.0.0/test/Arbitrary.hs 2016-08-19 08:24:17.000000000 +0200
+++ new/rss-conduit-0.3.1.1/test/Arbitrary.hs 2017-06-15 08:32:11.000000000 +0200
@@ -1,7 +1,7 @@
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
-- | 'Arbitrary' instances used by RSS types.
-module Arbitrary where
+module Arbitrary (module Arbitrary) where
-- {{{ Imports
import Data.ByteString (ByteString)
@@ -127,5 +127,5 @@
instance Arbitrary RssURI where
arbitrary = oneof [RssURI <$> (arbitrary :: Gen (URIRef Absolute)), RssURI <$> (arbitrary :: Gen (URIRef Relative))]
- shrink (RssURI a@URI{}) = RssURI <$> shrink a
+ shrink (RssURI a@URI{}) = RssURI <$> shrink a
shrink (RssURI a@RelativeRef{}) = RssURI <$> shrink a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rss-conduit-0.3.0.0/test/Main.hs new/rss-conduit-0.3.1.1/test/Main.hs
--- old/rss-conduit-0.3.0.0/test/Main.hs 2016-09-25 18:33:52.000000000 +0200
+++ new/rss-conduit-0.3.1.1/test/Main.hs 2017-06-15 08:32:11.000000000 +0200
@@ -4,12 +4,13 @@
-- {{{ Imports
import Arbitrary
+import Conduit
+
import Control.Exception.Safe as Exception
import Control.Monad.Trans.Resource
import Data.Char
import Data.Conduit
-import Data.Conduit.Binary
import Data.Conduit.List
import Data.Default
import Data.Version
@@ -26,6 +27,7 @@
import Text.RSS.Conduit.Render as Renderer
import Text.RSS.Lens
import Text.RSS.Types
+import Text.RSS1.Conduit.Parse as Parser
import Text.XML.Stream.Parse as XML hiding (choose)
import Text.XML.Stream.Render
@@ -45,15 +47,20 @@
unitTests = testGroup "Unit tests"
[ skipHoursCase
, skipDaysCase
- , textInputCase
- , imageCase
+ , rss1TextInputCase
+ , rss2TextInputCase
+ , rss1ImageCase
+ , rss2ImageCase
, categoryCase
, cloudCase
, guidCase
, enclosureCase
, sourceCase
- , itemCase
- , documentCase
+ , rss1ItemCase
+ , rss2ItemCase
+ , rss1ChannelItemsCase
+ , rss1DocumentCase
+ , rss2DocumentCase
]
properties :: TestTree
@@ -93,8 +100,23 @@
, "</skipDays>"
]
-textInputCase :: TestTree
-textInputCase = testCase "<textInput> element" $ do
+rss1TextInputCase :: TestTree
+rss1TextInputCase = testCase "RSS1 <textinput> element" $ do
+ result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rss1TextInput
+ result^.textInputTitleL @?= "Search XML.com"
+ result^.textInputDescriptionL @?= "Search XML.com's XML collection"
+ result^.textInputNameL @?= "s"
+ result^.textInputLinkL @=? RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "search.xml.com") Nothing)) "" (Query []) Nothing)
+ where input = [ "<textinput xmlns=\"http://purl.org/rss/1.0/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" rdf:about=\"http://search.xml.com\">"
+ , "<title>Search XML.com</title>"
+ , "<description>Search XML.com's XML collection</description>"
+ , "<name>s</name>"
+ , "<link>http://search.xml.com</link>"
+ , "</textinput>"
+ ]
+
+rss2TextInputCase :: TestTree
+rss2TextInputCase = testCase "RSS2 <textInput> element" $ do
result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rssTextInput
result^.textInputTitleL @?= "Title"
result^.textInputDescriptionL @?= "Description"
@@ -108,8 +130,23 @@
, "</textInput>"
]
-imageCase :: TestTree
-imageCase = testCase "<image> element" $ do
+rss1ImageCase :: TestTree
+rss1ImageCase = testCase "RSS1 <image> element" $ do
+ result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rss1Image
+ result^.imageUriL @?= RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "xml.com") Nothing)) "/universal/images/xml_tiny.gif" (Query []) Nothing)
+ result^.imageTitleL @?= "XML.com"
+ result^.imageLinkL @?= RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "www.xml.com") Nothing)) "" (Query []) Nothing)
+ where input = [ "<image xmlns=\"http://purl.org/rss/1.0/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" rdf:about=\"http://xml.com/universal/images/xml_tiny.gif\">"
+ , "<url>http://xml.com/universal/images/xml_tiny.gif</url>"
+ , "<title>XML.com</title>"
+ , "<ignored>Ignored</ignored>"
+ , "<link>http://www.xml.com</link>"
+ , "<ignored>Ignored</ignored>"
+ , "</image>"
+ ]
+
+rss2ImageCase :: TestTree
+rss2ImageCase = testCase "RSS2 <image> element" $ do
result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rssImage
result^.imageUriL @?= RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "image.ext") Nothing)) "" (Query []) Nothing)
result^.imageTitleL @?= "Title"
@@ -174,8 +211,26 @@
]
uri = RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "www.tomalak.org") Nothing)) "/links2.xml" (Query []) Nothing)
-itemCase :: TestTree
-itemCase = testCase "<item> element" $ do
+rss1ItemCase :: TestTree
+rss1ItemCase = testCase "RSS1 <item> element" $ do
+ result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rss1Item
+ result^.itemTitleL @?= "Processing Inclusions with XSLT"
+ result^.itemLinkL @?= Just link
+ result^.itemDescriptionL @?= "Processing document inclusions with general XML tools can be problematic. This article proposes a way of preserving inclusion information through SAX-based processing."
+ where input = [ "<item xmlns=\"http://purl.org/rss/1.0/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" rdf:about=\"http://xml.com/pub/2000/08/09/xslt/xslt.html\">"
+ , "<title>Processing Inclusions with XSLT</title>"
+ , "<description>Processing document inclusions with general XML tools can be"
+ , " problematic. This article proposes a way of preserving inclusion"
+ , " information through SAX-based processing."
+ , "</description>"
+ , "<link>http://xml.com/pub/2000/08/09/xslt/xslt.html</link>"
+ , "<sometag>Some content in unknown tag, should be ignored.</sometag>"
+ , "</item>"
+ ]
+ link = RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "xml.com") Nothing)) "/pub/2000/08/09/xslt/xslt.html" (Query []) Nothing)
+
+rss2ItemCase :: TestTree
+rss2ItemCase = testCase "RSS2 <item> element" $ do
result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rssItem
result^.itemTitleL @?= "Example entry"
result^.itemLinkL @?= Just link
@@ -193,8 +248,81 @@
]
link = RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "www.example.com") Nothing)) "/blog/post/1" (Query []) Nothing)
-documentCase :: TestTree
-documentCase = testCase "<rss> element" $ do
+
+rss1ChannelItemsCase :: TestTree
+rss1ChannelItemsCase = testCase "RSS1 <items> element" $ do
+ result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rss1ChannelItems
+ result @?= [resource1, resource2]
+ where input = [ "<items xmlns=\"http://purl.org/rss/1.0/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">"
+ , "<rdf:Seq>"
+ , "<rdf:li rdf:resource=\"http://xml.com/pub/2000/08/09/xslt/xslt.html\" />"
+ , "<rdf:li rdf:resource=\"http://xml.com/pub/2000/08/09/rdfdb/index.html\" />"
+ , "</rdf:Seq>"
+ , "</items>"
+ ]
+ resource1 = "http://xml.com/pub/2000/08/09/xslt/xslt.html"
+ resource2 = "http://xml.com/pub/2000/08/09/rdfdb/index.html"
+
+rss1DocumentCase :: TestTree
+rss1DocumentCase = testCase "<rdf> element" $ do
+ result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rss1Document
+ result^.documentVersionL @?= Version [1] []
+ result^.channelTitleL @?= "XML.com"
+ result^.channelDescriptionL @?= "XML.com features a rich mix of information and services for the XML community."
+ result^.channelLinkL @?= link
+ result^?channelImageL._Just.imageTitleL @?= Just "XML.com"
+ result^?channelImageL._Just.imageLinkL @?= Just imageLink
+ result^?channelImageL._Just.imageUriL @?= Just imageUri
+ length (result^..channelItemsL) @?= 2
+ result^?channelTextInputL._Just.textInputTitleL @?= Just "Search XML.com"
+ result^?channelTextInputL._Just.textInputDescriptionL @?= Just "Search XML.com's XML collection"
+ result^?channelTextInputL._Just.textInputNameL @?= Just "s"
+ result^?channelTextInputL._Just.textInputLinkL @?= Just textInputLink
+ where input = [ "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
+ , "<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns=\"http://purl.org/rss/1.0/\">"
+ , "<channel rdf:about=\"http://www.xml.com/xml/news.rss\">"
+ , "<title>XML.com</title>"
+ , "<link>http://xml.com/pub</link>"
+ , "<description>XML.com features a rich mix of information and services for the XML community.</description>"
+ , "<image rdf:resource=\"http://xml.com/universal/images/xml_tiny.gif\" />"
+ , "<items>"
+ , "<rdf:Seq>"
+ , "<rdf:li rdf:resource=\"http://xml.com/pub/2000/08/09/xslt/xslt.html\" />"
+ , "<rdf:li rdf:resource=\"http://xml.com/pub/2000/08/09/rdfdb/index.html\" />"
+ , "</rdf:Seq>"
+ , "</items>"
+ , "</channel>"
+ , "<image rdf:about=\"http://xml.com/universal/images/xml_tiny.gif\">"
+ , "<title>XML.com</title>"
+ , "<link>http://www.xml.com</link>"
+ , "<url>http://xml.com/universal/images/xml_tiny.gif</url>"
+ , "</image>"
+ , "<item rdf:about=\"http://xml.com/pub/2000/08/09/xslt/xslt.html\">"
+ , "<title>Processing Inclusions with XSLT</title>"
+ , "<link>http://xml.com/pub/2000/08/09/xslt/xslt.html</link>"
+ , "<description>Processing document inclusions with general XML tools can be problematic. This article proposes a way of preserving inclusion information through SAX-based processing.</description>"
+ , "</item>"
+ , "<item rdf:about=\"http://xml.com/pub/2000/08/09/xslt/xslt.html\">"
+ , "<title>Putting RDF to Work</title>"
+ , "<link>http://xml.com/pub/2000/08/09/rdfdb/index.html</link>"
+ , "<description>Tool and API support for the Resource Description Framework is slowly coming of age. Edd Dumbill takes a look at RDFDB, one of the most exciting new RDF toolkits.</description>"
+ , "</item>"
+ , "<textinput rdf:about=\"http://search.xml.com\">"
+ , "<title>Search XML.com</title>"
+ , "<description>Search XML.com's XML collection</description>"
+ , "<name>s</name>"
+ , "<link>http://search.xml.com</link>"
+ , "</textinput>"
+ , "</rdf:RDF>"
+ ]
+ link = RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "xml.com") Nothing)) "/pub" (Query []) Nothing)
+ imageLink = RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "www.xml.com") Nothing)) "" (Query []) Nothing)
+ imageUri = RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "xml.com") Nothing)) "/universal/images/xml_tiny.gif" (Query []) Nothing)
+ textInputLink = RssURI (URI (Scheme "http") (Just (Authority Nothing (Host "search.xml.com") Nothing)) "" (Query []) Nothing)
+
+
+rss2DocumentCase :: TestTree
+rss2DocumentCase = testCase "<rss> element" $ do
result <- runResourceT . runConduit $ sourceList input =$= XML.parseText' def =$= force "ERROR" rssDocument
result^.documentVersionL @?= Version [2] []
result^.channelTitleL @?= "RSS Title"
1
0
Hello community,
here is the log from the commit of package ghc-rot13 for openSUSE:Factory checked in at 2017-08-31 20:58:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rot13 (Old)
and /work/SRC/openSUSE:Factory/.ghc-rot13.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rot13"
Thu Aug 31 20:58:56 2017 rev:2 rq:513478 version:0.2.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rot13/ghc-rot13.changes 2017-04-12 18:08:49.824619492 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rot13.new/ghc-rot13.changes 2017-08-31 20:58:57.402398307 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:08:03 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.2.0.1.
+
+-------------------------------------------------------------------
Old:
----
rot13-0.1.0.2.tar.gz
New:
----
rot13-0.2.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rot13.spec ++++++
--- /var/tmp/diff_new_pack.Rj65P0/_old 2017-08-31 20:58:58.430253890 +0200
+++ /var/tmp/diff_new_pack.Rj65P0/_new 2017-08-31 20:58:58.434253329 +0200
@@ -19,7 +19,7 @@
%global pkg_name rot13
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.1.0.2
+Version: 0.2.0.1
Release: 0
Summary: Fast ROT13 cipher for Haskell
License: BSD-3-Clause
@@ -29,6 +29,7 @@
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-rpm-macros
+BuildRequires: ghc-text-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
++++++ rot13-0.1.0.2.tar.gz -> rot13-0.2.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rot13-0.1.0.2/rot13.cabal new/rot13-0.2.0.1/rot13.cabal
--- old/rot13-0.1.0.2/rot13.cabal 2014-11-19 12:13:06.000000000 +0100
+++ new/rot13-0.2.0.1/rot13.cabal 2017-07-11 15:20:37.000000000 +0200
@@ -1,5 +1,5 @@
name: rot13
-version: 0.1.0.2
+version: 0.2.0.1
synopsis: Fast ROT13 cipher for Haskell.
description:
A fast ROT13 cipher for Haskell implemented using as few branches as possible.
@@ -21,7 +21,8 @@
Codec.Rot13
build-depends:
base == 4.*,
- bytestring >= 0.9
+ bytestring >= 0.9,
+ text >= 0.9
hs-source-dirs: src
default-language: Haskell2010
@@ -32,5 +33,7 @@
build-depends:
base == 4.*,
hspec >= 1.3,
+ bytestring,
+ text,
QuickCheck,
rot13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rot13-0.1.0.2/src/Codec/Rot13.hs new/rot13-0.2.0.1/src/Codec/Rot13.hs
--- old/rot13-0.1.0.2/src/Codec/Rot13.hs 2014-11-19 12:13:06.000000000 +0100
+++ new/rot13-0.2.0.1/src/Codec/Rot13.hs 2017-07-11 15:14:00.000000000 +0200
@@ -1,4 +1,6 @@
{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE UndecidableInstances #-}
-- |
-- Module : Codec.Rot13
@@ -9,60 +11,150 @@
-- Stability : experimental
-- Portability : portable
--
--- This module exposes all the API for this package.
+-- This module exposes the API for this package.
module Codec.Rot13
- ( -- * Word
- rot13word
+ ( -- * Typeclass Interfaces
+ Rot13(..)
+ , Rot13Bytes(..)
+
+ -- * Constraint Interfaces
+ , rot13enum
+ , rot13int
+
+ -- * Compatibility
+ , rot13word
, rot13word8
- -- * Char
, rot13char
- , rot13
- -- * ByteString
- , rot13bs
+ , rot13string
) where
import Data.Char
import Data.Word
-import qualified Data.ByteString as BS
+import Data.Int
+import qualified Data.ByteString as BS
+import qualified Data.ByteString.Internal as BS
+import qualified Data.Text as Text
+import Foreign.Ptr
+import Foreign.Storable
+import qualified Foreign.C.Types as Foreign
+
+
+-- | The 'Rot13' typeclass is intended to perform the ROT13 cipher on the provided data, as if it
+-- were representing a single ANSI-encoded character. This interface doesn't consider the storage
+-- behaviour of the type at all, but is the fastest implementation if you need to integrate the
+-- transformation as part of a stream.
+
+class Rot13 a where
+ rot13 :: a -> a
+
+
+-- | The 'Rot13Bytes' typeclass is intended for when you need to perform the ROT13 cipher on some
+-- data at the memory level. It stores the given data into a temporary buffer in memory, then runs
+-- the cipher over the stored bytes to produce a new buffer. This operation is typically slower
+-- than just using 'rot13' as part of a fusion pipeline.
+
+class Rot13Bytes a where
+ rot13bs :: a -> BS.ByteString
+
+
+-- | Perform the ROT13 cipher on the given 'Integral' instance (in the sense of 'Rot13').
+rot13int :: Integral a => a -> a
+rot13int x
+ | (fromIntegral x :: Word) - 97 < 26 = 97 + rem (x - 84) 26
+ | (fromIntegral x :: Word) - 65 < 26 = 65 + rem (x - 52) 26
+ | otherwise = x
+{-# INLINE rot13int #-}
+{-# SPECIALIZE rot13int :: Word -> Word #-}
+{-# SPECIALIZE rot13int :: Word8 -> Word8 #-}
+{-# SPECIALIZE rot13int :: Word16 -> Word16 #-}
+{-# SPECIALIZE rot13int :: Word32 -> Word32 #-}
+{-# SPECIALIZE rot13int :: Word64 -> Word64 #-}
+{-# SPECIALIZE rot13int :: Int -> Int #-}
+{-# SPECIALIZE rot13int :: Int8 -> Int8 #-}
+{-# SPECIALIZE rot13int :: Int16 -> Int16 #-}
+{-# SPECIALIZE rot13int :: Int32 -> Int32 #-}
+{-# SPECIALIZE rot13int :: Int64 -> Int64 #-}
+{-# SPECIALIZE rot13int :: Integer -> Integer #-}
+{-# SPECIALIZE rot13int :: Foreign.CChar -> Foreign.CChar #-}
+{-# SPECIALIZE rot13int :: Foreign.CSChar -> Foreign.CSChar #-}
+{-# SPECIALIZE rot13int :: Foreign.CUChar -> Foreign.CUChar #-}
+{-# SPECIALIZE rot13int :: Foreign.CShort -> Foreign.CShort #-}
+{-# SPECIALIZE rot13int :: Foreign.CUShort -> Foreign.CUShort #-}
+{-# SPECIALIZE rot13int :: Foreign.CInt -> Foreign.CInt #-}
+{-# SPECIALIZE rot13int :: Foreign.CUInt -> Foreign.CUInt #-}
+{-# SPECIALIZE rot13int :: Foreign.CLong -> Foreign.CLong #-}
+{-# SPECIALIZE rot13int :: Foreign.CULong -> Foreign.CULong #-}
+{-# SPECIALIZE rot13int :: Foreign.CWchar -> Foreign.CWchar #-}
+{-# SPECIALIZE rot13int :: Foreign.CLLong -> Foreign.CLLong #-}
+{-# SPECIALIZE rot13int :: Foreign.CULLong -> Foreign.CULLong #-}
+
+-- | Perform the ROT13 cipher on the given 'Enum' instance (in the sense of 'Rot13').
+{-# INLINE rot13enum #-}
+rot13enum :: Enum a => a -> a
+rot13enum = toEnum . (rot13int :: Int -> Int) . fromEnum
+
+-- | Perform the ROT13 cipher on the given 'Storable' instance bytes to yield a 'BS.ByteString'.
+{-# INLINE rot13stor #-}
+rot13stor :: Storable a => a -> BS.ByteString
+rot13stor x = rot13bs $! BS.unsafeCreate (sizeOf x) $ \ptr -> poke (castPtr ptr) x
+
+
+--------------------------------------------------------------------------------------------------
+-- Rot13 Instances
+
+instance Rot13 Char where rot13 = rot13enum
+instance Rot13 String where rot13 = map rot13
+instance Rot13 BS.ByteString where rot13 = BS.map rot13
+instance Rot13 Text.Text where rot13 = Text.map rot13
+
+instance Rot13 Word where rot13 = rot13int
+instance Rot13 Word8 where rot13 = rot13int
+instance Rot13 Word16 where rot13 = rot13int
+instance Rot13 Word32 where rot13 = rot13int
+instance Rot13 Word64 where rot13 = rot13int
+
+instance Rot13 Int where rot13 = rot13int
+instance Rot13 Int8 where rot13 = rot13int
+instance Rot13 Int16 where rot13 = rot13int
+instance Rot13 Int32 where rot13 = rot13int
+instance Rot13 Int64 where rot13 = rot13int
+instance Rot13 Integer where rot13 = rot13int
+
+instance Rot13 Foreign.CChar where rot13 = rot13
+instance Rot13 Foreign.CSChar where rot13 = rot13
+instance Rot13 Foreign.CUChar where rot13 = rot13
+instance Rot13 Foreign.CShort where rot13 = rot13
+instance Rot13 Foreign.CUShort where rot13 = rot13
+instance Rot13 Foreign.CInt where rot13 = rot13
+instance Rot13 Foreign.CUInt where rot13 = rot13
+instance Rot13 Foreign.CLong where rot13 = rot13
+instance Rot13 Foreign.CULong where rot13 = rot13
+instance Rot13 Foreign.CWchar where rot13 = rot13
+instance Rot13 Foreign.CLLong where rot13 = rot13
+instance Rot13 Foreign.CULLong where rot13 = rot13
+
+--------------------------------------------------------------------------------------------------
+-- Rot13Bytes Instances
+
+instance {-# OVERLAPPING #-} Rot13Bytes BS.ByteString where rot13bs = rot13
+instance {-# OVERLAPPING #-} Storable a => Rot13Bytes a where rot13bs = rot13stor
+
+--------------------------------------------------------------------------------------------------
+-- Compatibility
--- | Perform the ROT13 cipher on the given ANSI encoded 'Word'.
{-# INLINE rot13word #-}
rot13word :: Word -> Word
-rot13word x
- | x - 97 < 26 = 97 + rem (x - 84) 26
- | x - 65 < 26 = 65 + rem (x - 52) 26
- | otherwise = x
+rot13word = rot13
--- | Like 'rot13word', but using the smaller 'Word8' type.
---
--- @
--- rot13word8 = fromIntegral . rot13word . fromIntegral
--- @
{-# INLINE rot13word8 #-}
rot13word8 :: Word8 -> Word8
-rot13word8 = \x -> (fromIntegral . rot13word . fromIntegral) x
+rot13word8 = rot13
--- | Perform the ROT13 cipher on a single 'Char'. A ROT13 cipher is the inverse of itself, so one
--- function will both suitably encode and decode. Thus, the following holds:
---
--- @
--- rot13char . rot13char = id
--- @
{-# INLINE rot13char #-}
rot13char :: Char -> Char
-rot13char = \x -> (chr . fromIntegral . rot13word . fromIntegral . ord) x
+rot13char = rot13
--- | Perform the ROT13 cipher on a 'String'. This is just equivalent to:
---
--- @
--- rot13 = map rot13char
--- @
-{-# INLINABLE rot13 #-}
-rot13 :: String -> String
-rot13 = \s -> map rot13char s
-
--- | Like 'rot13' but for 'BS.ByteString's.
-{-# INLINABLE rot13bs #-}
-rot13bs :: BS.ByteString -> BS.ByteString
-rot13bs = \s -> BS.map rot13word8 s
+{-# INLINE rot13string #-}
+rot13string :: String -> String
+rot13string = rot13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rot13-0.1.0.2/test/Spec.hs new/rot13-0.2.0.1/test/Spec.hs
--- old/rot13-0.1.0.2/test/Spec.hs 2014-11-19 12:13:06.000000000 +0100
+++ new/rot13-0.2.0.1/test/Spec.hs 2017-07-11 15:16:13.000000000 +0200
@@ -1,20 +1,40 @@
+{-# LANGUAGE OverloadedStrings #-}
module Main
( main
) where
-import Test.Hspec
-import Test.QuickCheck
+import Test.Hspec
+import Test.QuickCheck
-import Codec.Rot13
+import qualified Data.ByteString as BS
+import qualified Data.Text as T
+
+import Codec.Rot13
main :: IO ()
main = hspec $ do
describe "Codec.Rot13" $ do
- it "correctly ciphers the alphabet" $ do
- rot13 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
+ it "correctly ciphers the alphabet (rot13 String)" $ do
+ rot13 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" :: String)
`shouldBe` "NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm"
- it "is reversible" $
- property $ \s -> s == (rot13 . rot13) s
+ it "correctly ciphers the alphabet (rot13 ByteString)" $ do
+ rot13 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
+ `shouldBe` ("NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm" :: BS.ByteString)
+
+ it "correctly ciphers the alphabet (rot13 Text)" $ do
+ rot13 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
+ `shouldBe` ("NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm" :: T.Text)
+
+ it "is reversible (String)" $
+ property $ \s -> s == (rot13 . rot13 :: String -> String) s
+
+ it "is reversible (ByteString)" $
+ property $ \s -> let s' = BS.pack s
+ in s' == (rot13 . rot13 :: BS.ByteString -> BS.ByteString) s'
+
+ it "is reversible (Text)" $
+ property $ \s -> let s' = T.pack s
+ in s' == (rot13 . rot13 :: T.Text -> T.Text) s'
1
0
Hello community,
here is the log from the commit of package ghc-riak for openSUSE:Factory checked in at 2017-08-31 20:58:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-riak (Old)
and /work/SRC/openSUSE:Factory/.ghc-riak.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-riak"
Thu Aug 31 20:58:54 2017 rev:3 rq:513477 version:1.1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-riak/ghc-riak.changes 2017-06-22 10:38:47.179213877 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-riak.new/ghc-riak.changes 2017-08-31 20:58:54.902749514 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 07:54:15 UTC 2017 - psimons(a)suse.com
+
+- Relax the over-specified version constraint on vector.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-riak.spec ++++++
--- /var/tmp/diff_new_pack.EU27vT/_old 2017-08-31 20:58:55.534660729 +0200
+++ /var/tmp/diff_new_pack.EU27vT/_new 2017-08-31 20:58:55.534660729 +0200
@@ -109,6 +109,7 @@
%prep
%setup -q -n %{pkg_name}-%{version}
+cabal-tweak-dep-ver vector '< 0.12' ' < 1'
%build
%ghc_lib_build
1
0
Hello community,
here is the log from the commit of package ghc-rest-types for openSUSE:Factory checked in at 2017-08-31 20:58:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rest-types (Old)
and /work/SRC/openSUSE:Factory/.ghc-rest-types.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rest-types"
Thu Aug 31 20:58:50 2017 rev:3 rq:513476 version:1.14.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rest-types/ghc-rest-types.changes 2017-06-22 10:38:45.163498058 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rest-types.new/ghc-rest-types.changes 2017-08-31 20:58:53.650925400 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 03:01:24 UTC 2017 - psimons(a)suse.com
+
+- Update to version 1.14.1.1 revision 4.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rest-types.spec ++++++
--- /var/tmp/diff_new_pack.ssHnUy/_old 2017-08-31 20:58:54.550798965 +0200
+++ /var/tmp/diff_new_pack.ssHnUy/_new 2017-08-31 20:58:54.562797279 +0200
@@ -25,7 +25,7 @@
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/4.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-base-compat-devel
++++++ rest-types.cabal ++++++
--- /var/tmp/diff_new_pack.ssHnUy/_old 2017-08-31 20:58:54.734773116 +0200
+++ /var/tmp/diff_new_pack.ssHnUy/_new 2017-08-31 20:58:54.734773116 +0200
@@ -1,6 +1,6 @@
name: rest-types
version: 1.14.1.1
-x-revision: 3
+x-revision: 4
description: Silk Rest Framework Types
synopsis: Silk Rest Framework Types
maintainer: code(a)silk.co
@@ -31,7 +31,7 @@
Rest.Types.ShowUrl
Rest.Types.Void
build-depends:
- base >= 4.6 && < 4.10
+ base >= 4.6 && < 4.11
, aeson >= 0.7 && < 1.3
, base-compat >= 0.8 && < 0.10
, case-insensitive >= 1.2 && < 1.3
1
0
Hello community,
here is the log from the commit of package ghc-rest-stringmap for openSUSE:Factory checked in at 2017-08-31 20:58:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rest-stringmap (Old)
and /work/SRC/openSUSE:Factory/.ghc-rest-stringmap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rest-stringmap"
Thu Aug 31 20:58:45 2017 rev:2 rq:513475 version:0.2.0.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rest-stringmap/ghc-rest-stringmap.changes 2017-05-16 14:41:18.863509003 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rest-stringmap.new/ghc-rest-stringmap.changes 2017-08-31 20:58:45.672046454 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 03:01:23 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.2.0.6 revision 7.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rest-stringmap.spec ++++++
--- /var/tmp/diff_new_pack.8RUwBs/_old 2017-08-31 20:58:46.611914400 +0200
+++ /var/tmp/diff_new_pack.8RUwBs/_new 2017-08-31 20:58:46.623912715 +0200
@@ -25,7 +25,7 @@
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/6.cabal…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/7.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-containers-devel
++++++ rest-stringmap.cabal ++++++
--- /var/tmp/diff_new_pack.8RUwBs/_old 2017-08-31 20:58:46.719899228 +0200
+++ /var/tmp/diff_new_pack.8RUwBs/_new 2017-08-31 20:58:46.727898104 +0200
@@ -1,6 +1,6 @@
name: rest-stringmap
version: 0.2.0.6
-x-revision: 6
+x-revision: 7
license: BSD3
license-file: LICENSE
synopsis: Maps with stringy keys that can be transcoded to JSON and XML.
@@ -27,7 +27,7 @@
Rest.StringMap.Map.Strict
Rest.StringMap.Util
build-depends:
- base >= 4.6 && < 4.10
+ base >= 4.6 && < 4.11
, aeson >= 0.7 && < 1.3
, containers == 0.5.*
, hashable == 1.2.*
1
0
Hello community,
here is the log from the commit of package ghc-rest-happstack for openSUSE:Factory checked in at 2017-08-31 20:58:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rest-happstack (Old)
and /work/SRC/openSUSE:Factory/.ghc-rest-happstack.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rest-happstack"
Thu Aug 31 20:58:43 2017 rev:2 rq:513474 version:0.3.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rest-happstack/ghc-rest-happstack.changes 2017-05-16 14:41:15.132033289 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rest-happstack.new/ghc-rest-happstack.changes 2017-08-31 20:58:44.516208853 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 03:01:25 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.3.1.1 revision 2.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rest-happstack.spec ++++++
--- /var/tmp/diff_new_pack.YlOiXh/_old 2017-08-31 20:58:45.424081294 +0200
+++ /var/tmp/diff_new_pack.YlOiXh/_new 2017-08-31 20:58:45.428080732 +0200
@@ -25,7 +25,7 @@
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-containers-devel
BuildRequires: ghc-happstack-server-devel
++++++ rest-happstack.cabal ++++++
--- /var/tmp/diff_new_pack.YlOiXh/_old 2017-08-31 20:58:45.540064998 +0200
+++ /var/tmp/diff_new_pack.YlOiXh/_new 2017-08-31 20:58:45.540064998 +0200
@@ -1,6 +1,6 @@
name: rest-happstack
version: 0.3.1.1
-x-revision: 1
+x-revision: 2
description: Rest driver for Happstack.
synopsis: Rest driver for Happstack.
maintainer: code(a)silk.co
@@ -27,7 +27,7 @@
build-depends:
base == 4.*
, containers >= 0.4 && < 0.6
- , happstack-server >= 7.0.5 && < 7.5
+ , happstack-server >= 7.0.5 && < 7.6
, mtl >= 2.0 && < 2.3
, rest-core >= 0.34 && < 0.40
, rest-gen >= 0.14 && < 0.21
1
0
Hello community,
here is the log from the commit of package ghc-rest-core for openSUSE:Factory checked in at 2017-08-31 20:58:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-rest-core (Old)
and /work/SRC/openSUSE:Factory/.ghc-rest-core.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-rest-core"
Thu Aug 31 20:58:41 2017 rev:2 rq:513473 version:0.39
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-rest-core/ghc-rest-core.changes 2017-05-16 14:42:01.749483338 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-rest-core.new/ghc-rest-core.changes 2017-08-31 20:58:42.164539269 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 03:01:26 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.39 revision 8.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-rest-core.spec ++++++
--- /var/tmp/diff_new_pack.yYxsYW/_old 2017-08-31 20:58:43.692324611 +0200
+++ /var/tmp/diff_new_pack.yYxsYW/_new 2017-08-31 20:58:43.696324049 +0200
@@ -26,7 +26,7 @@
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/7.cabal…
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/8.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-aeson-utils-devel
++++++ rest-core.cabal ++++++
--- /var/tmp/diff_new_pack.yYxsYW/_old 2017-08-31 20:58:43.904294829 +0200
+++ /var/tmp/diff_new_pack.yYxsYW/_new 2017-08-31 20:58:43.932290895 +0200
@@ -1,6 +1,6 @@
name: rest-core
version: 0.39
-x-revision: 7
+x-revision: 8
description: Rest API library.
synopsis: Rest API library.
maintainer: code(a)silk.co
@@ -41,7 +41,7 @@
Rest.Schema
Rest.ShowUrl
build-depends:
- base >= 4.5 && < 4.10
+ base >= 4.5 && < 4.11
, aeson >= 0.7 && < 1.3
, aeson-utils >= 0.2 && < 0.4
, base-compat >= 0.8 && < 0.10
@@ -74,7 +74,7 @@
main-is: Runner.hs
type: exitcode-stdio-1.0
build-depends:
- base >= 4.5 && < 4.10
+ base >= 4.5 && < 4.11
, HUnit >= 1.2 && < 1.7
, bytestring >= 0.9 && < 0.11
, mtl >= 2.0 && < 2.3
1
0
Hello community,
here is the log from the commit of package ghc-repa-io for openSUSE:Factory checked in at 2017-08-31 20:58:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-repa-io (Old)
and /work/SRC/openSUSE:Factory/.ghc-repa-io.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-repa-io"
Thu Aug 31 20:58:39 2017 rev:2 rq:513472 version:3.4.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-repa-io/ghc-repa-io.changes 2017-03-08 01:00:37.488026867 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-repa-io.new/ghc-repa-io.changes 2017-08-31 20:58:40.292802253 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 07:54:15 UTC 2017 - psimons(a)suse.com
+
+- Relax the over-specified version constraint on vector.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-repa-io.spec ++++++
--- /var/tmp/diff_new_pack.Gxpyva/_old 2017-08-31 20:58:41.604617940 +0200
+++ /var/tmp/diff_new_pack.Gxpyva/_new 2017-08-31 20:58:41.640612882 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-repa-io
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -22,11 +22,10 @@
Release: 0
Summary: Read and write Repa arrays in various formats
License: BSD-3-Clause
-Group: System/Libraries
+Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
BuildRequires: ghc-Cabal-devel
-# Begin cabal-rpm deps:
BuildRequires: ghc-binary-devel
BuildRequires: ghc-bmp-devel
BuildRequires: ghc-bytestring-devel
@@ -35,7 +34,6 @@
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-vector-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# End cabal-rpm deps
%description
Read and write Repa arrays in various formats.
@@ -53,16 +51,14 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-
+cabal-tweak-dep-ver vector '== 0.11.*' ' < 1'
%build
%ghc_lib_build
-
%install
%ghc_lib_install
-
%post devel
%ghc_pkg_recache
1
0
Hello community,
here is the log from the commit of package ghc-repa-algorithms for openSUSE:Factory checked in at 2017-08-31 20:58:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-repa-algorithms (Old)
and /work/SRC/openSUSE:Factory/.ghc-repa-algorithms.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-repa-algorithms"
Thu Aug 31 20:58:37 2017 rev:2 rq:513471 version:3.4.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-repa-algorithms/ghc-repa-algorithms.changes 2016-11-15 17:58:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-repa-algorithms.new/ghc-repa-algorithms.changes 2017-08-31 20:58:39.068974205 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 09:56:13 UTC 2017 - psimons(a)suse.com
+
+- Relax over-specified version constraint on vector.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-repa-algorithms.spec ++++++
--- /var/tmp/diff_new_pack.DpwSww/_old 2017-08-31 20:58:39.964848332 +0200
+++ /var/tmp/diff_new_pack.DpwSww/_new 2017-08-31 20:58:39.964848332 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-repa-algorithms
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 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
@@ -22,16 +22,14 @@
Release: 0
Summary: Algorithms using the Repa array library
License: BSD-3-Clause
-Group: System/Libraries
+Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{ve…
BuildRequires: ghc-Cabal-devel
-# Begin cabal-rpm deps:
BuildRequires: ghc-repa-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-vector-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-# End cabal-rpm deps
%description
Reusable algorithms using the Repa array library.
@@ -50,16 +48,14 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-
+cabal-tweak-dep-ver vector '== 0.11.*' ' < 1'
%build
%ghc_lib_build
-
%install
%ghc_lib_install
-
%post devel
%ghc_pkg_recache
1
0
Hello community,
here is the log from the commit of package ghc-relational-schemas for openSUSE:Factory checked in at 2017-08-31 20:58:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-relational-schemas (Old)
and /work/SRC/openSUSE:Factory/.ghc-relational-schemas.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-relational-schemas"
Thu Aug 31 20:58:35 2017 rev:3 rq:513470 version:0.1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-relational-schemas/ghc-relational-schemas.changes 2017-05-16 14:47:01.679341447 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-relational-schemas.new/ghc-relational-schemas.changes 2017-08-31 20:58:37.117248428 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:07:22 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.1.4.0.
+
+-------------------------------------------------------------------
Old:
----
relational-schemas-0.1.3.1.tar.gz
relational-schemas.cabal
New:
----
relational-schemas-0.1.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-relational-schemas.spec ++++++
--- /var/tmp/diff_new_pack.k1DBDh/_old 2017-08-31 20:58:38.549047256 +0200
+++ /var/tmp/diff_new_pack.k1DBDh/_new 2017-08-31 20:58:38.569044446 +0200
@@ -18,18 +18,16 @@
%global pkg_name relational-schemas
Name: ghc-%{pkg_name}
-Version: 0.1.3.1
+Version: 0.1.4.0
Release: 0
Summary: RDBMSs' schema templates for relational-query
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}-%{ve…
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/2.cabal…
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-containers-devel
-BuildRequires: ghc-persistable-record-devel
BuildRequires: ghc-relational-query-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-template-haskell-devel
@@ -55,7 +53,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
@@ -75,5 +72,6 @@
%files devel -f %{name}-devel.files
%defattr(-,root,root,-)
+%doc ChangeLog.md
%changelog
++++++ relational-schemas-0.1.3.1.tar.gz -> relational-schemas-0.1.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/ChangeLog.md new/relational-schemas-0.1.4.0/ChangeLog.md
--- old/relational-schemas-0.1.3.1/ChangeLog.md 1970-01-01 01:00:00.000000000 +0100
+++ new/relational-schemas-0.1.4.0/ChangeLog.md 2017-07-17 13:14:05.000000000 +0200
@@ -0,0 +1,31 @@
+<!-- -*- Markdown -*- -->
+
+## 0.1.4.0
+
+- add tested-with 8.2.1.
+- switch 3rd number of version to separate from no-generic version.
+
+## 0.1.3.3
+
+- Use Haskell implementation test instead of flag test in .cabal
+
+## 0.1.3.2
+
+- Apply generic instances to schema queries.
+- Drop unused implicit imports.
+
+## 0.1.3.1
+
+- Add tested-with.
+
+## 0.1.3.0
+
+- Update typeMap of SQLite3 schema.
+
+## 0.1.2.0
+
+- Get type info of network address in PostgreSQL schema.
+
+## 0.1.1.0
+
+- Add medium-int to typeMap of MySQL schema.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/relational-schemas.cabal new/relational-schemas-0.1.4.0/relational-schemas.cabal
--- old/relational-schemas-0.1.3.1/relational-schemas.cabal 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/relational-schemas.cabal 2017-07-17 13:14:05.000000000 +0200
@@ -1,5 +1,5 @@
name: relational-schemas
-version: 0.1.3.1
+version: 0.1.4.0
synopsis: RDBMSs' schema templates for relational-query
description: This package contains some RDBMSs' schema structure definitions.
Supported RDBMS schemas are below:
@@ -14,15 +14,17 @@
license-file: LICENSE
author: Kei Hibino, Shohei Murayama, Shohei Yasutake, Sho KURODA
maintainer: ex8k.hibino(a)gmail.com, shohei.murayama(a)gmail.com, amutake.s(a)gmail.com, krdlab(a)gmail.com
-copyright: Copyright (c) 2013-2016 Kei Hibino, Shohei Murayama, Shohei Yasutake, Sho KURODA
+copyright: Copyright (c) 2013-2017 Kei Hibino, Shohei Murayama, Shohei Yasutake, Sho KURODA
category: Database
build-type: Simple
cabal-version: >=1.10
-tested-with: GHC == 8.0.1
+tested-with: GHC == 8.2.1
+ , GHC == 8.0.1, GHC == 8.0.2
, GHC == 7.10.1, GHC == 7.10.2, GHC == 7.10.3
, GHC == 7.8.1, GHC == 7.8.2, GHC == 7.8.3, GHC == 7.8.4
, GHC == 7.6.1, GHC == 7.6.2, GHC == 7.6.3
, GHC == 7.4.1, GHC == 7.4.2
+extra-source-files: ChangeLog.md
library
exposed-modules:
@@ -78,8 +80,10 @@
, time
, bytestring
- , persistable-record >= 0.2
- , relational-query >= 0.8
+ , relational-query >= 0.9
+
+ if impl(ghc == 7.4.*)
+ build-depends: ghc-prim == 0.2.*
hs-source-dirs: src
ghc-options: -Wall
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/DB2Syscat/Columns.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/DB2Syscat/Columns.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/DB2Syscat/Columns.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/DB2Syscat/Columns.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
-- |
-- Module : Database.Relational.Schema.DB2Syscat.Columns
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2017 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino(a)gmail.com
@@ -13,8 +14,8 @@
-- Generate template of SYSCAT.columns system catalog table.
module Database.Relational.Schema.DB2Syscat.Columns where
+import GHC.Generics (Generic)
import Data.Int (Int16, Int32, Int64)
-
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.DB2Syscat.Config (config)
@@ -99,4 +100,4 @@
("remarks", [t|Maybe String|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/DB2Syscat/Keycoluse.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/DB2Syscat/Keycoluse.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/DB2Syscat/Keycoluse.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/DB2Syscat/Keycoluse.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
-- |
-- Module : Database.Relational.Schema.DB2Syscat.Keycoluse
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2017 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino(a)gmail.com
@@ -15,6 +16,7 @@
-- Minimum implementation required to generate table constraints.
module Database.Relational.Schema.DB2Syscat.Keycoluse where
+import GHC.Generics (Generic)
import Data.Int (Int16)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -27,4 +29,4 @@
[("constname", [t| String |]),
("colname" , [t| String |]),
("colseq" , [t| Int16 |])]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/DB2Syscat/Tabconst.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/DB2Syscat/Tabconst.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/DB2Syscat/Tabconst.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/DB2Syscat/Tabconst.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
-- |
-- Module : Database.Relational.Schema.DB2Syscat.Tabconst
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2017 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino(a)gmail.com
@@ -15,6 +16,7 @@
-- Minimum implementation required to generate table constraints.
module Database.Relational.Schema.DB2Syscat.Tabconst where
+import GHC.Generics (Generic)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.DB2Syscat.Config (config)
@@ -29,4 +31,4 @@
--
("type" , [t| String |]),
("enforced" , [t| String |])]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/MySQLInfo/Columns.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/MySQLInfo/Columns.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/MySQLInfo/Columns.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/MySQLInfo/Columns.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.MySQLInfo.Columns where
+import GHC.Generics (Generic)
import Data.Int (Int16)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -19,4 +21,4 @@
, ("is_nullable", [t|String|])
, ("data_type", [t|String|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/MySQLInfo/KeyColumnUsage.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/MySQLInfo/KeyColumnUsage.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/MySQLInfo/KeyColumnUsage.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/MySQLInfo/KeyColumnUsage.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.MySQLInfo.KeyColumnUsage where
+import GHC.Generics (Generic)
import Data.Int (Int16)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -17,4 +19,4 @@
, ("column_name" , [t| String |])
, ("ordinal_position" , [t| Int16 |])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/MySQLInfo/TableConstraints.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/MySQLInfo/TableConstraints.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/MySQLInfo/TableConstraints.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/MySQLInfo/TableConstraints.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.MySQLInfo.TableConstraints where
+import GHC.Generics (Generic)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.MySQLInfo.Config (config)
@@ -15,4 +17,4 @@
, ("constraint_name" , [t| String |])
, ("constraint_type" , [t| String |])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/OracleDataDictionary/ConsColumns.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/OracleDataDictionary/ConsColumns.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/OracleDataDictionary/ConsColumns.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/OracleDataDictionary/ConsColumns.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,10 +1,11 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.OracleDataDictionary.ConsColumns where
+import GHC.Generics (Generic)
import Data.Int (Int32)
-
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.OracleDataDictionary.Config (config)
@@ -24,4 +25,4 @@
, ("column_name", [t|Maybe String|])
-- POSITION NUMBER
, ("position", [t|Maybe Int32|])
- ] [''Show])
+ ] [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/OracleDataDictionary/Constraints.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/OracleDataDictionary/Constraints.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/OracleDataDictionary/Constraints.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/OracleDataDictionary/Constraints.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.OracleDataDictionary.Constraints where
+import GHC.Generics (Generic)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.OracleDataDictionary.Config (config)
@@ -36,4 +38,4 @@
-- INDEX_NAME VARCHAR2(30)
-- INVALID VARCHAR2(7)
-- VIEW_RELATED VARCHAR2(14)
- ] [''Show])
+ ] [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/OracleDataDictionary/TabColumns.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/OracleDataDictionary/TabColumns.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/OracleDataDictionary/TabColumns.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/OracleDataDictionary/TabColumns.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,12 +1,11 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.OracleDataDictionary.TabColumns where
+import GHC.Generics (Generic)
import Data.Int (Int32)
--- import Data.ByteString (ByteString)
--- import Data.Time.Calendar (Day)
-
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.OracleDataDictionary.Config (config)
@@ -78,4 +77,4 @@
, ("data_upgraded", [t|Maybe String|])
-- HISTOGRAM VARCHAR2(15)
, ("histogram", [t|Maybe String|])
- ] [''Show])
+ ] [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgAttribute.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgAttribute.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgAttribute.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgAttribute.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
-- |
-- Module : Database.HDBC.Schema.PgCatalog.PgAttribute
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2017 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino(a)gmail.com
@@ -11,8 +12,8 @@
-- Portability : unknown
module Database.Relational.Schema.PgCatalog.PgAttribute where
+import GHC.Generics (Generic)
import Data.Int (Int16, Int32)
-
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.PgCatalog.Config (config)
@@ -66,4 +67,4 @@
-- attoptions | text[] |
-- ("attoptions" , [t|String|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgClass.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgClass.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgClass.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgClass.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
-- |
-- Module : Database.Relational.Schema.PgCatalog.PgClass
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2017 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino(a)gmail.com
@@ -11,8 +12,8 @@
-- Portability : unknown
module Database.Relational.Schema.PgCatalog.PgClass where
+import GHC.Generics (Generic)
import Data.Int (Int32)
-
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.PgCatalog.Config (config)
@@ -50,4 +51,4 @@
-- relacl | aclitem[] |
-- reloptions | text[] |
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgConstraint.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgConstraint.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgConstraint.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgConstraint.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
-- |
-- Module : Database.Relational.Schema.PgCatalog.PgConstraint
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2017 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino(a)gmail.com
@@ -11,8 +12,8 @@
-- Portability : unknown
module Database.Relational.Schema.PgCatalog.PgConstraint where
+import GHC.Generics (Generic)
import Data.Int (Int32)
-
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.PgCatalog.Config (config)
@@ -48,4 +49,4 @@
-- conbin | pg_node_tree |
-- consrc | text |
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgNamespace.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgNamespace.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgNamespace.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgNamespace.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
-- |
-- Module : Database.Relational.Schema.PgCatalog.PgNamespace
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2017 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino(a)gmail.com
@@ -11,8 +12,8 @@
-- Portability : unknown
module Database.Relational.Schema.PgCatalog.PgNamespace where
+import GHC.Generics (Generic)
import Data.Int (Int32)
-
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.PgCatalog.Config (config)
@@ -26,4 +27,4 @@
-- nspowner | oid | not null
-- nspacl | aclitem[] |
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgType.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgType.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/PgCatalog/PgType.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/PgCatalog/PgType.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
-- |
-- Module : Database.Relational.Schema.PgCatalog.PgType
--- Copyright : 2013 Kei Hibino
+-- Copyright : 2013-2017 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino(a)gmail.com
@@ -11,8 +12,8 @@
-- Portability : unknown
module Database.Relational.Schema.PgCatalog.PgType where
+import GHC.Generics (Generic)
import Data.Int (Int16, Int32)
-
import Database.Relational.Query.TH (defineTableTypesAndRecord)
import Database.Relational.Schema.PgCatalog.Config (config)
@@ -85,4 +86,4 @@
-- typdefault | text |
("typdefault", [t|Maybe String|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServer.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServer.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServer.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServer.hs 2017-07-17 13:14:05.000000000 +0200
@@ -17,7 +17,6 @@
import Data.Int (Int8, Int16, Int32, Int64)
import Data.Map (Map)
import Data.Time (LocalTime, Day, TimeOfDay)
-import Database.Record.Instances ()
import Database.Relational.Query (Query, Relation, PlaceHolders, Projection, Flat,
(!), (.=.), (><), asc, relationalQuery, just, placeholder',
query, relation', unsafeShowSql,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServerSyscat/Columns.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServerSyscat/Columns.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServerSyscat/Columns.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServerSyscat/Columns.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.SQLServerSyscat.Columns where
+import GHC.Generics (Generic)
import Data.Int (Int32)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -65,4 +67,4 @@
-- is_column_set sys bit 1 Yes
--("is_column_set", [t|Maybe Bool|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServerSyscat/IndexColumns.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServerSyscat/IndexColumns.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServerSyscat/IndexColumns.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServerSyscat/IndexColumns.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.SQLServerSyscat.IndexColumns where
+import GHC.Generics (Generic)
import Data.Int (Int32)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -29,4 +31,4 @@
-- is_included_column sys bit 1 No
("is_included_column", [t|Bool|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServerSyscat/Indexes.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServerSyscat/Indexes.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServerSyscat/Indexes.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServerSyscat/Indexes.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,9 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.SQLServerSyscat.Indexes where
---import Data.ByteString (ByteString)
+import GHC.Generics (Generic)
import Data.Int (Int32)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -53,4 +54,4 @@
-- filter_definition sys nvarchar max Yes
--("filter_definition", [t|Maybe ByteString|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServerSyscat/Types.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServerSyscat/Types.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLServerSyscat/Types.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLServerSyscat/Types.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.SQLServerSyscat.Types where
+import GHC.Generics (Generic)
import Data.Int (Int32)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -46,4 +48,4 @@
-- is_table_type sys bit 1 No
--("is_table_type", [t|Bool|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLite3.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLite3.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLite3.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLite3.hs 2017-07-17 13:14:05.000000000 +0200
@@ -15,7 +15,6 @@
import Data.Int (Int8, Int16, Int32, Int64)
import Data.Map (Map)
import Data.Time (Day, LocalTime)
-import Database.Record.Instances ()
import Database.Relational.Query (Query)
import Database.Relational.Query.Type (unsafeTypedQuery)
import Database.Relational.Schema.SQLite3Syscat.IndexInfo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLite3Syscat/IndexInfo.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLite3Syscat/IndexInfo.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLite3Syscat/IndexInfo.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLite3Syscat/IndexInfo.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.SQLite3Syscat.IndexInfo where
+import GHC.Generics (Generic)
import Data.Int (Int64)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -22,4 +24,4 @@
-- name text No
("name", [t|String|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLite3Syscat/IndexList.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLite3Syscat/IndexList.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLite3Syscat/IndexList.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLite3Syscat/IndexList.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.SQLite3Syscat.IndexList where
+import GHC.Generics (Generic)
import Data.Int (Int64)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -22,4 +24,4 @@
-- unique integer No
("unique", [t|Int64|])
]
- [''Show])
+ [''Show, ''Generic])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLite3Syscat/TableInfo.hs new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLite3Syscat/TableInfo.hs
--- old/relational-schemas-0.1.3.1/src/Database/Relational/Schema/SQLite3Syscat/TableInfo.hs 2016-06-19 08:38:55.000000000 +0200
+++ new/relational-schemas-0.1.4.0/src/Database/Relational/Schema/SQLite3Syscat/TableInfo.hs 2017-07-17 13:14:05.000000000 +0200
@@ -1,8 +1,10 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE DeriveGeneric #-}
module Database.Relational.Schema.SQLite3Syscat.TableInfo where
+import GHC.Generics (Generic)
import Data.Int (Int16, Int64)
import Database.Relational.Query.TH (defineTableTypesAndRecord)
@@ -28,4 +30,4 @@
-- pk integer No
("pk", [t|Int16|])
]
- [''Show])
+ [''Show, ''Generic])
1
0