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 2022
- 1 participants
- 2549 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-cryptonite for openSUSE:Factory checked in at 2022-08-01 21:28:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-cryptonite (Old)
and /work/SRC/openSUSE:Factory/.ghc-cryptonite.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-cryptonite"
Mon Aug 1 21:28:37 2022 rev:20 rq:985806 version:0.30
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-cryptonite/ghc-cryptonite.changes 2021-05-11 23:04:12.876942839 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-cryptonite.new.1533/ghc-cryptonite.changes 2022-08-01 21:28:38.721354607 +0200
@@ -1,0 +2,16 @@
+Sun Mar 13 12:56:59 UTC 2022 - Peter Simons <psimons(a)suse.com>
+
+- Update cryptonite to version 0.30.
+ ## 0.30
+
+ * Fix some C symbol blake2b prefix to be cryptonite_ prefix (fix mixing with other C library)
+ * add hmac-lazy
+ * Fix compilation with GHC 9.2
+ * Drop support for GHC8.0, GHC8.2, GHC8.4, GHC8.6
+
+ ## 0.29
+
+ * advance compilation with gmp breakage due to change upstream
+ * Add native EdDSA support
+
+-------------------------------------------------------------------
Old:
----
cryptonite-0.29.tar.gz
New:
----
cryptonite-0.30.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-cryptonite.spec ++++++
--- /var/tmp/diff_new_pack.H61XwN/_old 2022-08-01 21:28:40.717360334 +0200
+++ /var/tmp/diff_new_pack.H61XwN/_new 2022-08-01 21:28:40.721360346 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-cryptonite
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%global pkg_name cryptonite
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.29
+Version: 0.30
Release: 0
Summary: Cryptography Primitives sink
License: BSD-3-Clause
++++++ cryptonite-0.29.tar.gz -> cryptonite-0.30.tar.gz ++++++
++++ 1886 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-commonmark for openSUSE:Factory checked in at 2022-08-01 21:28:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-commonmark (Old)
and /work/SRC/openSUSE:Factory/.ghc-commonmark.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-commonmark"
Mon Aug 1 21:28:36 2022 rev:11 rq:985805 version:0.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-commonmark/ghc-commonmark.changes 2021-11-11 21:36:28.604891047 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-commonmark.new.1533/ghc-commonmark.changes 2022-08-01 21:28:37.905352267 +0200
@@ -1,0 +2,21 @@
+Sat Apr 2 21:25:44 UTC 2022 - Peter Simons <psimons(a)suse.com>
+
+- Update commonmark to version 0.2.2.
+ ## 0.2.2
+
+ * Blocks: export `getParentListType` [API change].
+ * Require unicode-data >= 0.3.
+ * Change `mkFormattingSpecMap` so it integrates different
+ FormattingSpecs that use the same character (#87). Otherwise
+ we have problems if you have one formatting spec that
+ reacts to single delimiters and another that reacts to
+ pairs; if the first fails to match, the fallback behavior
+ is produced and the second never matches.
+ * Use unicode-data's faster versions of Data.Char functions.
+ This speeds up benchmarks for tokenize considerably; little difference
+ in other benchmarks. unicode-data is already a transitive dependency,
+ via unicode-transforms.
+ * Increase strictness in tokenize/go.
+ * Remove legacy cpp needed to support ghc < 8.4.
+
+-------------------------------------------------------------------
Old:
----
commonmark-0.2.1.1.tar.gz
New:
----
commonmark-0.2.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-commonmark.spec ++++++
--- /var/tmp/diff_new_pack.3NfyqK/_old 2022-08-01 21:28:38.381353632 +0200
+++ /var/tmp/diff_new_pack.3NfyqK/_new 2022-08-01 21:28:38.385353644 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-commonmark
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%global pkg_name commonmark
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.2.1.1
+Version: 0.2.2
Release: 0
Summary: Pure Haskell commonmark parser
License: BSD-3-Clause
@@ -32,6 +32,7 @@
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-text-devel
BuildRequires: ghc-transformers-devel
+BuildRequires: ghc-unicode-data-devel
BuildRequires: ghc-unicode-transforms-devel
ExcludeArch: %{ix86}
%if %{with tests}
++++++ commonmark-0.2.1.1.tar.gz -> commonmark-0.2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/benchmark/benchmark.hs new/commonmark-0.2.2/benchmark/benchmark.hs
--- old/commonmark-0.2.1.1/benchmark/benchmark.hs 2021-07-21 20:44:47.000000000 +0200
+++ new/commonmark-0.2.2/benchmark/benchmark.hs 2022-01-12 04:38:14.000000000 +0100
@@ -7,9 +7,6 @@
import Commonmark
import qualified Data.Text as T
import qualified Data.Text.IO as TIO
-#if !MIN_VERSION_base(4,11,0)
-import Data.Monoid
-#endif
main :: IO ()
main = do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/changelog.md new/commonmark-0.2.2/changelog.md
--- old/commonmark-0.2.1.1/changelog.md 2021-10-23 02:01:08.000000000 +0200
+++ new/commonmark-0.2.2/changelog.md 2022-04-02 22:50:29.000000000 +0200
@@ -1,5 +1,23 @@
# Changelog for commonmark
+## 0.2.2
+
+ * Blocks: export `getParentListType` [API change].
+ * Require unicode-data >= 0.3.
+ * Change `mkFormattingSpecMap` so it integrates different
+ FormattingSpecs that use the same character (#87). Otherwise
+ we have problems if you have one formatting spec that
+ reacts to single delimiters and another that reacts to
+ pairs; if the first fails to match, the fallback behavior
+ is produced and the second never matches.
+ * Use unicode-data's faster versions of Data.Char functions.
+ This speeds up benchmarks for tokenize considerably; little difference
+ in other benchmarks. unicode-data is already a transitive dependency,
+ via unicode-transforms.
+ * Increase strictness in tokenize/go.
+ * Remove legacy cpp needed to support ghc < 8.4.
+
+
## 0.2.1.1
* Fix bug in `prettyShow` for `SourceRange` (#80).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/commonmark.cabal new/commonmark-0.2.2/commonmark.cabal
--- old/commonmark-0.2.1.1/commonmark.cabal 2021-10-23 02:01:15.000000000 +0200
+++ new/commonmark-0.2.2/commonmark.cabal 2022-04-02 22:50:38.000000000 +0200
@@ -1,6 +1,6 @@
cabal-version: 2.2
name: commonmark
-version: 0.2.1.1
+version: 0.2.2
synopsis: Pure Haskell commonmark parser.
description:
This library provides the core data types and functions
@@ -61,6 +61,7 @@
, transformers
, parsec
, unicode-transforms
+ , unicode-data >= 0.3
exposed-modules:
Commonmark
Commonmark.Parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/Blocks.hs new/commonmark-0.2.2/src/Commonmark/Blocks.hs
--- old/commonmark-0.2.1.1/src/Commonmark/Blocks.hs 2021-10-13 01:35:36.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/Blocks.hs 2022-02-28 06:37:07.000000000 +0100
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE FlexibleInstances #-}
@@ -31,6 +30,7 @@
, linkReferenceDef
, renderChildren
, reverseSubforests
+ , getParentListType
-- * BlockSpecs
, docSpec
, indentedCodeSpec
@@ -61,10 +61,8 @@
when)
import Control.Monad.Trans.Class (lift)
import Data.Foldable (foldrM)
-#if !MIN_VERSION_base(4,11,0)
-import Data.Monoid
-#endif
-import Data.Char (isAsciiUpper, isDigit, isSpace)
+import Unicode.Char (isAsciiUpper, isDigit)
+import Unicode.Char.General.Compat (isSpace)
import Data.Dynamic
import Data.Text (Text)
import qualified Data.Map.Strict as M
@@ -380,6 +378,18 @@
, listItemBlanksAtEnd :: !Bool
} deriving (Show, Eq)
+-- | Get type of the enclosing List block. If the parent isn't
+-- a List block, return Nothing.
+getParentListType :: Monad m => BlockParser m il bl (Maybe ListType)
+getParentListType = do
+ (cur:_) <- nodeStack <$> getState
+ if blockType (bspec cur) == "List"
+ then do
+ let ListData lt _ = fromDyn (blockData (rootLabel cur))
+ (ListData (BulletList '*') TightList)
+ return $ Just lt
+ else return Nothing
+
runInlineParser :: Monad m
=> [Tok]
-> BlockParser m il bl il
@@ -811,9 +821,23 @@
notFollowedBy blankLine
let curdata = fromDyn (blockData (rootLabel cur))
(ListData (BulletList '*') TightList)
+ let isSingleRomanDigit n = n == 1 || n == 5 || n == 10 ||
+ n == 50 || n == 100 || n == 500 ||
+ n == 1000
+ let matchesOrderedListStyle
+ (OrderedList _s1 e1 d1) (OrderedList s2 e2 d2) =
+ d1 == d2 && -- roman can match alphabetic if single-digit:
+ case (e1, e2) of
+ (LowerAlpha, LowerRoman) -> isSingleRomanDigit s2
+ (UpperAlpha, UpperRoman) -> isSingleRomanDigit s2
+ (LowerRoman, LowerAlpha) -> isSingleRomanDigit s2
+ (UpperRoman, UpperAlpha) -> isSingleRomanDigit s2
+ _ -> e1 == e2
+ matchesOrderedListStyle _ _ = False
+
let matchesList (BulletList c) (BulletList d) = c == d
- matchesList (OrderedList _ e1 d1)
- (OrderedList _ e2 d2) = e1 == e2 && d1 == d2
+ matchesList x@OrderedList{}
+ y@OrderedList{} = matchesOrderedListStyle x y
matchesList _ _ = False
case blockType (bspec cur) of
"List" | listType curdata `matchesList`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/Entity.hs new/commonmark-0.2.2/src/Commonmark/Entity.hs
--- old/commonmark-0.2.1.1/src/Commonmark/Entity.hs 2020-03-29 20:21:58.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/Entity.hs 2022-02-28 06:37:07.000000000 +0100
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
-- This code for lookupEntity is modified from Text.HTML.TagSoup.Entity
-- (C) 2006--2018 Neil Mitchell, released under the BSD-3 license
@@ -20,11 +19,8 @@
import Data.Text (Text)
import qualified Data.Text.Read as TR
import Control.Monad (guard, mzero)
-import Data.Char (isDigit, isHexDigit, chr)
+import Unicode.Char (chr, isDigit, isHexDigit)
import Data.Maybe (isJust)
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup (Semigroup(..))
-#endif
-- | Lookup an entity, using 'lookupNumericEntity' if it starts with
-- @#@ and 'lookupNamedEntity' otherwise
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/Html.hs new/commonmark-0.2.2/src/Commonmark/Html.hs
--- old/commonmark-0.2.1.1/src/Commonmark/Html.hs 2021-07-21 20:44:47.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/Html.hs 2022-04-01 03:59:54.000000000 +0200
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
@@ -28,11 +27,9 @@
import qualified Data.ByteString.Char8 as B
import qualified Data.Set as Set
import Text.Printf (printf)
-import Data.Char (ord, isAlphaNum, isAscii, isSpace)
+import Unicode.Char (ord, isAlphaNum, isAscii)
+import Unicode.Char.General.Compat (isSpace)
import Data.Maybe (fromMaybe)
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup
-#endif
data ElementType =
InlineElement
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/Inlines.hs new/commonmark-0.2.2/src/Commonmark/Inlines.hs
--- old/commonmark-0.2.1.1/src/Commonmark/Inlines.hs 2021-07-21 20:44:47.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/Inlines.hs 2022-04-01 03:59:54.000000000 +0200
@@ -1,5 +1,4 @@
{-# LANGUAGE RankNTypes #-}
-{-# LANGUAGE CPP #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE OverloadedStrings #-}
@@ -35,20 +34,27 @@
import Commonmark.Tag (htmlTag, Enders, defaultEnders)
import Commonmark.Tokens
-import Commonmark.TokParsers
+import Commonmark.TokParsers
+ ( lineEnd,
+ noneOfToks,
+ whitespace,
+ oneOfToks,
+ satisfyWord,
+ withRaw,
+ symbol,
+ satisfyTok,
+ anyTok,
+ hasType )
import Commonmark.ReferenceMap
import Commonmark.Types
-import Control.Monad (guard, mzero)
+import Control.Monad (guard, mzero, mplus)
import Control.Monad.Trans.State.Strict
import Data.List (foldl')
-import Data.Char (isAscii, isLetter)
+import Unicode.Char (isAscii, isAlpha)
import qualified Data.IntMap.Strict as IntMap
import qualified Data.Map.Strict as M
import Data.Maybe (isJust, mapMaybe, listToMaybe)
import qualified Data.Set as Set
-#if !MIN_VERSION_base(4,11,0)
-import Data.Monoid ((<>))
-#endif
import Data.Text (Text)
import qualified Data.Text as T
import Commonmark.Entity (unEntity, charEntity, numEntity)
@@ -242,7 +248,19 @@
]
mkFormattingSpecMap :: [FormattingSpec il] -> FormattingSpecMap il
-mkFormattingSpecMap fs = M.fromList [(formattingDelimChar s, s) | s <- fs]
+mkFormattingSpecMap fs =
+ foldr go mempty fs
+ where
+ go s =
+ M.alter (\case -- combine FormattingSpecs with same character (see #87)
+ Nothing -> Just s
+ Just s' -> Just
+ s' { formattingSingleMatch =
+ formattingSingleMatch s' `mplus` formattingSingleMatch s
+ , formattingDoubleMatch =
+ formattingDoubleMatch s' `mplus` formattingDoubleMatch s
+ })
+ (formattingDelimChar s)
--- Bracketed specs:
@@ -493,7 +511,7 @@
pScheme = do
t <- satisfyWord (\t -> case T.uncons t of
Nothing -> False
- Just (c,rest) -> isAscii c && isLetter c &&
+ Just (c,rest) -> isAscii c && isAlpha c &&
T.all isAscii rest)
ts <- many $ oneOfToks [WordChars, Symbol '+', Symbol '.', Symbol '-']
let s = untokenize (t:ts)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/SourceMap.hs new/commonmark-0.2.2/src/Commonmark/SourceMap.hs
--- old/commonmark-0.2.1.1/src/Commonmark/SourceMap.hs 2020-03-29 20:21:58.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/SourceMap.hs 2022-01-12 04:38:14.000000000 +0100
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE OverloadedStrings #-}
@@ -19,9 +18,6 @@
import qualified Data.Sequence as Seq
import Commonmark.Types
import Control.Monad.Trans.State
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup (Semigroup, (<>))
-#endif
-- | A map from source positions to a pair of sequences:
-- first, elements that start at that position; then, elements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/Syntax.hs new/commonmark-0.2.2/src/Commonmark/Syntax.hs
--- old/commonmark-0.2.1.1/src/Commonmark/Syntax.hs 2020-03-29 20:21:58.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/Syntax.hs 2022-01-12 04:38:14.000000000 +0100
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
{-# LANGUAGE RankNTypes #-}
module Commonmark.Syntax
( SyntaxSpec(..)
@@ -11,9 +10,6 @@
import Commonmark.Types
import Commonmark.Blocks
import Commonmark.Inlines
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup
-#endif
-- | A 'SyntaxSpec' defines a basic collection of syntax
-- elements or an extension. 'SyntaxSpec's can be composed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/Tag.hs new/commonmark-0.2.2/src/Commonmark/Tag.hs
--- old/commonmark-0.2.1.1/src/Commonmark/Tag.hs 2020-03-29 20:21:58.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/Tag.hs 2022-02-28 06:37:07.000000000 +0100
@@ -14,7 +14,7 @@
import Control.Monad (liftM2, guard)
import Control.Monad.Trans.State.Strict
import Control.Monad.Trans.Class (lift)
-import Data.Char (isAscii, isLetter)
+import Unicode.Char (isAscii, isAlpha)
import qualified Data.Text as T
import Text.Parsec hiding (State)
@@ -38,7 +38,7 @@
htmlTagName :: Monad m => ParsecT [Tok] s m [Tok]
htmlTagName = try $ do
let isTagText = T.all isAscii
- let startsWithLetter t' = not (T.null t') && isLetter (T.head t')
+ let startsWithLetter t' = not (T.null t') && isAlpha (T.head t')
t <- satisfyWord (isTagText .&&. startsWithLetter)
rest <- many (symbol '-' <|> satisfyWord isTagText)
return (t:rest)
@@ -49,7 +49,7 @@
htmlAttributeName :: Monad m => ParsecT [Tok] s m [Tok]
htmlAttributeName = try $ do
let isTagText t' = T.all isAscii t'
- let startsWithLetter t' = not (T.null t') && isLetter (T.head t')
+ let startsWithLetter t' = not (T.null t') && isAlpha (T.head t')
t <- satisfyWord (startsWithLetter .&&. isTagText) <|>
symbol '_' <|>
symbol ':'
@@ -184,7 +184,7 @@
op <- symbol '!'
alreadyScanned <- lift $ gets scannedForDeclaration
guard $ not alreadyScanned
- let isDeclName t = not (T.null t) && T.all (isAscii .&&. isLetter) t
+ let isDeclName t = not (T.null t) && T.all (isAscii .&&. isAlpha) t
name <- satisfyWord isDeclName
ws <- whitespace
contents <- many (satisfyTok (not . hasType (Symbol '>')))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/Tokens.hs new/commonmark-0.2.2/src/Commonmark/Tokens.hs
--- old/commonmark-0.2.1.1/src/Commonmark/Tokens.hs 2021-07-21 20:44:47.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/Tokens.hs 2022-02-28 06:37:07.000000000 +0100
@@ -10,7 +10,8 @@
, untokenize
) where
-import Data.Char (isAlphaNum, isSpace)
+import Unicode.Char (isAlphaNum)
+import Unicode.Char.General.Compat (isSpace)
import Data.Text (Text)
import qualified Data.Text as T
import Data.Data (Data, Typeable)
@@ -43,8 +44,8 @@
f ' ' ' ' = True
f x y = isAlphaNum x && isAlphaNum y
- go _pos [] = []
- go !pos (t:ts) = -- note that t:ts are guaranteed to be nonempty
+ go !_pos [] = []
+ go !pos (!t:ts) = -- note that t:ts are guaranteed to be nonempty
case T.head t of
' ' -> Tok Spaces pos t :
go (incSourceColumn pos (T.length t)) ts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/src/Commonmark/Types.hs new/commonmark-0.2.2/src/Commonmark/Types.hs
--- old/commonmark-0.2.1.1/src/Commonmark/Types.hs 2021-10-13 01:26:18.000000000 +0200
+++ new/commonmark-0.2.2/src/Commonmark/Types.hs 2022-01-12 04:38:14.000000000 +0100
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE OverloadedStrings #-}
@@ -27,9 +26,6 @@
import Data.Typeable (Typeable)
import Text.Parsec.Pos (SourcePos, sourceColumn, sourceLine,
sourceName)
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup (Semigroup, (<>))
-#endif
newtype Format = Format Text
deriving (Show, Data, Typeable)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/commonmark-0.2.1.1/test/test-commonmark.hs new/commonmark-0.2.2/test/test-commonmark.hs
--- old/commonmark-0.2.1.1/test/test-commonmark.hs 2021-07-21 20:44:47.000000000 +0200
+++ new/commonmark-0.2.2/test/test-commonmark.hs 2022-01-12 04:38:14.000000000 +0100
@@ -18,9 +18,6 @@
import Test.Tasty.QuickCheck
import Text.Parsec
import Text.Parsec.Pos
-#if !MIN_VERSION_base(4,11,0)
-import Data.Semigroup
-#endif
readTextFile :: FilePath -> IO Text
readTextFile fp = do
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-cmark-gfm for openSUSE:Factory checked in at 2022-08-01 21:28:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-cmark-gfm (Old)
and /work/SRC/openSUSE:Factory/.ghc-cmark-gfm.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-cmark-gfm"
Mon Aug 1 21:28:35 2022 rev:12 rq:985804 version:0.2.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-cmark-gfm/ghc-cmark-gfm.changes 2020-12-22 11:37:30.277382065 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-cmark-gfm.new.1533/ghc-cmark-gfm.changes 2022-08-01 21:28:36.541348353 +0200
@@ -1,0 +2,8 @@
+Wed Mar 9 03:24:24 UTC 2022 - Peter Simons <psimons(a)suse.com>
+
+- Update cmark-gfm to version 0.2.3.
+ cmark-gfm 0.2.3 (9 Mar 2022)
+
+ * Pull in upstream changes.
+
+-------------------------------------------------------------------
Old:
----
cmark-gfm-0.2.2.tar.gz
New:
----
cmark-gfm-0.2.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-cmark-gfm.spec ++++++
--- /var/tmp/diff_new_pack.e2GCBO/_old 2022-08-01 21:28:37.093349937 +0200
+++ /var/tmp/diff_new_pack.e2GCBO/_new 2022-08-01 21:28:37.101349960 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-cmark-gfm
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%global pkg_name cmark-gfm
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.2.2
+Version: 0.2.3
Release: 0
Summary: Fast, accurate GitHub Flavored Markdown parser and renderer
License: BSD-3-Clause
@@ -38,7 +38,7 @@
This package provides Haskell bindings for <https://github.com/github/cmark-gfm
libcmark-gfm>, the reference parser for <https://github.github.com/gfm/ GitHub
Flavored Markdown>, a fully specified variant of Markdown. It includes sources
-for libcmark-gfm (0.29.0.gfm.0) and does not require prior installation of the
+for libcmark-gfm (0.29.0.gfm.3) and does not require prior installation of the
C library.
%package devel
++++++ cmark-gfm-0.2.2.tar.gz -> cmark-gfm-0.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cbits/blocks.c new/cmark-gfm-0.2.3/cbits/blocks.c
--- old/cmark-gfm-0.2.2/cbits/blocks.c 2020-09-16 03:41:24.000000000 +0200
+++ new/cmark-gfm-0.2.3/cbits/blocks.c 2022-03-09 04:23:19.000000000 +0100
@@ -468,7 +468,6 @@
while ((ev_type = cmark_iter_next(iter)) != CMARK_EVENT_DONE) {
cur = cmark_iter_get_node(iter);
if (ev_type == CMARK_EVENT_EXIT && cur->type == CMARK_NODE_FOOTNOTE_DEFINITION) {
- cmark_node_unlink(cur);
cmark_footnote_create(map, cur);
}
}
@@ -485,6 +484,15 @@
if (!footnote->ix)
footnote->ix = ++ix;
+ // store a reference to this footnote reference's footnote definition
+ // this is used by renderers when generating label ids
+ cur->parent_footnote_def = footnote->node;
+
+ // keep track of a) count of how many times this footnote def has been
+ // referenced, and b) which reference index this footnote ref is at.
+ // this is used by renderers when generating links and backreferences.
+ cur->footnote.ref_ix = ++footnote->node->footnote.def_count;
+
char n[32];
snprintf(n, sizeof(n), "%d", footnote->ix);
cmark_chunk_free(parser->mem, &cur->as.literal);
@@ -515,13 +523,16 @@
qsort(map->sorted, map->size, sizeof(cmark_map_entry *), sort_footnote_by_ix);
for (unsigned int i = 0; i < map->size; ++i) {
cmark_footnote *footnote = (cmark_footnote *)map->sorted[i];
- if (!footnote->ix)
+ if (!footnote->ix) {
+ cmark_node_unlink(footnote->node);
continue;
+ }
cmark_node_append_child(parser->root, footnote->node);
footnote->node = NULL;
}
}
+ cmark_unlink_footnotes_map(map);
cmark_map_free(map);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cbits/commonmark.c new/cmark-gfm-0.2.3/cbits/commonmark.c
--- old/cmark-gfm-0.2.2/cbits/commonmark.c 2020-09-16 03:41:24.000000000 +0200
+++ new/cmark-gfm-0.2.3/cbits/commonmark.c 2022-03-09 04:23:19.000000000 +0100
@@ -477,7 +477,13 @@
case CMARK_NODE_FOOTNOTE_REFERENCE:
if (entering) {
LIT("[^");
- OUT(cmark_chunk_to_cstr(renderer->mem, &node->as.literal), false, LITERAL);
+
+ char *footnote_label = renderer->mem->calloc(node->parent_footnote_def->as.literal.len + 1, sizeof(char));
+ memmove(footnote_label, node->parent_footnote_def->as.literal.data, node->parent_footnote_def->as.literal.len);
+
+ OUT(footnote_label, false, LITERAL);
+ renderer->mem->free(footnote_label);
+
LIT("]");
}
break;
@@ -486,9 +492,13 @@
if (entering) {
renderer->footnote_ix += 1;
LIT("[^");
- char n[32];
- snprintf(n, sizeof(n), "%d", renderer->footnote_ix);
- OUT(n, false, LITERAL);
+
+ char *footnote_label = renderer->mem->calloc(node->as.literal.len + 1, sizeof(char));
+ memmove(footnote_label, node->as.literal.data, node->as.literal.len);
+
+ OUT(footnote_label, false, LITERAL);
+ renderer->mem->free(footnote_label);
+
LIT("]:\n");
cmark_strbuf_puts(renderer->prefix, " ");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cbits/footnotes.c new/cmark-gfm-0.2.3/cbits/footnotes.c
--- old/cmark-gfm-0.2.2/cbits/footnotes.c 2020-09-16 03:41:24.000000000 +0200
+++ new/cmark-gfm-0.2.3/cbits/footnotes.c 2022-03-09 04:23:19.000000000 +0100
@@ -38,3 +38,26 @@
cmark_map *cmark_footnote_map_new(cmark_mem *mem) {
return cmark_map_new(mem, footnote_free);
}
+
+// Before calling `cmark_map_free` on a map with `cmark_footnotes`, first
+// unlink all of the footnote nodes before freeing their memory.
+//
+// Sometimes, two (unused) footnote nodes can end up referencing each other,
+// which as they get freed up by calling `cmark_map_free` -> `footnote_free` ->
+// etc, can lead to a use-after-free error.
+//
+// Better to `unlink` every footnote node first, setting their next, prev, and
+// parent pointers to NULL, and only then walk thru & free them up.
+void cmark_unlink_footnotes_map(cmark_map *map) {
+ cmark_map_entry *ref;
+ cmark_map_entry *next;
+
+ ref = map->refs;
+ while(ref) {
+ next = ref->next;
+ if (((cmark_footnote *)ref)->node) {
+ cmark_node_unlink(((cmark_footnote *)ref)->node);
+ }
+ ref = next;
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cbits/footnotes.h new/cmark-gfm-0.2.3/cbits/footnotes.h
--- old/cmark-gfm-0.2.2/cbits/footnotes.h 2020-09-16 03:41:24.000000000 +0200
+++ new/cmark-gfm-0.2.3/cbits/footnotes.h 2022-03-09 04:23:19.000000000 +0100
@@ -18,6 +18,8 @@
void cmark_footnote_create(cmark_map *map, cmark_node *node);
cmark_map *cmark_footnote_map_new(cmark_mem *mem);
+void cmark_unlink_footnotes_map(cmark_map *map);
+
#ifdef __cplusplus
}
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cbits/html.c new/cmark-gfm-0.2.3/cbits/html.c
--- old/cmark-gfm-0.2.2/cbits/html.c 2020-09-16 03:41:24.000000000 +0200
+++ new/cmark-gfm-0.2.3/cbits/html.c 2022-03-09 04:23:19.000000000 +0100
@@ -59,16 +59,30 @@
cmark_strbuf_put(html, data, (bufsize_t)len);
}
-static bool S_put_footnote_backref(cmark_html_renderer *renderer, cmark_strbuf *html) {
+static bool S_put_footnote_backref(cmark_html_renderer *renderer, cmark_strbuf *html, cmark_node *node) {
if (renderer->written_footnote_ix >= renderer->footnote_ix)
return false;
renderer->written_footnote_ix = renderer->footnote_ix;
- cmark_strbuf_puts(html, "<a href=\"#fnref");
- char n[32];
- snprintf(n, sizeof(n), "%d", renderer->footnote_ix);
- cmark_strbuf_puts(html, n);
- cmark_strbuf_puts(html, "\" class=\"footnote-backref\">���</a>");
+ cmark_strbuf_puts(html, "<a href=\"#fnref-");
+ houdini_escape_href(html, node->as.literal.data, node->as.literal.len);
+ cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref aria-label=\"Back to content\">���</a>");
+
+ if (node->footnote.def_count > 1)
+ {
+ for(int i = 2; i <= node->footnote.def_count; i++) {
+ char n[32];
+ snprintf(n, sizeof(n), "%d", i);
+
+ cmark_strbuf_puts(html, " <a href=\"#fnref-");
+ houdini_escape_href(html, node->as.literal.data, node->as.literal.len);
+ cmark_strbuf_puts(html, "-");
+ cmark_strbuf_puts(html, n);
+ cmark_strbuf_puts(html, "\" class=\"footnote-backref\" data-footnote-backref aria-label=\"Back to content\">���<sup class=\"footnote-ref\">");
+ cmark_strbuf_puts(html, n);
+ cmark_strbuf_puts(html, "</sup></a>");
+ }
+ }
return true;
}
@@ -273,7 +287,7 @@
} else {
if (parent->type == CMARK_NODE_FOOTNOTE_DEFINITION && node->next == NULL) {
cmark_strbuf_putc(html, ' ');
- S_put_footnote_backref(renderer, html);
+ S_put_footnote_backref(renderer, html, parent);
}
cmark_strbuf_puts(html, "</p>\n");
}
@@ -392,16 +406,15 @@
case CMARK_NODE_FOOTNOTE_DEFINITION:
if (entering) {
if (renderer->footnote_ix == 0) {
- cmark_strbuf_puts(html, "<section class=\"footnotes\">\n<ol>\n");
+ cmark_strbuf_puts(html, "<section class=\"footnotes\" data-footnotes>\n<ol>\n");
}
++renderer->footnote_ix;
- cmark_strbuf_puts(html, "<li id=\"fn");
- char n[32];
- snprintf(n, sizeof(n), "%d", renderer->footnote_ix);
- cmark_strbuf_puts(html, n);
+
+ cmark_strbuf_puts(html, "<li id=\"fn-");
+ houdini_escape_href(html, node->as.literal.data, node->as.literal.len);
cmark_strbuf_puts(html, "\">\n");
} else {
- if (S_put_footnote_backref(renderer, html)) {
+ if (S_put_footnote_backref(renderer, html, node)) {
cmark_strbuf_putc(html, '\n');
}
cmark_strbuf_puts(html, "</li>\n");
@@ -410,12 +423,20 @@
case CMARK_NODE_FOOTNOTE_REFERENCE:
if (entering) {
- cmark_strbuf_puts(html, "<sup class=\"footnote-ref\"><a href=\"#fn");
- cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len);
- cmark_strbuf_puts(html, "\" id=\"fnref");
- cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len);
- cmark_strbuf_puts(html, "\">");
- cmark_strbuf_put(html, node->as.literal.data, node->as.literal.len);
+ cmark_strbuf_puts(html, "<sup class=\"footnote-ref\"><a href=\"#fn-");
+ houdini_escape_href(html, node->parent_footnote_def->as.literal.data, node->parent_footnote_def->as.literal.len);
+ cmark_strbuf_puts(html, "\" id=\"fnref-");
+ houdini_escape_href(html, node->parent_footnote_def->as.literal.data, node->parent_footnote_def->as.literal.len);
+
+ if (node->footnote.ref_ix > 1) {
+ char n[32];
+ snprintf(n, sizeof(n), "%d", node->footnote.ref_ix);
+ cmark_strbuf_puts(html, "-");
+ cmark_strbuf_puts(html, n);
+ }
+
+ cmark_strbuf_puts(html, "\" data-footnote-ref>");
+ houdini_escape_href(html, node->as.literal.data, node->as.literal.len);
cmark_strbuf_puts(html, "</a></sup>");
}
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cbits/inlines.c new/cmark-gfm-0.2.3/cbits/inlines.c
--- old/cmark-gfm-0.2.2/cbits/inlines.c 2020-09-16 03:41:24.000000000 +0200
+++ new/cmark-gfm-0.2.3/cbits/inlines.c 2022-03-09 04:23:19.000000000 +0100
@@ -1137,19 +1137,77 @@
// What if we're a footnote link?
if (parser->options & CMARK_OPT_FOOTNOTES &&
opener->inl_text->next &&
- opener->inl_text->next->type == CMARK_NODE_TEXT &&
- !opener->inl_text->next->next) {
+ opener->inl_text->next->type == CMARK_NODE_TEXT) {
+
cmark_chunk *literal = &opener->inl_text->next->as.literal;
- if (literal->len > 1 && literal->data[0] == '^') {
- inl = make_simple(subj->mem, CMARK_NODE_FOOTNOTE_REFERENCE);
- inl->as.literal = cmark_chunk_dup(literal, 1, literal->len - 1);
- inl->start_line = inl->end_line = subj->line;
- inl->start_column = opener->inl_text->start_column;
- inl->end_column = subj->pos + subj->column_offset + subj->block_offset;
- cmark_node_insert_before(opener->inl_text, inl);
- cmark_node_free(opener->inl_text->next);
- cmark_node_free(opener->inl_text);
+
+ // look back to the opening '[', and skip ahead to the next character
+ // if we're looking at a '[^' sequence, and there is other text or nodes
+ // after the ^, let's call it a footnote reference.
+ if ((literal->len > 0 && literal->data[0] == '^') && (literal->len > 1 || opener->inl_text->next->next)) {
+
+ // Before we got this far, the `handle_close_bracket` function may have
+ // advanced the current state beyond our footnote's actual closing
+ // bracket, ie if it went looking for a `link_label`.
+ // Let's just rewind the subject's position:
+ subj->pos = initial_pos;
+
+ cmark_node *fnref = make_simple(subj->mem, CMARK_NODE_FOOTNOTE_REFERENCE);
+
+ // the start and end of the footnote ref is the opening and closing brace
+ // i.e. the subject's current position, and the opener's start_column
+ int fnref_end_column = subj->pos + subj->column_offset + subj->block_offset;
+ int fnref_start_column = opener->inl_text->start_column;
+
+ // any given node delineates a substring of the line being processed,
+ // with the remainder of the line being pointed to thru its 'literal'
+ // struct member.
+ // here, we copy the literal's pointer, moving it past the '^' character
+ // for a length equal to the size of footnote reference text.
+ // i.e. end_col minus start_col, minus the [ and the ^ characters
+ //
+ // this copies the footnote reference string, even if between the
+ // `opener` and the subject's current position there are other nodes
+ //
+ // (first, check for underflows)
+ if ((fnref_start_column + 2) <= fnref_end_column) {
+ fnref->as.literal = cmark_chunk_dup(literal, 1, (fnref_end_column - fnref_start_column) - 2);
+ } else {
+ fnref->as.literal = cmark_chunk_dup(literal, 1, 0);
+ }
+
+ fnref->start_line = fnref->end_line = subj->line;
+ fnref->start_column = fnref_start_column;
+ fnref->end_column = fnref_end_column;
+
+ // we then replace the opener with this new fnref node, the net effect
+ // being replacing the opening '[' text node with a `^footnote-ref]` node.
+ cmark_node_insert_before(opener->inl_text, fnref);
+
process_emphasis(parser, subj, opener->previous_delimiter);
+ // sometimes, the footnote reference text gets parsed into multiple nodes
+ // i.e. '[^example]' parsed into '[', '^exam', 'ple]'.
+ // this happens for ex with the autolink extension. when the autolinker
+ // finds the 'w' character, it will split the text into multiple nodes
+ // in hopes of being able to match a 'www.' substring.
+ //
+ // because this function is called one character at a time via the
+ // `parse_inlines` function, and the current subj->pos is pointing at the
+ // closing ] brace, and because we copy all the text between the [ ]
+ // braces, we should be able to safely ignore and delete any nodes after
+ // the opener->inl_text->next.
+ //
+ // therefore, here we walk thru the list and free them all up
+ cmark_node *next_node;
+ cmark_node *current_node = opener->inl_text->next;
+ while(current_node) {
+ next_node = current_node->next;
+ cmark_node_free(current_node);
+ current_node = next_node;
+ }
+
+ cmark_node_free(opener->inl_text);
+
pop_bracket(subj);
return NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cbits/node.h new/cmark-gfm-0.2.3/cbits/node.h
--- old/cmark-gfm-0.2.2/cbits/node.h 2020-09-16 03:55:07.000000000 +0200
+++ new/cmark-gfm-0.2.3/cbits/node.h 2022-03-09 04:23:19.000000000 +0100
@@ -77,6 +77,13 @@
cmark_syntax_extension *extension;
union {
+ int ref_ix;
+ int def_count;
+ } footnote;
+
+ cmark_node *parent_footnote_def;
+
+ union {
cmark_chunk literal;
cmark_list list;
cmark_code code;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cbits/table.c new/cmark-gfm-0.2.3/cbits/table.c
--- old/cmark-gfm-0.2.2/cbits/table.c 2020-09-16 03:55:07.000000000 +0200
+++ new/cmark-gfm-0.2.3/cbits/table.c 2022-03-09 04:23:19.000000000 +0100
@@ -129,6 +129,7 @@
bufsize_t cell_matched = 1, pipe_matched = 1, offset;
int expect_more_cells = 1;
int row_end_offset = 0;
+ int int_overflow_abort = 0;
row = (table_row *)parser->mem->calloc(1, sizeof(table_row));
row->n_columns = 0;
@@ -161,6 +162,12 @@
++cell->internal_offset;
}
+ // make sure we never wrap row->n_columns
+ // offset will != len and our exit will clean up as intended
+ if (row->n_columns == UINT16_MAX) {
+ int_overflow_abort = 1;
+ break;
+ }
row->n_columns += 1;
row->cells = cmark_llist_append(parser->mem, row->cells, cell);
}
@@ -194,7 +201,7 @@
}
}
- if (offset != len || row->n_columns == 0) {
+ if (offset != len || row->n_columns == 0 || int_overflow_abort) {
free_table_row(parser->mem, row);
row = NULL;
}
@@ -241,6 +248,11 @@
marker_row = row_from_string(self, parser,
input + cmark_parser_get_first_nonspace(parser),
len - cmark_parser_get_first_nonspace(parser));
+ // assert may be optimized out, don't rely on it for security boundaries
+ if (!marker_row) {
+ return parent_container;
+ }
+
assert(marker_row);
cmark_arena_push();
@@ -264,6 +276,12 @@
len - cmark_parser_get_first_nonspace(parser));
header_row = row_from_string(self, parser, (unsigned char *)parent_string,
(int)strlen(parent_string));
+ // row_from_string can return NULL, add additional check to ensure n_columns match
+ if (!marker_row || !header_row || header_row->n_columns != marker_row->n_columns) {
+ free_table_row(parser->mem, marker_row);
+ free_table_row(parser->mem, header_row);
+ return parent_container;
+ }
}
if (!cmark_node_set_type(parent_container, CMARK_NODE_TABLE)) {
@@ -281,8 +299,10 @@
parent_container->as.opaque = parser->mem->calloc(1, sizeof(node_table));
set_n_table_columns(parent_container, header_row->n_columns);
+ // allocate alignments based on marker_row->n_columns
+ // since we populate the alignments array based on marker_row->cells
uint8_t *alignments =
- (uint8_t *)parser->mem->calloc(header_row->n_columns, sizeof(uint8_t));
+ (uint8_t *)parser->mem->calloc(marker_row->n_columns, sizeof(uint8_t));
cmark_llist *it = marker_row->cells;
for (i = 0; it; it = it->next, ++i) {
node_cell *node = (node_cell *)it->data;
@@ -351,6 +371,12 @@
row = row_from_string(self, parser, input + cmark_parser_get_first_nonspace(parser),
len - cmark_parser_get_first_nonspace(parser));
+ if (!row) {
+ // clean up the dangling node
+ cmark_node_free(table_row_block);
+ return NULL;
+ }
+
{
cmark_llist *tmp;
int i, table_columns = get_n_table_columns(parent_container);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/changelog new/cmark-gfm-0.2.3/changelog
--- old/cmark-gfm-0.2.2/changelog 2020-09-16 03:56:44.000000000 +0200
+++ new/cmark-gfm-0.2.3/changelog 2022-03-09 04:23:25.000000000 +0100
@@ -1,3 +1,7 @@
+cmark-gfm 0.2.3 (9 Mar 2022)
+
+ * Pull in upstream changes.
+
cmark-gfm 0.2.2 (16 Sep 2020)
* Pull in upstream changes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cmark-gfm-0.2.2/cmark-gfm.cabal new/cmark-gfm-0.2.3/cmark-gfm.cabal
--- old/cmark-gfm-0.2.2/cmark-gfm.cabal 2020-09-16 03:55:16.000000000 +0200
+++ new/cmark-gfm-0.2.3/cmark-gfm.cabal 2022-03-09 04:23:43.000000000 +0100
@@ -1,12 +1,12 @@
name: cmark-gfm
-version: 0.2.2
+version: 0.2.3
synopsis: Fast, accurate GitHub Flavored Markdown parser and renderer
description:
This package provides Haskell bindings for
<https://github.com/github/cmark-gfm libcmark-gfm>, the reference
parser for <https://github.github.com/gfm/ GitHub Flavored Markdown>, a fully
specified variant of Markdown. It includes sources for
- libcmark-gfm (0.29.0.gfm.0) and does not require prior installation of the
+ libcmark-gfm (0.29.0.gfm.3) and does not require prior installation of the
C library.
homepage: https://github.com/kivikakk/cmark-gfm-hs
@@ -69,7 +69,7 @@
library
exposed-modules: CMarkGFM
build-depends: base >=4.5 && < 5.0,
- text >= 1.0 && < 1.3,
+ text >= 1.0 && < 2.1,
bytestring
if impl(ghc < 7.6)
build-depends: ghc-prim >= 0.2
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-basement for openSUSE:Factory checked in at 2022-08-01 21:28:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-basement (Old)
and /work/SRC/openSUSE:Factory/.ghc-basement.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-basement"
Mon Aug 1 21:28:34 2022 rev:15 rq:985802 version:0.0.14
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-basement/ghc-basement.changes 2021-06-01 10:40:25.161115169 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-basement.new.1533/ghc-basement.changes 2022-08-01 21:28:35.713345977 +0200
@@ -1,0 +2,6 @@
+Thu Mar 3 03:43:37 UTC 2022 - Peter Simons <psimons(a)suse.com>
+
+- Update basement to version 0.0.14.
+ Upstream does not provide a change log file.
+
+-------------------------------------------------------------------
Old:
----
basement-0.0.12.tar.gz
basement.cabal
New:
----
basement-0.0.14.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-basement.spec ++++++
--- /var/tmp/diff_new_pack.qG9LEx/_old 2022-08-01 21:28:36.169347286 +0200
+++ /var/tmp/diff_new_pack.qG9LEx/_new 2022-08-01 21:28:36.173347297 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-basement
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,12 @@
%global pkg_name basement
Name: ghc-%{pkg_name}
-Version: 0.0.12
+Version: 0.0.14
Release: 0
Summary: Foundation scrap box of array & string
License: BSD-3-Clause
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-rpm-macros
ExcludeArch: %{ix86}
@@ -44,7 +43,6 @@
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ basement-0.0.12.tar.gz -> basement-0.0.14.tar.gz ++++++
++++ 1984 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-base64 for openSUSE:Factory checked in at 2022-08-01 21:28:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base64 (Old)
and /work/SRC/openSUSE:Factory/.ghc-base64.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base64"
Mon Aug 1 21:28:33 2022 rev:6 rq:985801 version:0.4.2.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-base64/ghc-base64.changes 2022-02-11 23:10:31.211138714 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-base64.new.1533/ghc-base64.changes 2022-08-01 21:28:34.789343327 +0200
@@ -1,0 +2,9 @@
+Mon Mar 28 18:39:06 UTC 2022 - Peter Simons <psimons(a)suse.com>
+
+- Update base64 to version 0.4.2.4.
+ Upstream has edited the change log file since the last release in
+ a non-trivial way, i.e. they did more than just add a new entry
+ at the top. You can review the file at:
+ http://hackage.haskell.org/package/base64-0.4.2.4/src/CHANGELOG.md
+
+-------------------------------------------------------------------
Old:
----
base64-0.4.2.3.tar.gz
base64.cabal
New:
----
base64-0.4.2.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-base64.spec ++++++
--- /var/tmp/diff_new_pack.NqxHJx/_old 2022-08-01 21:28:35.261344681 +0200
+++ /var/tmp/diff_new_pack.NqxHJx/_new 2022-08-01 21:28:35.265344692 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-base64
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,17 +19,15 @@
%global pkg_name base64
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.4.2.3
+Version: 0.4.2.4
Release: 0
Summary: A modern RFC 4648-compliant Base64 library
License: BSD-3-Clause
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-deepseq-devel
-BuildRequires: ghc-ghc-byteorder-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-text-devel
BuildRequires: ghc-text-short-devel
@@ -59,7 +57,6 @@
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ base64-0.4.2.3.tar.gz -> base64-0.4.2.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base64-0.4.2.3/CHANGELOG.md new/base64-0.4.2.4/CHANGELOG.md
--- old/base64-0.4.2.3/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200
+++ new/base64-0.4.2.4/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200
@@ -1,9 +1,16 @@
# Revision history for base64
+## 0.4.2.4
+
+* Support for GHC 9.2.x
+* Remove dependency on `ghc-byteorder`
+* Bump base lower bound to GHC 8.10.x to make sure endianness is properly support
+ (see: https://gitlab.haskell.org/ghc/ghc/-/issues/20338)
+* Bump upper bound for `deepseq`
+
## 0.4.2.3
-* Minor release for stackage, limiting memory usage in test suites.
-* Transition to Github Actions CI
+* Tighter length calculations in unpadded base64url [#35](https://github.com/emilypi/base64/pull/35)
## 0.4.2.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base64-0.4.2.3/README.md new/base64-0.4.2.4/README.md
--- old/base64-0.4.2.3/README.md 2001-09-09 03:46:40.000000000 +0200
+++ new/base64-0.4.2.4/README.md 2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
# Base64
-[![Build Status](https://travis-ci.com/emilypi/base64.svg?branch=master)](https://tr…
+![Build Status](https://github.com/emilypi/base64/workflows/Haskell-CI/badge.svg)
[![Hackage](https://img.shields.io/hackage/v/base64.svg)](https://hackage.haskell.org/package/base64)
Base64 encoding and decodings.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base64-0.4.2.3/base64.cabal new/base64-0.4.2.4/base64.cabal
--- old/base64-0.4.2.3/base64.cabal 2001-09-09 03:46:40.000000000 +0200
+++ new/base64-0.4.2.4/base64.cabal 2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
cabal-version: 2.0
name: base64
-version: 0.4.2.3
+version: 0.4.2.4
synopsis: A modern RFC 4648-compliant Base64 library
description:
RFC 4648-compliant Base64 with an eye towards performance and modernity (additional support for RFC 7049 standards)
@@ -11,14 +11,14 @@
license-file: LICENSE
author: Emily Pillmore
maintainer: emilypi(a)cohomolo.gy
-copyright: (c) 2019-2020 Emily Pillmore
+copyright: (c) 2019-2022 Emily Pillmore
category: Data
build-type: Simple
extra-doc-files:
CHANGELOG.md
README.md
-tested-with: GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.3
+tested-with: GHC ==8.10.7 || ==9.0.2 || ==9.2.2
source-repository head
type: git
@@ -51,10 +51,9 @@
Data.ByteString.Base64.Internal.W64.Loop
build-depends:
- base >=4.10 && <5
+ base >=4.14 && <4.17
, bytestring >=0.10 && <0.12
- , deepseq >=1.4.3.0 && <1.4.5.0
- , ghc-byteorder ^>=4.11.0.0
+ , deepseq >=1.4.3.0 && <1.5
, text ^>=1.2
, text-short ^>=0.1
@@ -69,7 +68,7 @@
other-modules: Internal
main-is: Main.hs
build-depends:
- base >=4.10 && <5
+ base >=4.14 && <4.17
, base64
, base64-bytestring
, bytestring
@@ -89,7 +88,7 @@
hs-source-dirs: benchmarks
main-is: Base64Bench.hs
build-depends:
- base >=4.10 && <5
+ base >=4.14 && <4.17
, base64
, base64-bytestring
, bytestring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base64-0.4.2.3/src/Data/ByteString/Base64/Internal/Head.hs new/base64-0.4.2.4/src/Data/ByteString/Base64/Internal/Head.hs
--- old/base64-0.4.2.3/src/Data/ByteString/Base64/Internal/Head.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/base64-0.4.2.4/src/Data/ByteString/Base64/Internal/Head.hs 2001-09-09 03:46:40.000000000 +0200
@@ -88,11 +88,10 @@
-- padded string.
--
decodeBase64_
- :: Int
- -> ForeignPtr Word8
+ :: ForeignPtr Word8
-> ByteString
-> IO (Either Text ByteString)
-decodeBase64_ !dlen !dtfp (PS !sfp !soff !slen) =
+decodeBase64_ !dtfp (PS !sfp !soff !slen) =
withForeignPtr dtfp $ \dtable ->
withForeignPtr sfp $ \sptr -> do
dfp <- mallocPlainForeignPtrBytes dlen
@@ -101,6 +100,8 @@
decodeLoop dtable
(plusPtr sptr soff)
dptr end dfp
+ where
+ !dlen = (slen `quot` 4) * 3
{-# inline decodeBase64_ #-}
decodeBase64Lenient_ :: ForeignPtr Word8 -> ByteString -> ByteString
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base64-0.4.2.3/src/Data/ByteString/Base64/Internal/Utils.hs new/base64-0.4.2.4/src/Data/ByteString/Base64/Internal/Utils.hs
--- old/base64-0.4.2.3/src/Data/ByteString/Base64/Internal/Utils.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/base64-0.4.2.4/src/Data/ByteString/Base64/Internal/Utils.hs 2001-09-09 03:46:40.000000000 +0200
@@ -2,7 +2,7 @@
{-# LANGUAGE MagicHash #-}
-- |
-- Module : Data.ByteString.Base64.Internal
--- Copyright : (c) 2019-2020 Emily Pillmore
+-- Copyright : (c) 2019-2022 Emily Pillmore
-- License : BSD-style
--
-- Maintainer : Emily Pillmore <emilypi(a)cohomolo.gy>
@@ -54,7 +54,9 @@
-- | Read 'Word8' index off alphabet addr
--
aix :: Word8 -> Addr# -> Word8
-aix (W8# i) alpha = W8# (indexWord8OffAddr# alpha (word2Int# i))
+aix w8 alpha = W8# (indexWord8OffAddr# alpha i)
+ where
+ !(I# i) = fromIntegral w8
{-# INLINE aix #-}
-- | Convert 'Word8''s into 'Word32''s
@@ -155,11 +157,11 @@
peekWord32BE :: Ptr Word32 -> IO Word32
peekWord32BE p = case targetByteOrder of
LittleEndian -> byteSwap32 <$> peek p
- BigEndian -> peek p
+ BigEndian -> peek p
{-# inline peekWord32BE #-}
peekWord64BE :: Ptr Word64 -> IO Word64
peekWord64BE p = case targetByteOrder of
LittleEndian -> byteSwap64 <$> peek p
- BigEndian -> peek p
+ BigEndian -> peek p
{-# inline peekWord64BE #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base64-0.4.2.3/src/Data/ByteString/Base64/URL.hs new/base64-0.4.2.4/src/Data/ByteString/Base64/URL.hs
--- old/base64-0.4.2.3/src/Data/ByteString/Base64/URL.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/base64-0.4.2.4/src/Data/ByteString/Base64/URL.hs 2001-09-09 03:46:40.000000000 +0200
@@ -94,14 +94,12 @@
decodeBase64 :: ByteString -> Either Text ByteString
decodeBase64 bs@(PS _ _ !l)
| l == 0 = Right bs
- | r == 0 = unsafeDupablePerformIO $ decodeBase64_ dlen decodeB64UrlTable bs
- | r == 2 = unsafeDupablePerformIO $ decodeBase64_ dlen decodeB64UrlTable (BS.append bs "==")
- | r == 3 = validateLastPad bs $ decodeBase64_ dlen decodeB64UrlTable (BS.append bs "=")
+ | r == 0 = unsafeDupablePerformIO $ decodeBase64_ decodeB64UrlTable bs
+ | r == 2 = unsafeDupablePerformIO $ decodeBase64_ decodeB64UrlTable (BS.append bs "==")
+ | r == 3 = validateLastPad bs $ decodeBase64_ decodeB64UrlTable (BS.append bs "=")
| otherwise = Left "Base64-encoded bytestring has invalid size"
where
- !q = l `quot` 4
!r = l `rem` 4
- !dlen = q * 3
{-# INLINE decodeBase64 #-}
-- | Encode a 'ByteString' value as Base64url 'Text' without padding. Note that for Base64url,
@@ -153,14 +151,12 @@
decodeBase64Unpadded :: ByteString -> Either Text ByteString
decodeBase64Unpadded bs@(PS _ _ !l)
| l == 0 = Right bs
- | r == 0 = validateLastPad bs $ decodeBase64_ dlen decodeB64UrlTable bs
- | r == 2 = validateLastPad bs $ decodeBase64_ dlen decodeB64UrlTable (BS.append bs "==")
- | r == 3 = validateLastPad bs $ decodeBase64_ dlen decodeB64UrlTable (BS.append bs "=")
+ | r == 0 = validateLastPad bs $ decodeBase64_ decodeB64UrlTable bs
+ | r == 2 = validateLastPad bs $ decodeBase64_ decodeB64UrlTable (BS.append bs "==")
+ | r == 3 = validateLastPad bs $ decodeBase64_ decodeB64UrlTable (BS.append bs "=")
| otherwise = Left "Base64-encoded bytestring has invalid size"
where
- !q = l `quot` 4
!r = l `rem` 4
- !dlen = q * 3
{-# INLINE decodeBase64Unpadded #-}
-- | Decode a padded Base64url-encoded 'ByteString' value. Input strings are
@@ -185,11 +181,9 @@
| l == 0 = Right bs
| r == 1 = Left "Base64-encoded bytestring has invalid size"
| r /= 0 = Left "Base64-encoded bytestring requires padding"
- | otherwise = unsafeDupablePerformIO $ decodeBase64_ dlen decodeB64UrlTable bs
+ | otherwise = unsafeDupablePerformIO $ decodeBase64_ decodeB64UrlTable bs
where
- !q = l `quot` 4
!r = l `rem` 4
- !dlen = q * 3
{-# INLINE decodeBase64Padded #-}
-- | Leniently decode an unpadded Base64url-encoded 'ByteString'. This function
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base64-0.4.2.3/src/Data/ByteString/Base64.hs new/base64-0.4.2.4/src/Data/ByteString/Base64.hs
--- old/base64-0.4.2.3/src/Data/ByteString/Base64.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/base64-0.4.2.4/src/Data/ByteString/Base64.hs 2001-09-09 03:46:40.000000000 +0200
@@ -85,11 +85,9 @@
| l == 0 = Right bs
| r == 1 = Left "Base64-encoded bytestring has invalid size"
| r /= 0 = Left "Base64-encoded bytestring requires padding"
- | otherwise = unsafeDupablePerformIO $ decodeBase64_ dlen decodeB64Table bs
+ | otherwise = unsafeDupablePerformIO $ decodeBase64_ decodeB64Table bs
where
- !q = l `quot` 4
!r = l `rem` 4
- !dlen = q * 3
{-# inline decodeBase64 #-}
-- | Leniently decode an unpadded Base64-encoded 'ByteString' value. This function
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-base-prelude for openSUSE:Factory checked in at 2022-08-01 21:28:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base-prelude (Old)
and /work/SRC/openSUSE:Factory/.ghc-base-prelude.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base-prelude"
Mon Aug 1 21:28:32 2022 rev:16 rq:985800 version:1.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-base-prelude/ghc-base-prelude.changes 2022-02-23 16:26:50.359509666 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-base-prelude.new.1533/ghc-base-prelude.changes 2022-08-01 21:28:33.737340309 +0200
@@ -1,0 +2,7 @@
+Fri Mar 18 11:55:34 UTC 2022 - Peter Simons <psimons(a)suse.com>
+
+- Update base-prelude to version 1.6.1.
+ Upstream has not updated the file "CHANGELOG.md" since the last
+ release.
+
+-------------------------------------------------------------------
Old:
----
base-prelude-1.6.tar.gz
New:
----
base-prelude-1.6.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-base-prelude.spec ++++++
--- /var/tmp/diff_new_pack.6zBA5r/_old 2022-08-01 21:28:34.341342042 +0200
+++ /var/tmp/diff_new_pack.6zBA5r/_new 2022-08-01 21:28:34.345342053 +0200
@@ -18,7 +18,7 @@
%global pkg_name base-prelude
Name: ghc-%{pkg_name}
-Version: 1.6
+Version: 1.6.1
Release: 0
Summary: Featureful preludes formed solely from the "base" package
License: MIT
++++++ base-prelude-1.6.tar.gz -> base-prelude-1.6.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-prelude-1.6/base-prelude.cabal new/base-prelude-1.6.1/base-prelude.cabal
--- old/base-prelude-1.6/base-prelude.cabal 2001-09-09 03:46:40.000000000 +0200
+++ new/base-prelude-1.6.1/base-prelude.cabal 2001-09-09 03:46:40.000000000 +0200
@@ -1,7 +1,7 @@
cabal-version: 3.0
name: base-prelude
-version: 1.6
+version: 1.6.1
synopsis: Featureful preludes formed solely from the "base" package
description:
A library which aims to reexport all the non-conflicting and
@@ -29,7 +29,6 @@
copyright: (c) 2014, Nikita Volkov
license: MIT
license-file: LICENSE
-build-type: Simple
extra-source-files: CHANGELOG.md
source-repository head
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-prelude-1.6/library/BasePrelude/DataTypes.hs new/base-prelude-1.6.1/library/BasePrelude/DataTypes.hs
--- old/base-prelude-1.6/library/BasePrelude/DataTypes.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/base-prelude-1.6.1/library/BasePrelude/DataTypes.hs 2001-09-09 03:46:40.000000000 +0200
@@ -20,17 +20,20 @@
-- * From "Data.Int"
Data.Int.Int,
+ Data.Int.Int8,
Data.Int.Int16,
Data.Int.Int32,
Data.Int.Int64,
- Data.Int.Int8,
-- * From "Data.Word"
Data.Word.Word,
+ Data.Word.Word8,
Data.Word.Word16,
Data.Word.Word32,
Data.Word.Word64,
- Data.Word.Word8,
+
+ -- * From "Data.Complex"
+ Data.Complex.Complex (..),
-- * From "Data.Ratio"
Data.Ratio.Rational,
@@ -43,6 +46,7 @@
)
where
+import qualified Data.Complex
import qualified Data.Int
import qualified Data.List.NonEmpty
import qualified Data.Ratio
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/base-prelude-1.6/library/BasePrelude/Operators.hs new/base-prelude-1.6.1/library/BasePrelude/Operators.hs
--- old/base-prelude-1.6/library/BasePrelude/Operators.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/base-prelude-1.6.1/library/BasePrelude/Operators.hs 2001-09-09 03:46:40.000000000 +0200
@@ -6,6 +6,7 @@
(Control.Applicative.*>),
(Control.Applicative.<*),
(Control.Applicative.<*>),
+ (Control.Applicative.<**>),
(Control.Applicative.<|>),
-- * From "Control.Monad"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-algebraic-graphs for openSUSE:Factory checked in at 2022-08-01 21:28:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-algebraic-graphs (Old)
and /work/SRC/openSUSE:Factory/.ghc-algebraic-graphs.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-algebraic-graphs"
Mon Aug 1 21:28:32 2022 rev:5 rq:985799 version:0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-algebraic-graphs/ghc-algebraic-graphs.changes 2022-02-11 23:10:28.347130430 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-algebraic-graphs.new.1533/ghc-algebraic-graphs.changes 2022-08-01 21:28:32.905337922 +0200
@@ -2,9 +1,0 @@
-Thu Dec 16 21:32:29 UTC 2021 - Peter Simons <psimons(a)suse.com>
-
-- Update algebraic-graphs to version 0.6 revision 1.
- Upstream has edited the change log file since the last release in
- a non-trivial way, i.e. they did more than just add a new entry
- at the top. You can review the file at:
- http://hackage.haskell.org/package/algebraic-graphs-0.6/src/CHANGES.md
-
--------------------------------------------------------------------
Old:
----
algebraic-graphs-0.6.tar.gz
algebraic-graphs.cabal
New:
----
algebraic-graphs-0.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-algebraic-graphs.spec ++++++
--- /var/tmp/diff_new_pack.si2e9C/_old 2022-08-01 21:28:33.369339253 +0200
+++ /var/tmp/diff_new_pack.si2e9C/_new 2022-08-01 21:28:33.373339265 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-algebraic-graphs
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,13 +19,12 @@
%global pkg_name algebraic-graphs
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.6
+Version: 0.5
Release: 0
Summary: A library for algebraic graph construction and transformation
License: MIT
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-array-devel
BuildRequires: ghc-containers-devel
@@ -60,23 +59,15 @@
The library also provides conventional graph data structures, such as
<http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Adja…
-Algebra.Graph.AdjacencyMap> along with its various flavours:
-
-* adjacency maps specialised to graphs with vertices of type 'Int'
+Algebra.Graph.AdjacencyMap> along with its various flavours: adjacency maps
+specialised to graphs with vertices of type 'Int'
(<http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Adja…
-Algebra.Graph.AdjacencyIntMap>), * non-empty adjacency maps
+Algebra.Graph.AdjacencyIntMap>), non-empty adjacency maps
(<http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-NonE…
-Algebra.Graph.NonEmpty.AdjacencyMap>), * adjacency maps for undirected
-bipartite graphs
-(<http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Bipa…
-Algebra.Graph.Bipartite.AdjacencyMap>), * adjacency maps with edge labels
+Algebra.Graph.NonEmpty.AdjacencyMap>), and adjacency maps with edge labels
(<http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Labe…
-Algebra.Graph.Labelled.AdjacencyMap>), * acyclic adjacency maps
-(<http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-Acyc…
-Algebra.Graph.Acyclic.AdjacencyMap>),
-
-A large part of the API of algebraic graphs and adjacency maps is available
-through the 'Foldable'-like type class
+Algebra.Graph.Labelled.AdjacencyMap>). A large part of the API of algebraic
+graphs and adjacency maps is available through the 'Foldable'-like type class
<http://hackage.haskell.org/package/algebraic-graphs/docs/Algebra-Graph-ToGr…
Algebra.Graph.ToGraph>.
@@ -104,7 +95,6 @@
%prep
%autosetup -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ algebraic-graphs-0.6.tar.gz -> algebraic-graphs-0.5.tar.gz ++++++
++++ 8008 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-JuicyPixels for openSUSE:Factory checked in at 2022-08-01 21:28:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-JuicyPixels (Old)
and /work/SRC/openSUSE:Factory/.ghc-JuicyPixels.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-JuicyPixels"
Mon Aug 1 21:28:31 2022 rev:32 rq:985798 version:3.3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-JuicyPixels/ghc-JuicyPixels.changes 2021-11-11 21:36:06.284874769 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-JuicyPixels.new.1533/ghc-JuicyPixels.changes 2022-08-01 21:28:31.965335225 +0200
@@ -1,0 +2,10 @@
+Wed Mar 9 22:42:21 UTC 2022 - Peter Simons <psimons(a)suse.com>
+
+- Update JuicyPixels to version 3.3.7.
+ v3.3.7 March 2022
+ -----------------
+
+ * Jpg: Fixing renderng bug with MCUs with single block in width and
+ multiple in height
+
+-------------------------------------------------------------------
Old:
----
JuicyPixels-3.3.6.tar.gz
New:
----
JuicyPixels-3.3.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-JuicyPixels.spec ++++++
--- /var/tmp/diff_new_pack.QqBZ5e/_old 2022-08-01 21:28:32.541336878 +0200
+++ /var/tmp/diff_new_pack.QqBZ5e/_new 2022-08-01 21:28:32.545336889 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-JuicyPixels
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%global pkg_name JuicyPixels
Name: ghc-%{pkg_name}
-Version: 3.3.6
+Version: 3.3.7
Release: 0
Summary: Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance)
License: BSD-3-Clause
++++++ JuicyPixels-3.3.6.tar.gz -> JuicyPixels-3.3.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JuicyPixels-3.3.6/JuicyPixels.cabal new/JuicyPixels-3.3.7/JuicyPixels.cabal
--- old/JuicyPixels-3.3.6/JuicyPixels.cabal 2021-10-13 14:18:38.000000000 +0200
+++ new/JuicyPixels-3.3.7/JuicyPixels.cabal 2022-03-09 23:41:25.000000000 +0100
@@ -1,5 +1,5 @@
Name: JuicyPixels
-Version: 3.3.6
+Version: 3.3.7
Synopsis: Picture loading/serialization (in png, jpeg, bitmap, gif, tga, tiff and radiance)
Description:
<<data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADABAMAAACg8nE0AAAAElBMVEUAAABJqDSTWEL/qyb///8AAABH/1GTAAAAAXRSTlMAQObYZgAAAN5JREFUeF7s1sEJgFAQxFBbsAV72v5bEVYWPwT/XDxmCsi7zvHXavYREBDI3XP2GgICqBBYuwIC+/rVayPUAyAg0HvIXBcQoDFDGnUBgWQQ2Bx3AYFaRoBpAQHWb3bt2ARgGAiCYFFuwf3X5HA/McgGJWI2FdykCv4aBYzmKwDwvl6NVmUAAK2vlwEALK7fo88GANB6HQsAAAAAAAAA7P94AQCzswEAAAAAAAAAAAAAAAAAAICzh4UAO4zWAYBfRutHA4Bn5C69JhowAMGoBaMWDG0wCkbBKBgFo2AUAACPmegUST/IJAAAAABJRU5ErkJggg==>>
@@ -28,7 +28,7 @@
Source-Repository this
Type: git
Location: git://github.com/Twinside/Juicy.Pixels.git
- Tag: v3.3.6
+ Tag: v3.3.7
Flag Mmap
Description: Enable the file loading via mmap (memory map)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JuicyPixels-3.3.6/changelog new/JuicyPixels-3.3.7/changelog
--- old/JuicyPixels-3.3.6/changelog 2021-10-13 14:13:27.000000000 +0200
+++ new/JuicyPixels-3.3.7/changelog 2022-03-09 23:41:25.000000000 +0100
@@ -1,6 +1,12 @@
Change log
==========
+v3.3.7 March 2022
+-----------------
+
+ * Jpg: Fixing renderng bug with MCUs with single block in width and
+ multiple in height
+
v3.3.6 October 2021
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JuicyPixels-3.3.6/docimages/pixelgraph.svg new/JuicyPixels-3.3.7/docimages/pixelgraph.svg
--- old/JuicyPixels-3.3.6/docimages/pixelgraph.svg 2021-10-13 14:11:12.000000000 +0200
+++ new/JuicyPixels-3.3.7/docimages/pixelgraph.svg 2015-04-25 11:09:38.000000000 +0200
@@ -1,264 +1,264 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.22.2 (20090313.1817)
- -->
-<!-- Title: pixelGraphic Pages: 1 -->
-<svg width="620pt" height="464pt"
- viewBox="0.00 0.00 620.00 464.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 460)">
-<title>pixelGraphic</title>
-<polygon fill="white" stroke="white" points="-4,5 -4,-460 617,-460 617,5 -4,5"/>
-<!-- PixelRGB8 -->
-<g id="node1" class="node"><title>PixelRGB8</title>
-<ellipse fill="none" stroke="black" cx="246" cy="-438" rx="31.7878" ry="18"/>
-<text text-anchor="middle" x="246" y="-436.3" font-family="sans-serif" font-size="8.00">PixelRGB8</text>
-</g>
-<!-- PixelRGBA8 -->
-<g id="node6" class="node"><title>PixelRGBA8</title>
-<ellipse fill="none" stroke="black" cx="441" cy="-354" rx="34.8223" ry="18"/>
-<text text-anchor="middle" x="441" y="-352.3" font-family="sans-serif" font-size="8.00">PixelRGBA8</text>
-</g>
-<!-- PixelRGB8->PixelRGBA8 -->
-<g id="edge4" class="edge"><title>PixelRGB8->PixelRGBA8</title>
-<path fill="none" stroke="black" d="M274.25,-429.506C295.421,-422.833 324.934,-412.874 350,-402 351.523,-401.339 381.994,-385.244 407.261,-371.871"/>
-<polygon fill="black" stroke="black" points="409.071,-374.874 416.272,-367.102 405.796,-368.687 409.071,-374.874"/>
-<text text-anchor="middle" x="393" y="-394.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- PixelRGBF -->
-<g id="node8" class="node"><title>PixelRGBF</title>
-<ellipse fill="none" stroke="black" cx="33" cy="-102" rx="31.7878" ry="18"/>
-<text text-anchor="middle" x="33" y="-100.3" font-family="sans-serif" font-size="8.00">PixelRGBF</text>
-</g>
-<!-- PixelRGB8->PixelRGBF -->
-<g id="edge6" class="edge"><title>PixelRGB8->PixelRGBF</title>
-<path fill="none" stroke="black" d="M214.594,-434.005C148.276,-424.689 0,-398.847 0,-354 0,-354 0,-354 0,-186 0,-165.437 8.67323,-143.88 17.1268,-127.753"/>
-<polygon fill="black" stroke="black" points="20.228,-129.378 22.0115,-118.934 14.1045,-125.986 20.228,-129.378"/>
-<text text-anchor="middle" x="23" y="-268.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel8 -->
-<g id="node20" class="node"><title>Pixel8</title>
-<ellipse fill="none" stroke="black" cx="308" cy="-270" rx="27" ry="18"/>
-<text text-anchor="middle" x="308" y="-268.3" font-family="sans-serif" font-size="8.00">Pixel8</text>
-</g>
-<!-- PixelRGB8->Pixel8 -->
-<g id="edge60" class="edge"><title>PixelRGB8->Pixel8</title>
-<path fill="none" stroke="black" d="M214.516,-433.811C149.341,-423.852 9.37863,-395.049 55,-336 81.2893,-301.973 207.23,-282.163 270.929,-274.163"/>
-<polygon fill="black" stroke="black" points="271.46,-277.624 280.961,-272.936 270.61,-270.676 271.46,-277.624"/>
-<text text-anchor="middle" x="80" y="-352.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
-</g>
-<!-- PixelCMYK8 -->
-<g id="node28" class="node"><title>PixelCMYK8</title>
-<ellipse fill="none" stroke="black" cx="253" cy="-354" rx="34.8223" ry="18"/>
-<text text-anchor="middle" x="253" y="-352.3" font-family="sans-serif" font-size="8.00">PixelCMYK8</text>
-</g>
-<!-- PixelRGB8->PixelCMYK8 -->
-<g id="edge40" class="edge"><title>PixelRGB8->PixelCMYK8</title>
-<path fill="none" stroke="black" d="M224.748,-423.894C213.935,-414.831 204.182,-402.459 210,-390 212.758,-384.095 217.013,-378.817 221.794,-374.241"/>
-<polygon fill="black" stroke="black" points="224.225,-376.77 229.601,-367.64 219.705,-371.424 224.225,-376.77"/>
-<text text-anchor="middle" x="232" y="-394.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
-</g>
-<!-- PixelYCbCr8 -->
-<g id="node30" class="node"><title>PixelYCbCr8</title>
-<ellipse fill="none" stroke="black" cx="150" cy="-354" rx="35.9084" ry="18"/>
-<text text-anchor="middle" x="150" y="-352.3" font-family="sans-serif" font-size="8.00">PixelYCbCr8</text>
-</g>
-<!-- PixelRGB8->PixelYCbCr8 -->
-<g id="edge42" class="edge"><title>PixelRGB8->PixelYCbCr8</title>
-<path fill="none" stroke="black" d="M214.399,-434.415C177.053,-429.451 118.29,-419.109 105,-402 97.106,-391.837 104.874,-381.324 116.049,-372.736"/>
-<polygon fill="black" stroke="black" points="118.35,-375.401 124.612,-366.856 114.387,-369.631 118.35,-375.401"/>
-<text text-anchor="middle" x="127" y="-394.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
-</g>
-<!-- PixelRGB16 -->
-<g id="node2" class="node"><title>PixelRGB16</title>
-<ellipse fill="none" stroke="black" cx="429" cy="-102" rx="34.1425" ry="18"/>
-<text text-anchor="middle" x="429" y="-100.3" font-family="sans-serif" font-size="8.00">PixelRGB16</text>
-</g>
-<!-- PixelRGBA16 -->
-<g id="node4" class="node"><title>PixelRGBA16</title>
-<ellipse fill="none" stroke="black" cx="343" cy="-18" rx="37.1721" ry="18"/>
-<text text-anchor="middle" x="343" y="-16.3" font-family="sans-serif" font-size="8.00">PixelRGBA16</text>
-</g>
-<!-- PixelRGB16->PixelRGBA16 -->
-<g id="edge2" class="edge"><title>PixelRGB16->PixelRGBA16</title>
-<path fill="none" stroke="black" d="M400.098,-92.2134C386.67,-86.4097 371.409,-77.8363 361,-66 355.909,-60.2106 352.202,-52.8433 349.526,-45.6287"/>
-<polygon fill="black" stroke="black" points="352.846,-44.5187 346.482,-36.0479 346.174,-46.6383 352.846,-44.5187"/>
-<text text-anchor="middle" x="384" y="-58.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel16 -->
-<g id="node16" class="node"><title>Pixel16</title>
-<ellipse fill="none" stroke="black" cx="296" cy="-186" rx="27" ry="18"/>
-<text text-anchor="middle" x="296" y="-184.3" font-family="sans-serif" font-size="8.00">Pixel16</text>
-</g>
-<!-- PixelRGB16->Pixel16 -->
-<g id="edge58" class="edge"><title>PixelRGB16->Pixel16</title>
-<path fill="none" stroke="black" d="M424.573,-120.149C421.265,-130.199 415.765,-142.199 407,-150 386.436,-168.304 356.427,-177.32 332.795,-181.75"/>
-<polygon fill="black" stroke="black" points="332.056,-178.325 322.773,-183.431 333.214,-185.228 332.056,-178.325"/>
-<text text-anchor="middle" x="441" y="-142.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
-</g>
-<!-- PixelCMYK16 -->
-<g id="node26" class="node"><title>PixelCMYK16</title>
-<ellipse fill="none" stroke="black" cx="553" cy="-18" rx="37.1721" ry="18"/>
-<text text-anchor="middle" x="553" y="-16.3" font-family="sans-serif" font-size="8.00">PixelCMYK16</text>
-</g>
-<!-- PixelRGB16->PixelCMYK16 -->
-<g id="edge38" class="edge"><title>PixelRGB16->PixelCMYK16</title>
-<path fill="none" stroke="black" d="M451.832,-88.3606C462.615,-81.7841 475.593,-73.6731 487,-66 499.46,-57.6189 512.915,-47.9503 524.406,-39.4968"/>
-<polygon fill="black" stroke="black" points="526.807,-42.074 532.761,-33.3106 522.641,-36.4482 526.807,-42.074"/>
-<text text-anchor="middle" x="525" y="-58.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
-</g>
-<!-- PixelRGBA16->PixelRGB16 -->
-<g id="edge44" class="edge"><title>PixelRGBA16->PixelRGB16</title>
-<path fill="none" stroke="black" d="M371.789,-29.3863C383.871,-35.2918 397.329,-43.4955 407,-54 412.378,-59.8422 416.636,-67.2266 419.915,-74.4406"/>
-<polygon fill="black" stroke="black" points="416.794,-76.0584 423.794,-84.0115 423.282,-73.4291 416.794,-76.0584"/>
-<text text-anchor="middle" x="449" y="-58.3" font-family="sans-serif" font-size="8.00">dropTransparency</text>
-</g>
-<!-- PixelRGBA8->PixelRGB8 -->
-<g id="edge46" class="edge"><title>PixelRGBA8->PixelRGB8</title>
-<path fill="none" stroke="black" d="M437.029,-372.038C433.845,-382.309 428.318,-394.571 419,-402 399.083,-417.88 332.208,-428.306 287.678,-433.672"/>
-<polygon fill="black" stroke="black" points="287.239,-430.2 277.712,-434.834 288.05,-437.153 287.239,-430.2"/>
-<text text-anchor="middle" x="463" y="-394.3" font-family="sans-serif" font-size="8.00">dropTransparency</text>
-</g>
-<!-- PixelRGBA8->Pixel8 -->
-<g id="edge52" class="edge"><title>PixelRGBA8->Pixel8</title>
-<path fill="none" stroke="black" d="M413.829,-342.599C399.476,-336.131 381.815,-327.451 367,-318 354.878,-310.267 342.394,-300.428 332.048,-291.673"/>
-<polygon fill="black" stroke="black" points="334.114,-288.833 324.258,-284.946 329.539,-294.131 334.114,-288.833"/>
-<text text-anchor="middle" x="392" y="-310.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
-</g>
-<!-- PixelF -->
-<g id="node14" class="node"><title>PixelF</title>
-<ellipse fill="none" stroke="black" cx="106" cy="-186" rx="27" ry="18"/>
-<text text-anchor="middle" x="106" y="-184.3" font-family="sans-serif" font-size="8.00">PixelF</text>
-</g>
-<!-- PixelRGBF->PixelF -->
-<g id="edge56" class="edge"><title>PixelRGBF->PixelF</title>
-<path fill="none" stroke="black" d="M27.0137,-120.147C24.9943,-129.716 24.4635,-141.251 30,-150 38.9021,-164.067 54.9514,-172.745 70.015,-178.044"/>
-<polygon fill="black" stroke="black" points="69.0981,-181.424 79.6867,-181.06 71.1825,-174.741 69.0981,-181.424"/>
-<text text-anchor="middle" x="55" y="-142.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
-</g>
-<!-- PixelYA16 -->
-<g id="node9" class="node"><title>PixelYA16</title>
-<ellipse fill="none" stroke="black" cx="259" cy="-102" rx="31.7878" ry="18"/>
-<text text-anchor="middle" x="259" y="-100.3" font-family="sans-serif" font-size="8.00">PixelYA16</text>
-</g>
-<!-- PixelYA16->PixelRGBA16 -->
-<g id="edge8" class="edge"><title>PixelYA16->PixelRGBA16</title>
-<path fill="none" stroke="black" d="M258.152,-83.5434C258.613,-73.883 260.687,-62.36 267,-54 275.273,-43.0444 287.722,-35.28 300.163,-29.8405"/>
-<polygon fill="black" stroke="black" points="301.586,-33.0421 309.607,-26.1198 299.02,-26.5294 301.586,-33.0421"/>
-<text text-anchor="middle" x="290" y="-58.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- PixelYA16->Pixel16 -->
-<g id="edge48" class="edge"><title>PixelYA16->Pixel16</title>
-<path fill="none" stroke="black" d="M229.98,-109.854C206.015,-117.845 177.897,-131.656 191,-150 199.293,-161.611 233.125,-171.835 260.175,-178.391"/>
-<polygon fill="black" stroke="black" points="259.609,-181.853 270.143,-180.72 261.201,-175.037 259.609,-181.853"/>
-<text text-anchor="middle" x="225" y="-142.3" font-family="sans-serif" font-size="8.00">dropTransparency</text>
-</g>
-<!-- PixelYA8 -->
-<g id="node11" class="node"><title>PixelYA8</title>
-<ellipse fill="none" stroke="black" cx="439" cy="-186" rx="28.8445" ry="18"/>
-<text text-anchor="middle" x="439" y="-184.3" font-family="sans-serif" font-size="8.00">PixelYA8</text>
-</g>
-<!-- PixelYA8->PixelRGB8 -->
-<g id="edge12" class="edge"><title>PixelYA8->PixelRGB8</title>
-<path fill="none" stroke="black" d="M464.762,-194.278C489.627,-203.81 525.815,-222.121 542,-252 574.918,-312.769 554.613,-358.387 501,-402 484.752,-415.217 355.671,-428.373 287.639,-434.476"/>
-<polygon fill="black" stroke="black" points="287.321,-430.99 277.669,-435.359 287.938,-437.963 287.321,-430.99"/>
-<text text-anchor="middle" x="580" y="-310.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- PixelYA8->PixelRGBA8 -->
-<g id="edge10" class="edge"><title>PixelYA8->PixelRGBA8</title>
-<path fill="none" stroke="black" d="M460.035,-198.84C467.824,-204.817 475.781,-212.68 480,-222 497.598,-260.871 496.093,-278.904 479,-318 476.725,-323.204 473.295,-328.013 469.411,-332.309"/>
-<polygon fill="black" stroke="black" points="466.792,-329.975 462.079,-339.464 471.681,-334.985 466.792,-329.975"/>
-<text text-anchor="middle" x="515" y="-268.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- PixelYA8->Pixel8 -->
-<g id="edge50" class="edge"><title>PixelYA8->Pixel8</title>
-<path fill="none" stroke="black" d="M412.102,-193.018C393.267,-198.789 368.145,-208.269 349,-222 340.05,-228.419 331.808,-237.196 325.098,-245.49"/>
-<polygon fill="black" stroke="black" points="322.247,-243.456 318.929,-253.518 327.797,-247.721 322.247,-243.456"/>
-<text text-anchor="middle" x="383" y="-226.3" font-family="sans-serif" font-size="8.00">dropTransparency</text>
-</g>
-<!-- PixelYA8->Pixel8 -->
-<g id="edge62" class="edge"><title>PixelYA8->Pixel8</title>
-<path fill="none" stroke="black" d="M434.558,-204.131C431.244,-214.175 425.744,-226.175 417,-234 397.039,-251.864 367.99,-260.893 344.899,-265.441"/>
-<polygon fill="black" stroke="black" points="344.002,-262.045 334.763,-267.23 345.219,-268.938 344.002,-262.045"/>
-<text text-anchor="middle" x="451" y="-226.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
-</g>
-<!-- PixelF->PixelRGBF -->
-<g id="edge14" class="edge"><title>PixelF->PixelRGBF</title>
-<path fill="none" stroke="black" d="M100.45,-168.312C96.8232,-158.653 91.3784,-146.886 84,-138 78.5966,-131.492 71.7476,-125.606 64.8367,-120.568"/>
-<polygon fill="black" stroke="black" points="66.3898,-117.392 56.1539,-114.657 62.4504,-123.178 66.3898,-117.392"/>
-<text text-anchor="middle" x="115" y="-142.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel16->PixelRGB16 -->
-<g id="edge18" class="edge"><title>Pixel16->PixelRGB16</title>
-<path fill="none" stroke="black" d="M313.43,-172.019C326.239,-162.023 344.257,-148.532 361,-138 371.689,-131.277 383.756,-124.61 394.725,-118.875"/>
-<polygon fill="black" stroke="black" points="396.336,-121.982 403.628,-114.295 393.134,-115.757 396.336,-121.982"/>
-<text text-anchor="middle" x="384" y="-142.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel16->PixelRGBA16 -->
-<g id="edge16" class="edge"><title>Pixel16->PixelRGBA16</title>
-<path fill="none" stroke="black" d="M305.084,-168.741C307.903,-162.903 310.835,-156.272 313,-150 325.048,-115.091 333.609,-73.3023 338.424,-46.2333"/>
-<polygon fill="black" stroke="black" points="341.89,-46.732 340.143,-36.2822 334.992,-45.5405 341.89,-46.732"/>
-<text text-anchor="middle" x="353" y="-100.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel16->PixelYA16 -->
-<g id="edge20" class="edge"><title>Pixel16->PixelYA16</title>
-<path fill="none" stroke="black" d="M280.78,-170.7C275.635,-164.701 270.35,-157.469 267,-150 264.277,-143.93 262.473,-137.052 261.279,-130.438"/>
-<polygon fill="black" stroke="black" points="264.727,-129.827 259.862,-120.415 257.796,-130.807 264.727,-129.827"/>
-<text text-anchor="middle" x="290" y="-142.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel8->PixelRGB8 -->
-<g id="edge24" class="edge"><title>Pixel8->PixelRGB8</title>
-<path fill="none" stroke="black" d="M312.919,-288.095C319.136,-314.953 326.712,-366.057 306,-402 300.622,-411.332 291.773,-418.518 282.501,-423.926"/>
-<polygon fill="black" stroke="black" points="280.83,-420.85 273.581,-428.577 284.067,-427.057 280.83,-420.85"/>
-<text text-anchor="middle" x="342" y="-352.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel8->PixelRGBA8 -->
-<g id="edge22" class="edge"><title>Pixel8->PixelRGBA8</title>
-<path fill="none" stroke="black" d="M334.939,-272.185C360.073,-275.561 397.177,-284.15 421,-306 426.855,-311.37 431.048,-318.72 434.03,-326.054"/>
-<polygon fill="black" stroke="black" points="430.836,-327.531 437.387,-335.858 437.458,-325.263 430.836,-327.531"/>
-<text text-anchor="middle" x="452" y="-310.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel8->PixelYA8 -->
-<g id="edge26" class="edge"><title>Pixel8->PixelYA8</title>
-<path fill="none" stroke="black" d="M290.77,-255.865C280.734,-245.919 271.57,-232.553 280,-222 287.559,-212.538 356.092,-199.635 400.682,-192.122"/>
-<polygon fill="black" stroke="black" points="401.335,-195.562 410.626,-190.469 400.187,-188.657 401.335,-195.562"/>
-<text text-anchor="middle" x="303" y="-226.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel8->PixelF -->
-<g id="edge28" class="edge"><title>Pixel8->PixelF</title>
-<path fill="none" stroke="black" d="M281.145,-267.812C249.741,-264.331 196.969,-255.554 157,-234 145.577,-227.84 134.814,-218.473 126.146,-209.643"/>
-<polygon fill="black" stroke="black" points="128.492,-207.028 119.104,-202.117 123.381,-211.81 128.492,-207.028"/>
-<text text-anchor="middle" x="180" y="-226.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- Pixel8->Pixel16 -->
-<g id="edge30" class="edge"><title>Pixel8->Pixel16</title>
-<path fill="none" stroke="black" d="M282.206,-263.957C256.398,-257.327 219.359,-246.018 211,-234 196.025,-212.469 230.216,-199.429 259.604,-192.482"/>
-<polygon fill="black" stroke="black" points="260.687,-195.828 269.71,-190.275 259.193,-188.989 260.687,-195.828"/>
-<text text-anchor="middle" x="234" y="-226.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
-</g>
-<!-- PixelCMYK16->PixelRGB16 -->
-<g id="edge32" class="edge"><title>PixelCMYK16->PixelRGB16</title>
-<path fill="none" stroke="black" d="M564.03,-35.4654C568.707,-45.2873 571.707,-57.2873 565,-66 553.678,-80.7091 507.858,-90.6423 472.496,-96.2857"/>
-<polygon fill="black" stroke="black" points="471.73,-92.862 462.373,-97.8319 472.787,-99.7817 471.73,-92.862"/>
-<text text-anchor="middle" x="590" y="-58.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
-</g>
-<!-- PixelCMYK8->PixelRGB8 -->
-<g id="edge34" class="edge"><title>PixelCMYK8->PixelRGB8</title>
-<path fill="none" stroke="black" d="M257.173,-372.299C258.645,-381.28 259.584,-392.241 258,-402 257.535,-404.865 256.875,-407.811 256.1,-410.724"/>
-<polygon fill="black" stroke="black" points="252.737,-409.753 253.143,-420.34 259.427,-411.811 252.737,-409.753"/>
-<text text-anchor="middle" x="280" y="-394.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
-</g>
-<!-- PixelYCbCr8->PixelRGB8 -->
-<g id="edge36" class="edge"><title>PixelYCbCr8->PixelRGB8</title>
-<path fill="none" stroke="black" d="M149.836,-372.162C150.645,-381.97 153.174,-393.727 160,-402 171.431,-415.854 189.112,-424.462 205.475,-429.768"/>
-<polygon fill="black" stroke="black" points="204.847,-433.23 215.426,-432.663 206.802,-426.509 204.847,-433.23"/>
-<text text-anchor="middle" x="182" y="-394.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
-</g>
-<!-- PixelYCbCr8->Pixel8 -->
-<g id="edge54" class="edge"><title>PixelYCbCr8->Pixel8</title>
-<path fill="none" stroke="black" d="M174.688,-340.875C202.411,-326.136 247.432,-302.201 277.376,-286.281"/>
-<polygon fill="black" stroke="black" points="279.34,-289.201 286.527,-281.416 276.054,-283.02 279.34,-289.201"/>
-<text text-anchor="middle" x="263" y="-310.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
-</g>
-</g>
-</svg>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.22.2 (20090313.1817)
+ -->
+<!-- Title: pixelGraphic Pages: 1 -->
+<svg width="620pt" height="464pt"
+ viewBox="0.00 0.00 620.00 464.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 460)">
+<title>pixelGraphic</title>
+<polygon fill="white" stroke="white" points="-4,5 -4,-460 617,-460 617,5 -4,5"/>
+<!-- PixelRGB8 -->
+<g id="node1" class="node"><title>PixelRGB8</title>
+<ellipse fill="none" stroke="black" cx="246" cy="-438" rx="31.7878" ry="18"/>
+<text text-anchor="middle" x="246" y="-436.3" font-family="sans-serif" font-size="8.00">PixelRGB8</text>
+</g>
+<!-- PixelRGBA8 -->
+<g id="node6" class="node"><title>PixelRGBA8</title>
+<ellipse fill="none" stroke="black" cx="441" cy="-354" rx="34.8223" ry="18"/>
+<text text-anchor="middle" x="441" y="-352.3" font-family="sans-serif" font-size="8.00">PixelRGBA8</text>
+</g>
+<!-- PixelRGB8->PixelRGBA8 -->
+<g id="edge4" class="edge"><title>PixelRGB8->PixelRGBA8</title>
+<path fill="none" stroke="black" d="M274.25,-429.506C295.421,-422.833 324.934,-412.874 350,-402 351.523,-401.339 381.994,-385.244 407.261,-371.871"/>
+<polygon fill="black" stroke="black" points="409.071,-374.874 416.272,-367.102 405.796,-368.687 409.071,-374.874"/>
+<text text-anchor="middle" x="393" y="-394.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- PixelRGBF -->
+<g id="node8" class="node"><title>PixelRGBF</title>
+<ellipse fill="none" stroke="black" cx="33" cy="-102" rx="31.7878" ry="18"/>
+<text text-anchor="middle" x="33" y="-100.3" font-family="sans-serif" font-size="8.00">PixelRGBF</text>
+</g>
+<!-- PixelRGB8->PixelRGBF -->
+<g id="edge6" class="edge"><title>PixelRGB8->PixelRGBF</title>
+<path fill="none" stroke="black" d="M214.594,-434.005C148.276,-424.689 0,-398.847 0,-354 0,-354 0,-354 0,-186 0,-165.437 8.67323,-143.88 17.1268,-127.753"/>
+<polygon fill="black" stroke="black" points="20.228,-129.378 22.0115,-118.934 14.1045,-125.986 20.228,-129.378"/>
+<text text-anchor="middle" x="23" y="-268.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel8 -->
+<g id="node20" class="node"><title>Pixel8</title>
+<ellipse fill="none" stroke="black" cx="308" cy="-270" rx="27" ry="18"/>
+<text text-anchor="middle" x="308" y="-268.3" font-family="sans-serif" font-size="8.00">Pixel8</text>
+</g>
+<!-- PixelRGB8->Pixel8 -->
+<g id="edge60" class="edge"><title>PixelRGB8->Pixel8</title>
+<path fill="none" stroke="black" d="M214.516,-433.811C149.341,-423.852 9.37863,-395.049 55,-336 81.2893,-301.973 207.23,-282.163 270.929,-274.163"/>
+<polygon fill="black" stroke="black" points="271.46,-277.624 280.961,-272.936 270.61,-270.676 271.46,-277.624"/>
+<text text-anchor="middle" x="80" y="-352.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
+</g>
+<!-- PixelCMYK8 -->
+<g id="node28" class="node"><title>PixelCMYK8</title>
+<ellipse fill="none" stroke="black" cx="253" cy="-354" rx="34.8223" ry="18"/>
+<text text-anchor="middle" x="253" y="-352.3" font-family="sans-serif" font-size="8.00">PixelCMYK8</text>
+</g>
+<!-- PixelRGB8->PixelCMYK8 -->
+<g id="edge40" class="edge"><title>PixelRGB8->PixelCMYK8</title>
+<path fill="none" stroke="black" d="M224.748,-423.894C213.935,-414.831 204.182,-402.459 210,-390 212.758,-384.095 217.013,-378.817 221.794,-374.241"/>
+<polygon fill="black" stroke="black" points="224.225,-376.77 229.601,-367.64 219.705,-371.424 224.225,-376.77"/>
+<text text-anchor="middle" x="232" y="-394.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
+</g>
+<!-- PixelYCbCr8 -->
+<g id="node30" class="node"><title>PixelYCbCr8</title>
+<ellipse fill="none" stroke="black" cx="150" cy="-354" rx="35.9084" ry="18"/>
+<text text-anchor="middle" x="150" y="-352.3" font-family="sans-serif" font-size="8.00">PixelYCbCr8</text>
+</g>
+<!-- PixelRGB8->PixelYCbCr8 -->
+<g id="edge42" class="edge"><title>PixelRGB8->PixelYCbCr8</title>
+<path fill="none" stroke="black" d="M214.399,-434.415C177.053,-429.451 118.29,-419.109 105,-402 97.106,-391.837 104.874,-381.324 116.049,-372.736"/>
+<polygon fill="black" stroke="black" points="118.35,-375.401 124.612,-366.856 114.387,-369.631 118.35,-375.401"/>
+<text text-anchor="middle" x="127" y="-394.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
+</g>
+<!-- PixelRGB16 -->
+<g id="node2" class="node"><title>PixelRGB16</title>
+<ellipse fill="none" stroke="black" cx="429" cy="-102" rx="34.1425" ry="18"/>
+<text text-anchor="middle" x="429" y="-100.3" font-family="sans-serif" font-size="8.00">PixelRGB16</text>
+</g>
+<!-- PixelRGBA16 -->
+<g id="node4" class="node"><title>PixelRGBA16</title>
+<ellipse fill="none" stroke="black" cx="343" cy="-18" rx="37.1721" ry="18"/>
+<text text-anchor="middle" x="343" y="-16.3" font-family="sans-serif" font-size="8.00">PixelRGBA16</text>
+</g>
+<!-- PixelRGB16->PixelRGBA16 -->
+<g id="edge2" class="edge"><title>PixelRGB16->PixelRGBA16</title>
+<path fill="none" stroke="black" d="M400.098,-92.2134C386.67,-86.4097 371.409,-77.8363 361,-66 355.909,-60.2106 352.202,-52.8433 349.526,-45.6287"/>
+<polygon fill="black" stroke="black" points="352.846,-44.5187 346.482,-36.0479 346.174,-46.6383 352.846,-44.5187"/>
+<text text-anchor="middle" x="384" y="-58.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel16 -->
+<g id="node16" class="node"><title>Pixel16</title>
+<ellipse fill="none" stroke="black" cx="296" cy="-186" rx="27" ry="18"/>
+<text text-anchor="middle" x="296" y="-184.3" font-family="sans-serif" font-size="8.00">Pixel16</text>
+</g>
+<!-- PixelRGB16->Pixel16 -->
+<g id="edge58" class="edge"><title>PixelRGB16->Pixel16</title>
+<path fill="none" stroke="black" d="M424.573,-120.149C421.265,-130.199 415.765,-142.199 407,-150 386.436,-168.304 356.427,-177.32 332.795,-181.75"/>
+<polygon fill="black" stroke="black" points="332.056,-178.325 322.773,-183.431 333.214,-185.228 332.056,-178.325"/>
+<text text-anchor="middle" x="441" y="-142.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
+</g>
+<!-- PixelCMYK16 -->
+<g id="node26" class="node"><title>PixelCMYK16</title>
+<ellipse fill="none" stroke="black" cx="553" cy="-18" rx="37.1721" ry="18"/>
+<text text-anchor="middle" x="553" y="-16.3" font-family="sans-serif" font-size="8.00">PixelCMYK16</text>
+</g>
+<!-- PixelRGB16->PixelCMYK16 -->
+<g id="edge38" class="edge"><title>PixelRGB16->PixelCMYK16</title>
+<path fill="none" stroke="black" d="M451.832,-88.3606C462.615,-81.7841 475.593,-73.6731 487,-66 499.46,-57.6189 512.915,-47.9503 524.406,-39.4968"/>
+<polygon fill="black" stroke="black" points="526.807,-42.074 532.761,-33.3106 522.641,-36.4482 526.807,-42.074"/>
+<text text-anchor="middle" x="525" y="-58.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
+</g>
+<!-- PixelRGBA16->PixelRGB16 -->
+<g id="edge44" class="edge"><title>PixelRGBA16->PixelRGB16</title>
+<path fill="none" stroke="black" d="M371.789,-29.3863C383.871,-35.2918 397.329,-43.4955 407,-54 412.378,-59.8422 416.636,-67.2266 419.915,-74.4406"/>
+<polygon fill="black" stroke="black" points="416.794,-76.0584 423.794,-84.0115 423.282,-73.4291 416.794,-76.0584"/>
+<text text-anchor="middle" x="449" y="-58.3" font-family="sans-serif" font-size="8.00">dropTransparency</text>
+</g>
+<!-- PixelRGBA8->PixelRGB8 -->
+<g id="edge46" class="edge"><title>PixelRGBA8->PixelRGB8</title>
+<path fill="none" stroke="black" d="M437.029,-372.038C433.845,-382.309 428.318,-394.571 419,-402 399.083,-417.88 332.208,-428.306 287.678,-433.672"/>
+<polygon fill="black" stroke="black" points="287.239,-430.2 277.712,-434.834 288.05,-437.153 287.239,-430.2"/>
+<text text-anchor="middle" x="463" y="-394.3" font-family="sans-serif" font-size="8.00">dropTransparency</text>
+</g>
+<!-- PixelRGBA8->Pixel8 -->
+<g id="edge52" class="edge"><title>PixelRGBA8->Pixel8</title>
+<path fill="none" stroke="black" d="M413.829,-342.599C399.476,-336.131 381.815,-327.451 367,-318 354.878,-310.267 342.394,-300.428 332.048,-291.673"/>
+<polygon fill="black" stroke="black" points="334.114,-288.833 324.258,-284.946 329.539,-294.131 334.114,-288.833"/>
+<text text-anchor="middle" x="392" y="-310.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
+</g>
+<!-- PixelF -->
+<g id="node14" class="node"><title>PixelF</title>
+<ellipse fill="none" stroke="black" cx="106" cy="-186" rx="27" ry="18"/>
+<text text-anchor="middle" x="106" y="-184.3" font-family="sans-serif" font-size="8.00">PixelF</text>
+</g>
+<!-- PixelRGBF->PixelF -->
+<g id="edge56" class="edge"><title>PixelRGBF->PixelF</title>
+<path fill="none" stroke="black" d="M27.0137,-120.147C24.9943,-129.716 24.4635,-141.251 30,-150 38.9021,-164.067 54.9514,-172.745 70.015,-178.044"/>
+<polygon fill="black" stroke="black" points="69.0981,-181.424 79.6867,-181.06 71.1825,-174.741 69.0981,-181.424"/>
+<text text-anchor="middle" x="55" y="-142.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
+</g>
+<!-- PixelYA16 -->
+<g id="node9" class="node"><title>PixelYA16</title>
+<ellipse fill="none" stroke="black" cx="259" cy="-102" rx="31.7878" ry="18"/>
+<text text-anchor="middle" x="259" y="-100.3" font-family="sans-serif" font-size="8.00">PixelYA16</text>
+</g>
+<!-- PixelYA16->PixelRGBA16 -->
+<g id="edge8" class="edge"><title>PixelYA16->PixelRGBA16</title>
+<path fill="none" stroke="black" d="M258.152,-83.5434C258.613,-73.883 260.687,-62.36 267,-54 275.273,-43.0444 287.722,-35.28 300.163,-29.8405"/>
+<polygon fill="black" stroke="black" points="301.586,-33.0421 309.607,-26.1198 299.02,-26.5294 301.586,-33.0421"/>
+<text text-anchor="middle" x="290" y="-58.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- PixelYA16->Pixel16 -->
+<g id="edge48" class="edge"><title>PixelYA16->Pixel16</title>
+<path fill="none" stroke="black" d="M229.98,-109.854C206.015,-117.845 177.897,-131.656 191,-150 199.293,-161.611 233.125,-171.835 260.175,-178.391"/>
+<polygon fill="black" stroke="black" points="259.609,-181.853 270.143,-180.72 261.201,-175.037 259.609,-181.853"/>
+<text text-anchor="middle" x="225" y="-142.3" font-family="sans-serif" font-size="8.00">dropTransparency</text>
+</g>
+<!-- PixelYA8 -->
+<g id="node11" class="node"><title>PixelYA8</title>
+<ellipse fill="none" stroke="black" cx="439" cy="-186" rx="28.8445" ry="18"/>
+<text text-anchor="middle" x="439" y="-184.3" font-family="sans-serif" font-size="8.00">PixelYA8</text>
+</g>
+<!-- PixelYA8->PixelRGB8 -->
+<g id="edge12" class="edge"><title>PixelYA8->PixelRGB8</title>
+<path fill="none" stroke="black" d="M464.762,-194.278C489.627,-203.81 525.815,-222.121 542,-252 574.918,-312.769 554.613,-358.387 501,-402 484.752,-415.217 355.671,-428.373 287.639,-434.476"/>
+<polygon fill="black" stroke="black" points="287.321,-430.99 277.669,-435.359 287.938,-437.963 287.321,-430.99"/>
+<text text-anchor="middle" x="580" y="-310.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- PixelYA8->PixelRGBA8 -->
+<g id="edge10" class="edge"><title>PixelYA8->PixelRGBA8</title>
+<path fill="none" stroke="black" d="M460.035,-198.84C467.824,-204.817 475.781,-212.68 480,-222 497.598,-260.871 496.093,-278.904 479,-318 476.725,-323.204 473.295,-328.013 469.411,-332.309"/>
+<polygon fill="black" stroke="black" points="466.792,-329.975 462.079,-339.464 471.681,-334.985 466.792,-329.975"/>
+<text text-anchor="middle" x="515" y="-268.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- PixelYA8->Pixel8 -->
+<g id="edge50" class="edge"><title>PixelYA8->Pixel8</title>
+<path fill="none" stroke="black" d="M412.102,-193.018C393.267,-198.789 368.145,-208.269 349,-222 340.05,-228.419 331.808,-237.196 325.098,-245.49"/>
+<polygon fill="black" stroke="black" points="322.247,-243.456 318.929,-253.518 327.797,-247.721 322.247,-243.456"/>
+<text text-anchor="middle" x="383" y="-226.3" font-family="sans-serif" font-size="8.00">dropTransparency</text>
+</g>
+<!-- PixelYA8->Pixel8 -->
+<g id="edge62" class="edge"><title>PixelYA8->Pixel8</title>
+<path fill="none" stroke="black" d="M434.558,-204.131C431.244,-214.175 425.744,-226.175 417,-234 397.039,-251.864 367.99,-260.893 344.899,-265.441"/>
+<polygon fill="black" stroke="black" points="344.002,-262.045 334.763,-267.23 345.219,-268.938 344.002,-262.045"/>
+<text text-anchor="middle" x="451" y="-226.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
+</g>
+<!-- PixelF->PixelRGBF -->
+<g id="edge14" class="edge"><title>PixelF->PixelRGBF</title>
+<path fill="none" stroke="black" d="M100.45,-168.312C96.8232,-158.653 91.3784,-146.886 84,-138 78.5966,-131.492 71.7476,-125.606 64.8367,-120.568"/>
+<polygon fill="black" stroke="black" points="66.3898,-117.392 56.1539,-114.657 62.4504,-123.178 66.3898,-117.392"/>
+<text text-anchor="middle" x="115" y="-142.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel16->PixelRGB16 -->
+<g id="edge18" class="edge"><title>Pixel16->PixelRGB16</title>
+<path fill="none" stroke="black" d="M313.43,-172.019C326.239,-162.023 344.257,-148.532 361,-138 371.689,-131.277 383.756,-124.61 394.725,-118.875"/>
+<polygon fill="black" stroke="black" points="396.336,-121.982 403.628,-114.295 393.134,-115.757 396.336,-121.982"/>
+<text text-anchor="middle" x="384" y="-142.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel16->PixelRGBA16 -->
+<g id="edge16" class="edge"><title>Pixel16->PixelRGBA16</title>
+<path fill="none" stroke="black" d="M305.084,-168.741C307.903,-162.903 310.835,-156.272 313,-150 325.048,-115.091 333.609,-73.3023 338.424,-46.2333"/>
+<polygon fill="black" stroke="black" points="341.89,-46.732 340.143,-36.2822 334.992,-45.5405 341.89,-46.732"/>
+<text text-anchor="middle" x="353" y="-100.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel16->PixelYA16 -->
+<g id="edge20" class="edge"><title>Pixel16->PixelYA16</title>
+<path fill="none" stroke="black" d="M280.78,-170.7C275.635,-164.701 270.35,-157.469 267,-150 264.277,-143.93 262.473,-137.052 261.279,-130.438"/>
+<polygon fill="black" stroke="black" points="264.727,-129.827 259.862,-120.415 257.796,-130.807 264.727,-129.827"/>
+<text text-anchor="middle" x="290" y="-142.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel8->PixelRGB8 -->
+<g id="edge24" class="edge"><title>Pixel8->PixelRGB8</title>
+<path fill="none" stroke="black" d="M312.919,-288.095C319.136,-314.953 326.712,-366.057 306,-402 300.622,-411.332 291.773,-418.518 282.501,-423.926"/>
+<polygon fill="black" stroke="black" points="280.83,-420.85 273.581,-428.577 284.067,-427.057 280.83,-420.85"/>
+<text text-anchor="middle" x="342" y="-352.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel8->PixelRGBA8 -->
+<g id="edge22" class="edge"><title>Pixel8->PixelRGBA8</title>
+<path fill="none" stroke="black" d="M334.939,-272.185C360.073,-275.561 397.177,-284.15 421,-306 426.855,-311.37 431.048,-318.72 434.03,-326.054"/>
+<polygon fill="black" stroke="black" points="430.836,-327.531 437.387,-335.858 437.458,-325.263 430.836,-327.531"/>
+<text text-anchor="middle" x="452" y="-310.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel8->PixelYA8 -->
+<g id="edge26" class="edge"><title>Pixel8->PixelYA8</title>
+<path fill="none" stroke="black" d="M290.77,-255.865C280.734,-245.919 271.57,-232.553 280,-222 287.559,-212.538 356.092,-199.635 400.682,-192.122"/>
+<polygon fill="black" stroke="black" points="401.335,-195.562 410.626,-190.469 400.187,-188.657 401.335,-195.562"/>
+<text text-anchor="middle" x="303" y="-226.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel8->PixelF -->
+<g id="edge28" class="edge"><title>Pixel8->PixelF</title>
+<path fill="none" stroke="black" d="M281.145,-267.812C249.741,-264.331 196.969,-255.554 157,-234 145.577,-227.84 134.814,-218.473 126.146,-209.643"/>
+<polygon fill="black" stroke="black" points="128.492,-207.028 119.104,-202.117 123.381,-211.81 128.492,-207.028"/>
+<text text-anchor="middle" x="180" y="-226.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- Pixel8->Pixel16 -->
+<g id="edge30" class="edge"><title>Pixel8->Pixel16</title>
+<path fill="none" stroke="black" d="M282.206,-263.957C256.398,-257.327 219.359,-246.018 211,-234 196.025,-212.469 230.216,-199.429 259.604,-192.482"/>
+<polygon fill="black" stroke="black" points="260.687,-195.828 269.71,-190.275 259.193,-188.989 260.687,-195.828"/>
+<text text-anchor="middle" x="234" y="-226.3" font-family="sans-serif" font-size="8.00">promotePixel</text>
+</g>
+<!-- PixelCMYK16->PixelRGB16 -->
+<g id="edge32" class="edge"><title>PixelCMYK16->PixelRGB16</title>
+<path fill="none" stroke="black" d="M564.03,-35.4654C568.707,-45.2873 571.707,-57.2873 565,-66 553.678,-80.7091 507.858,-90.6423 472.496,-96.2857"/>
+<polygon fill="black" stroke="black" points="471.73,-92.862 462.373,-97.8319 472.787,-99.7817 471.73,-92.862"/>
+<text text-anchor="middle" x="590" y="-58.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
+</g>
+<!-- PixelCMYK8->PixelRGB8 -->
+<g id="edge34" class="edge"><title>PixelCMYK8->PixelRGB8</title>
+<path fill="none" stroke="black" d="M257.173,-372.299C258.645,-381.28 259.584,-392.241 258,-402 257.535,-404.865 256.875,-407.811 256.1,-410.724"/>
+<polygon fill="black" stroke="black" points="252.737,-409.753 253.143,-420.34 259.427,-411.811 252.737,-409.753"/>
+<text text-anchor="middle" x="280" y="-394.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
+</g>
+<!-- PixelYCbCr8->PixelRGB8 -->
+<g id="edge36" class="edge"><title>PixelYCbCr8->PixelRGB8</title>
+<path fill="none" stroke="black" d="M149.836,-372.162C150.645,-381.97 153.174,-393.727 160,-402 171.431,-415.854 189.112,-424.462 205.475,-429.768"/>
+<polygon fill="black" stroke="black" points="204.847,-433.23 215.426,-432.663 206.802,-426.509 204.847,-433.23"/>
+<text text-anchor="middle" x="182" y="-394.3" font-family="sans-serif" font-size="8.00">convertPixel</text>
+</g>
+<!-- PixelYCbCr8->Pixel8 -->
+<g id="edge54" class="edge"><title>PixelYCbCr8->Pixel8</title>
+<path fill="none" stroke="black" d="M174.688,-340.875C202.411,-326.136 247.432,-302.201 277.376,-286.281"/>
+<polygon fill="black" stroke="black" points="279.34,-289.201 286.527,-281.416 276.054,-283.02 279.34,-289.201"/>
+<text text-anchor="middle" x="263" y="-310.3" font-family="sans-serif" font-size="8.00">computeLuma</text>
+</g>
+</g>
+</svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JuicyPixels-3.3.6/src/Codec/Picture/ConvGraph.hs new/JuicyPixels-3.3.7/src/Codec/Picture/ConvGraph.hs
--- old/JuicyPixels-3.3.6/src/Codec/Picture/ConvGraph.hs 2021-10-13 14:11:12.000000000 +0200
+++ new/JuicyPixels-3.3.7/src/Codec/Picture/ConvGraph.hs 2016-09-04 14:18:57.000000000 +0200
@@ -1,10 +1,10 @@
--- $graph
---
--- The following graph describe the differents way to convert between pixel types,
---
--- * Nodes describe pixel type
---
--- * Arrows describe functions
---
--- <<docimages/pixelgraph.svg>>
---
+-- $graph
+--
+-- The following graph describe the differents way to convert between pixel types,
+--
+-- * Nodes describe pixel type
+--
+-- * Arrows describe functions
+--
+-- <<docimages/pixelgraph.svg>>
+--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JuicyPixels-3.3.6/src/Codec/Picture/InternalHelper.hs new/JuicyPixels-3.3.7/src/Codec/Picture/InternalHelper.hs
--- old/JuicyPixels-3.3.6/src/Codec/Picture/InternalHelper.hs 2021-10-13 14:11:12.000000000 +0200
+++ new/JuicyPixels-3.3.7/src/Codec/Picture/InternalHelper.hs 2016-09-04 14:18:57.000000000 +0200
@@ -1,51 +1,51 @@
-{-# LANGUAGE CPP #-}
-module Codec.Picture.InternalHelper ( runGet
- , runGetStrict
- , decode
- , getRemainingBytes
- , getRemainingLazyBytes ) where
-
-import qualified Data.ByteString as B
-import qualified Data.ByteString.Lazy as L
-import Data.Binary( Binary( get ) )
-import Data.Binary.Get( Get
- , getRemainingLazyByteString
- )
-import qualified Data.Binary.Get as G
-
-#if MIN_VERSION_binary(0,6,4)
-#else
-import Control.Applicative( (<$>) )
-import qualified Control.Exception as E
--- I feel so dirty. :(
-import System.IO.Unsafe( unsafePerformIO )
-#endif
-
-decode :: (Binary a) => B.ByteString -> Either String a
-decode = runGetStrict get
-
-runGet :: Get a -> L.ByteString -> Either String a
-#if MIN_VERSION_binary(0,6,4)
-runGet act = unpack . G.runGetOrFail act
- where unpack (Left (_, _, str)) = Left str
- unpack (Right (_, _, element)) = Right element
-#else
-runGet act str = unsafePerformIO $ E.catch
- (Right <$> E.evaluate (G.runGet act str))
- (\msg -> return . Left $ show (msg :: E.SomeException))
-#endif
-
-runGetStrict :: Get a -> B.ByteString -> Either String a
-runGetStrict act buffer = runGet act $ L.fromChunks [buffer]
-
-getRemainingBytes :: Get B.ByteString
-getRemainingBytes = do
- rest <- getRemainingLazyByteString
- return $ case L.toChunks rest of
- [] -> B.empty
- [a] -> a
- lst -> B.concat lst
-
-getRemainingLazyBytes :: Get L.ByteString
-getRemainingLazyBytes = getRemainingLazyByteString
-
+{-# LANGUAGE CPP #-}
+module Codec.Picture.InternalHelper ( runGet
+ , runGetStrict
+ , decode
+ , getRemainingBytes
+ , getRemainingLazyBytes ) where
+
+import qualified Data.ByteString as B
+import qualified Data.ByteString.Lazy as L
+import Data.Binary( Binary( get ) )
+import Data.Binary.Get( Get
+ , getRemainingLazyByteString
+ )
+import qualified Data.Binary.Get as G
+
+#if MIN_VERSION_binary(0,6,4)
+#else
+import Control.Applicative( (<$>) )
+import qualified Control.Exception as E
+-- I feel so dirty. :(
+import System.IO.Unsafe( unsafePerformIO )
+#endif
+
+decode :: (Binary a) => B.ByteString -> Either String a
+decode = runGetStrict get
+
+runGet :: Get a -> L.ByteString -> Either String a
+#if MIN_VERSION_binary(0,6,4)
+runGet act = unpack . G.runGetOrFail act
+ where unpack (Left (_, _, str)) = Left str
+ unpack (Right (_, _, element)) = Right element
+#else
+runGet act str = unsafePerformIO $ E.catch
+ (Right <$> E.evaluate (G.runGet act str))
+ (\msg -> return . Left $ show (msg :: E.SomeException))
+#endif
+
+runGetStrict :: Get a -> B.ByteString -> Either String a
+runGetStrict act buffer = runGet act $ L.fromChunks [buffer]
+
+getRemainingBytes :: Get B.ByteString
+getRemainingBytes = do
+ rest <- getRemainingLazyByteString
+ return $ case L.toChunks rest of
+ [] -> B.empty
+ [a] -> a
+ lst -> B.concat lst
+
+getRemainingLazyBytes :: Get L.ByteString
+getRemainingLazyBytes = getRemainingLazyByteString
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/JuicyPixels-3.3.6/src/Codec/Picture/Jpg.hs new/JuicyPixels-3.3.7/src/Codec/Picture/Jpg.hs
--- old/JuicyPixels-3.3.6/src/Codec/Picture/Jpg.hs 2021-10-13 14:13:27.000000000 +0200
+++ new/JuicyPixels-3.3.7/src/Codec/Picture/Jpg.hs 2022-03-09 23:41:25.000000000 +0100
@@ -422,8 +422,15 @@
forM_ lst $ \(params, str) -> do
let componentsInfo = V.fromList params
compReader = initBoolStateJpg . B.concat $ L.toChunks str
- maxiW = maximum [fst $ subSampling c | (c,_) <- params]
- maxiH = maximum [snd $ subSampling c | (c,_) <- params]
+ maxiSubSampW = maximum [fst $ subSampling c | (c,_) <- params]
+ maxiSubSampH = maximum [snd $ subSampling c | (c,_) <- params]
+
+ (maxiW, maxiH) =
+ if length params > 1 then
+ (maximum [componentWidth c | (c,_) <- params],
+ maximum [componentHeight c | (c,_) <- params])
+ else
+ (maxiSubSampW, maxiSubSampH)
imageBlockWidth = toBlockSize imgWidth
imageBlockHeight = toBlockSize imgHeight
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Sphinx for openSUSE:Factory checked in at 2022-08-01 21:28:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Sphinx (Old)
and /work/SRC/openSUSE:Factory/.python-Sphinx.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Sphinx"
Mon Aug 1 21:28:14 2022 rev:89 rq:991380 version:5.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Sphinx/python-Sphinx.changes 2022-07-26 19:42:12.180400808 +0200
+++ /work/SRC/openSUSE:Factory/.python-Sphinx.new.1533/python-Sphinx.changes 2022-08-01 21:28:21.733305870 +0200
@@ -1,0 +2,8 @@
+Wed Jul 27 06:58:04 UTC 2022 - Martin Li��ka <mliska(a)suse.cz>
+
+- Update to version 5.1.1
+* #10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean``
+ iterator implementation.
+* #10702: Restore compatability with third-party builders.
+
+-------------------------------------------------------------------
Old:
----
Sphinx-5.1.0.tar.gz
Sphinx-5.1.0.tar.gz.asc
New:
----
Sphinx-5.1.1.tar.gz
Sphinx-5.1.1.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Sphinx.spec ++++++
--- /var/tmp/diff_new_pack.Fr4iA5/_old 2022-08-01 21:28:22.257307373 +0200
+++ /var/tmp/diff_new_pack.Fr4iA5/_new 2022-08-01 21:28:22.261307385 +0200
@@ -27,7 +27,7 @@
%endif
%define skip_python2 1
Name: python-Sphinx%{psuffix}
-Version: 5.1.0
+Version: 5.1.1
Release: 0
Summary: Python documentation generator
License: BSD-2-Clause
++++++ Sphinx-5.1.0.tar.gz -> Sphinx-5.1.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-Sphinx/Sphinx-5.1.0.tar.gz /work/SRC/openSUSE:Factory/.python-Sphinx.new.1533/Sphinx-5.1.1.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package skelcd-control-openSUSE for openSUSE:Factory checked in at 2022-08-01 21:28:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skelcd-control-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.skelcd-control-openSUSE.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skelcd-control-openSUSE"
Mon Aug 1 21:28:14 2022 rev:229 rq:991361 version:20220726
Changes:
--------
--- /work/SRC/openSUSE:Factory/skelcd-control-openSUSE/skelcd-control-openSUSE-promo.changes 2022-01-22 08:18:11.606900002 +0100
+++ /work/SRC/openSUSE:Factory/.skelcd-control-openSUSE.new.1533/skelcd-control-openSUSE-promo.changes 2022-08-01 21:28:20.477302266 +0200
@@ -1,0 +2,8 @@
+Tue Jul 26 14:27:02 UTC 2022 - Ladislav Slez��k <lslezak(a)suse.cz>
+
+- Added "kdump" dependency, yast2-kdump only has a runtime
+ depenency but the package is also needed in the inst-sys
+ (related to bsc#1199840)
+- 20220726
+
+-------------------------------------------------------------------
skelcd-control-openSUSE.changes: same change
Old:
----
skelcd-control-openSUSE-20220119.tar.bz2
New:
----
skelcd-control-openSUSE-20220726.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skelcd-control-openSUSE-promo.spec ++++++
--- /var/tmp/diff_new_pack.KeC2NG/_old 2022-08-01 21:28:21.277304562 +0200
+++ /var/tmp/diff_new_pack.KeC2NG/_new 2022-08-01 21:28:21.281304573 +0200
@@ -22,12 +22,12 @@
# in build service directly, use
# https://github.com/yast/skelcd-control-openSUSE repository
#
-# See https://github.com/yast/skelcd-control-openSUSE/blob/master/CONTRIBUTING.md
+# See https://github.com/yast/.github/blob/master/CONTRIBUTING.md
# for more details.
#
######################################################################
Name: skelcd-control-openSUSE-promo
-Version: 20220119
+Version: 20220726
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
@@ -59,6 +59,8 @@
Requires: yast2-installation >= 3.1.201
Requires: yast2-iscsi-client
Requires: yast2-kdump
+# yast2-kdump has only runtime dependency but the package is also needed in the inst-sys
+Requires: kdump
Requires: yast2-multipath
Requires: yast2-network >= 3.1.24
Requires: yast2-nfs-client
++++++ skelcd-control-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.KeC2NG/_old 2022-08-01 21:28:21.321304688 +0200
+++ /var/tmp/diff_new_pack.KeC2NG/_new 2022-08-01 21:28:21.325304700 +0200
@@ -22,12 +22,12 @@
# in build service directly, use
# https://github.com/yast/skelcd-control-openSUSE repository
#
-# See https://github.com/yast/skelcd-control-openSUSE/blob/master/CONTRIBUTING.md
+# See https://github.com/yast/.github/blob/master/CONTRIBUTING.md
# for more details.
#
######################################################################
Name: skelcd-control-openSUSE
-Version: 20220119
+Version: 20220726
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
@@ -59,6 +59,8 @@
Requires: yast2-installation >= 3.1.201
Requires: yast2-iscsi-client
Requires: yast2-kdump
+# yast2-kdump has only runtime dependency but the package is also needed in the inst-sys
+Requires: kdump
Requires: yast2-multipath
Requires: yast2-network >= 3.1.24
Requires: yast2-nfs-client
++++++ skelcd-control-openSUSE-20220119.tar.bz2 -> skelcd-control-openSUSE-20220726.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-control-openSUSE-20220119/package/skelcd-control-openSUSE.changes new/skelcd-control-openSUSE-20220726/package/skelcd-control-openSUSE.changes
--- old/skelcd-control-openSUSE-20220119/package/skelcd-control-openSUSE.changes 2022-01-20 10:48:17.000000000 +0100
+++ new/skelcd-control-openSUSE-20220726/package/skelcd-control-openSUSE.changes 2022-07-27 10:00:39.000000000 +0200
@@ -1,4 +1,12 @@
-------------------------------------------------------------------
+Tue Jul 26 14:27:02 UTC 2022 - Ladislav Slez��k <lslezak(a)suse.cz>
+
+- Added "kdump" dependency, yast2-kdump only has a runtime
+ depenency but the package is also needed in the inst-sys
+ (related to bsc#1199840)
+- 20220726
+
+-------------------------------------------------------------------
Wed Jan 19 12:48:38 UTC 2022 - Ludwig Nussel <lnussel(a)suse.de>
- Use NetworkManager always (boo#1172684)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-control-openSUSE-20220119/package/skelcd-control-openSUSE.spec new/skelcd-control-openSUSE-20220726/package/skelcd-control-openSUSE.spec
--- old/skelcd-control-openSUSE-20220119/package/skelcd-control-openSUSE.spec 2022-01-20 10:48:17.000000000 +0100
+++ new/skelcd-control-openSUSE-20220726/package/skelcd-control-openSUSE.spec 2022-07-27 10:00:39.000000000 +0200
@@ -22,12 +22,12 @@
# in build service directly, use
# https://github.com/yast/skelcd-control-openSUSE repository
#
-# See https://github.com/yast/skelcd-control-openSUSE/blob/master/CONTRIBUTING.md
+# See https://github.com/yast/.github/blob/master/CONTRIBUTING.md
# for more details.
#
######################################################################
Name: skelcd-control-openSUSE
-Version: 20220119
+Version: 20220726
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
@@ -59,6 +59,8 @@
Requires: yast2-installation >= 3.1.201
Requires: yast2-iscsi-client
Requires: yast2-kdump
+# yast2-kdump has only runtime dependency but the package is also needed in the inst-sys
+Requires: kdump
Requires: yast2-multipath
Requires: yast2-network >= 3.1.24
Requires: yast2-nfs-client
1
0