openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
December 2015
- 1 participants
- 1093 discussions
Hello community,
here is the log from the commit of package ghc-http-client for openSUSE:Factory checked in at 2015-12-29 12:59:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-http-client (Old)
and /work/SRC/openSUSE:Factory/.ghc-http-client.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-http-client"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-http-client/ghc-http-client.changes 2015-12-23 08:50:13.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-http-client.new/ghc-http-client.changes 2015-12-29 12:59:57.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Dec 24 09:31:02 UTC 2015 - mimi.vx(a)gmail.com
+
+- update to 0.4.26.2
+* Fix compilation for GHC 7.4
+
+-------------------------------------------------------------------
Old:
----
http-client-0.4.26.1.tar.gz
New:
----
http-client-0.4.26.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-http-client.spec ++++++
--- /var/tmp/diff_new_pack.YO3Z6F/_old 2015-12-29 12:59:58.000000000 +0100
+++ /var/tmp/diff_new_pack.YO3Z6F/_new 2015-12-29 12:59:58.000000000 +0100
@@ -21,7 +21,7 @@
%bcond_with tests
Name: ghc-http-client
-Version: 0.4.26.1
+Version: 0.4.26.2
Release: 0
Summary: HTTP client engine, intended as a base layer
License: MIT
++++++ http-client-0.4.26.1.tar.gz -> http-client-0.4.26.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.26.1/ChangeLog.md new/http-client-0.4.26.2/ChangeLog.md
--- old/http-client-0.4.26.1/ChangeLog.md 2015-12-15 06:31:42.000000000 +0100
+++ new/http-client-0.4.26.2/ChangeLog.md 2015-12-22 18:46:34.000000000 +0100
@@ -1,3 +1,7 @@
+## 0.4.26.2
+
+* Fix compilation for GHC 7.4
+
## 0.4.26.1
* Fix compilation for GHC < 7.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.26.1/Network/HTTP/Client/Core.hs new/http-client-0.4.26.2/Network/HTTP/Client/Core.hs
--- old/http-client-0.4.26.1/Network/HTTP/Client/Core.hs 2015-12-15 06:31:42.000000000 +0100
+++ new/http-client-0.4.26.2/Network/HTTP/Client/Core.hs 2015-12-22 18:46:34.000000000 +0100
@@ -12,6 +12,9 @@
, httpRedirect
) where
+#if !MIN_VERSION_base(4,6,0)
+import Prelude hiding (catch)
+#endif
import Network.HTTP.Types
import Network.HTTP.Client.Manager
import Network.HTTP.Client.Types
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/http-client-0.4.26.1/http-client.cabal new/http-client-0.4.26.2/http-client.cabal
--- old/http-client-0.4.26.1/http-client.cabal 2015-12-15 06:31:42.000000000 +0100
+++ new/http-client-0.4.26.2/http-client.cabal 2015-12-22 18:46:34.000000000 +0100
@@ -1,5 +1,5 @@
name: http-client
-version: 0.4.26.1
+version: 0.4.26.2
synopsis: An HTTP client engine, intended as a base layer for more user-friendly packages.
description: Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/http-client>.
homepage: https://github.com/snoyberg/http-client
1
0
Hello community,
here is the log from the commit of package ghc-persistent-template for openSUSE:Factory checked in at 2015-12-29 12:59:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-persistent-template (Old)
and /work/SRC/openSUSE:Factory/.ghc-persistent-template.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-persistent-template"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-persistent-template/ghc-persistent-template.changes 2015-11-26 17:03:01.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-persistent-template.new/ghc-persistent-template.changes 2015-12-29 12:59:56.000000000 +0100
@@ -1,0 +2,5 @@
+Sun Dec 27 11:55:12 UTC 2015 - mimi.vx(a)gmail.com
+
+- update to 2.1.5
+
+-------------------------------------------------------------------
Old:
----
persistent-template-2.1.4.tar.gz
New:
----
persistent-template-2.1.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-persistent-template.spec ++++++
--- /var/tmp/diff_new_pack.tqEZ6g/_old 2015-12-29 12:59:57.000000000 +0100
+++ /var/tmp/diff_new_pack.tqEZ6g/_new 2015-12-29 12:59:57.000000000 +0100
@@ -20,7 +20,7 @@
%bcond_with tests
Name: ghc-persistent-template
-Version: 2.1.4
+Version: 2.1.5
Release: 0
Summary: Type-safe, non-relational, multi-backend persistence
Group: System/Libraries
@@ -34,6 +34,7 @@
BuildRequires: ghc-rpm-macros
# Begin cabal-rpm deps:
BuildRequires: ghc-aeson-devel
+BuildRequires: ghc-aeson-compat-devel
BuildRequires: ghc-aeson-extra-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-containers-devel
++++++ persistent-template-2.1.4.tar.gz -> persistent-template-2.1.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/persistent-template-2.1.4/ChangeLog.md new/persistent-template-2.1.5/ChangeLog.md
--- old/persistent-template-2.1.4/ChangeLog.md 2015-10-19 15:57:06.000000000 +0200
+++ new/persistent-template-2.1.5/ChangeLog.md 2015-10-27 20:10:26.000000000 +0100
@@ -1,7 +1,3 @@
-## 2.1.4
-
-support http-api-data for url serialization
-
## 2.1.3.3
By default explicitly use Int64 for foreign key references.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/persistent-template-2.1.4/README.md new/persistent-template-2.1.5/README.md
--- old/persistent-template-2.1.4/README.md 2015-07-13 00:53:14.000000000 +0200
+++ new/persistent-template-2.1.5/README.md 2015-10-28 22:20:33.000000000 +0100
@@ -2,3 +2,10 @@
Provides Template Haskell helpers for persistent. For more information, see
[the chapter in the Yesod book](http://www.yesodweb.com/book/persistent).
+
+### code organization
+
+The TH.hs module contains code generators.
+persistent-template uses `EntityDef`s that it gets from the quasi-quoter.
+The quasi-quoter is in persistent Quasi.hs
+Similarly mant of the types come from the persistent library
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/persistent-template-2.1.4/persistent-template.cabal new/persistent-template-2.1.5/persistent-template.cabal
--- old/persistent-template-2.1.4/persistent-template.cabal 2015-10-19 15:57:08.000000000 +0200
+++ new/persistent-template-2.1.5/persistent-template.cabal 2015-12-26 22:52:22.000000000 +0100
@@ -1,5 +1,5 @@
name: persistent-template
-version: 2.1.4
+version: 2.1.5
license: MIT
license-file: LICENSE
author: Michael Snoyman <michael(a)snoyman.com>
@@ -17,14 +17,14 @@
library
build-depends: base >= 4.6 && < 5
, template-haskell
- , persistent >= 2.1.3 && < 3
+ , persistent >= 2.2.2 && < 3
, monad-control >= 0.2 && < 1.1
, bytestring >= 0.9
, text >= 0.5
, transformers >= 0.2 && < 0.5
, containers
, aeson >= 0.7 && < 0.11
- , aeson-extra >= 0.2.1.0 && < 0.3
+ , aeson-compat >= 0.3.0.0 && < 0.4
, monad-logger
, unordered-containers
, tagged
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/persistent-template-2.1.4/test/main.hs new/persistent-template-2.1.5/test/main.hs
--- old/persistent-template-2.1.4/test/main.hs 2015-07-13 00:53:14.000000000 +0200
+++ new/persistent-template-2.1.5/test/main.hs 2015-11-10 16:38:19.000000000 +0100
@@ -53,12 +53,6 @@
bin Int
|]
--- ensure no-json works
-instance ToJSON NoJson where
- toJSON = undefined
-instance FromJSON NoJson where
- parseJSON = undefined
-
arbitraryT = pack <$> arbitrary
instance Arbitrary Person where
1
0
Hello community,
here is the log from the commit of package ghc-text for openSUSE:Factory checked in at 2015-12-29 12:59:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-text (Old)
and /work/SRC/openSUSE:Factory/.ghc-text.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-text"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-text/ghc-text.changes 2015-08-23 17:39:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-text.new/ghc-text.changes 2015-12-29 12:59:55.000000000 +0100
@@ -1,0 +2,13 @@
+Thu Dec 24 08:18:58 UTC 2015 - mimi.vx(a)gmail.com
+
+- update to 1.2.2.0
+* The integer-simple package, upon which this package optionally depended, has been
+ replaced with integer-pure. The build flag has been renamed accordingly.
+* Bug fix: For the Binary instance, If UTF-8 decoding fails during a get, the error
+ is propagated via fail instead of an uncatchable crash.
+* New function: takeWhileEnd
+* New instances for the Text types:
+ + if base >= 4.7: PrintfArg
+ + if base >= 4.9: Semigroup
+
+-------------------------------------------------------------------
Old:
----
text-1.2.1.3.tar.gz
New:
----
text-1.2.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-text.spec ++++++
--- /var/tmp/diff_new_pack.31YVj7/_old 2015-12-29 12:59:56.000000000 +0100
+++ /var/tmp/diff_new_pack.31YVj7/_new 2015-12-29 12:59:56.000000000 +0100
@@ -17,12 +17,11 @@
%global pkg_name text
-%global cabal_configure_options -f -integer-simple
%bcond_with tests
Name: ghc-text
-Version: 1.2.1.3
+Version: 1.2.2.0
Release: 0
Summary: An efficient packed Unicode text type
License: BSD-2-Clause
++++++ text-1.2.1.3.tar.gz -> text-1.2.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Encoding/Error.hs new/text-1.2.2.0/Data/Text/Encoding/Error.hs
--- old/text-1.2.1.3/Data/Text/Encoding/Error.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Encoding/Error.hs 2015-12-22 21:38:36.000000000 +0100
@@ -1,5 +1,7 @@
{-# LANGUAGE CPP, DeriveDataTypeable #-}
-#if __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
+{-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
{-# LANGUAGE Trustworthy #-}
#endif
-- |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Internal/Builder/Functions.hs new/text-1.2.2.0/Data/Text/Internal/Builder/Functions.hs
--- old/text-1.2.1.3/Data/Text/Internal/Builder/Functions.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Internal/Builder/Functions.hs 2015-12-22 21:38:36.000000000 +0100
@@ -23,7 +23,8 @@
import Data.Monoid (mappend)
import Data.Text.Lazy.Builder (Builder)
-import GHC.Base
+import GHC.Base (chr#,ord#,(+#),Int(I#),Char(C#))
+import Prelude ()
-- | Unsafe conversion for decimal digits.
{-# INLINE i2d #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Internal/Builder.hs new/text-1.2.2.0/Data/Text/Internal/Builder.hs
--- old/text-1.2.1.3/Data/Text/Internal/Builder.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Internal/Builder.hs 2015-12-22 21:38:36.000000000 +0100
@@ -59,6 +59,9 @@
import Control.Monad.ST (ST, runST)
import Data.Monoid (Monoid(..))
+#if MIN_VERSION_base(4,9,0)
+import Data.Semigroup (Semigroup(..))
+#endif
import Data.Text.Internal (Text(..))
import Data.Text.Internal.Lazy (smallChunkSize)
import Data.Text.Unsafe (inlineInterleaveST)
@@ -89,12 +92,22 @@
-> ST s [S.Text]
}
+#if MIN_VERSION_base(4,9,0)
+instance Semigroup Builder where
+ (<>) = append
+ {-# INLINE (<>) #-}
+#endif
+
instance Monoid Builder where
mempty = empty
{-# INLINE mempty #-}
+#if MIN_VERSION_base(4,9,0)
+ mappend = (<>) -- future-proof definition
+#else
mappend = append
+#endif
{-# INLINE mappend #-}
- mconcat = foldr mappend mempty
+ mconcat = foldr mappend Data.Monoid.mempty
{-# INLINE mconcat #-}
instance String.IsString Builder where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Internal/Fusion/Common.hs new/text-1.2.2.0/Data/Text/Internal/Fusion/Common.hs
--- old/text-1.2.1.3/Data/Text/Internal/Fusion/Common.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Internal/Fusion/Common.hs 2015-12-22 21:38:36.000000000 +0100
@@ -593,7 +593,7 @@
{-# INLINE [0] concatMap #-}
-- | /O(n)/ any @p @xs determines if any character in the stream
--- @xs@ satisifes the predicate @p@.
+-- @xs@ satisfies the predicate @p@.
any :: (Char -> Bool) -> Stream Char -> Bool
any p (Stream next0 s0 _len) = loop_any s0
where
@@ -605,7 +605,7 @@
{-# INLINE [0] any #-}
-- | /O(n)/ all @p @xs determines if all characters in the 'Text'
--- @xs@ satisify the predicate @p@.
+-- @xs@ satisfy the predicate @p@.
all :: (Char -> Bool) -> Stream Char -> Bool
all p (Stream next0 s0 _len) = loop_all s0
where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Internal/Read.hs new/text-1.2.2.0/Data/Text/Internal/Read.hs
--- old/text-1.2.1.3/Data/Text/Internal/Read.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Internal/Read.hs 2015-12-22 21:38:36.000000000 +0100
@@ -7,7 +7,7 @@
-- Stability : experimental
-- Portability : GHC
--
--- Common internal functiopns for reading textual data.
+-- Common internal functions for reading textual data.
module Data.Text.Internal.Read
(
IReader
@@ -18,7 +18,7 @@
, perhaps
) where
-import Control.Applicative (Applicative(..))
+import Control.Applicative as App (Applicative(..))
import Control.Arrow (first)
import Control.Monad (ap)
import Data.Char (ord)
@@ -38,7 +38,7 @@
(<*>) = ap
instance Monad (IParser t) where
- return = pure
+ return = App.pure
m >>= k = P $ \t -> case runP m t of
Left err -> Left err
Right (a,t') -> runP (k a) t'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Lazy/Builder/Int.hs new/text-1.2.2.0/Data/Text/Lazy/Builder/Int.hs
--- old/text-1.2.1.3/Data/Text/Lazy/Builder/Int.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Lazy/Builder/Int.hs 2015-12-22 21:38:36.000000000 +0100
@@ -35,15 +35,15 @@
#ifdef __GLASGOW_HASKELL__
# if defined(INTEGER_GMP)
-import GHC.Integer.GMP.Internals
-# elif defined(INTEGER_SIMPLE)
+import GHC.Integer.GMP.Internals (Integer(S#))
+# elif defined(INTEGER_PURE)
import GHC.Integer
# else
-# error "You need to use either GMP or integer-simple."
+# error "You need to use either GMP or integer-pure."
# endif
#endif
-#if defined(INTEGER_GMP) || defined(INTEGER_SIMPLE)
+#if defined(INTEGER_GMP) || defined(INTEGER_PURE)
# define PAIR(a,b) (# a,b #)
#else
# define PAIR(a,b) (a,b)
@@ -55,7 +55,7 @@
{-# RULES "decimal/Int16" decimal = boundedDecimal :: Int16 -> Builder #-}
{-# RULES "decimal/Int32" decimal = boundedDecimal :: Int32 -> Builder #-}
{-# RULES "decimal/Int64" decimal = boundedDecimal :: Int64 -> Builder #-}
-{-# RULES "decimal/Word" decimal = positive :: Word -> Builder #-}
+{-# RULES "decimal/Word" decimal = positive :: Data.Word.Word -> Builder #-}
{-# RULES "decimal/Word8" decimal = positive :: Word8 -> Builder #-}
{-# RULES "decimal/Word16" decimal = positive :: Word16 -> Builder #-}
{-# RULES "decimal/Word32" decimal = positive :: Word32 -> Builder #-}
@@ -247,7 +247,7 @@
PAIR(x,y) -> pblock q <> pblock r <> putB ns
where q = fromInteger x
r = fromInteger y
- putB _ = mempty
+ putB _ = Data.Monoid.mempty
int :: Int -> Builder
int x | base == 10 = decimal x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Lazy/Encoding.hs new/text-1.2.2.0/Data/Text/Lazy/Encoding.hs
--- old/text-1.2.1.3/Data/Text/Lazy/Encoding.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Lazy/Encoding.hs 2015-12-22 21:38:36.000000000 +0100
@@ -62,7 +62,7 @@
import qualified Data.ByteString.Unsafe as B
#if MIN_VERSION_bytestring(0,10,4)
import Data.Word (Word8)
-import Data.Monoid (mappend, mempty)
+import Data.Monoid (Monoid(..))
import qualified Data.ByteString.Builder as B
import qualified Data.ByteString.Builder.Extra as B (safeStrategy, toLazyByteStringWith)
import qualified Data.ByteString.Builder.Prim as BP
@@ -161,7 +161,7 @@
encodeUtf8Builder :: Text -> B.Builder
encodeUtf8Builder =
- foldrChunks (\c b -> TE.encodeUtf8Builder c `mappend` b) mempty
+ foldrChunks (\c b -> TE.encodeUtf8Builder c `mappend` b) Data.Monoid.mempty
{-# INLINE encodeUtf8BuilderEscaped #-}
encodeUtf8BuilderEscaped :: BP.BoundedPrim Word8 -> Text -> B.Builder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Lazy/Read.hs new/text-1.2.2.0/Data/Text/Lazy/Read.hs
--- old/text-1.2.1.3/Data/Text/Lazy/Read.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Lazy/Read.hs 2015-12-22 21:38:36.000000000 +0100
@@ -1,5 +1,7 @@
{-# LANGUAGE OverloadedStrings, CPP #-}
-#if __GLASGOW_HASKELL__ >= 702
+#if __GLASGOW_HASKELL__ >= 704
+{-# LANGUAGE Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
{-# LANGUAGE Trustworthy #-}
#endif
@@ -54,7 +56,7 @@
{-# SPECIALIZE decimal :: Reader Int32 #-}
{-# SPECIALIZE decimal :: Reader Int64 #-}
{-# SPECIALIZE decimal :: Reader Integer #-}
-{-# SPECIALIZE decimal :: Reader Word #-}
+{-# SPECIALIZE decimal :: Reader Data.Word.Word #-}
{-# SPECIALIZE decimal :: Reader Word8 #-}
{-# SPECIALIZE decimal :: Reader Word16 #-}
{-# SPECIALIZE decimal :: Reader Word32 #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Lazy.hs new/text-1.2.2.0/Data/Text/Lazy.hs
--- old/text-1.2.1.3/Data/Text/Lazy.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Lazy.hs 2015-12-22 21:38:36.000000000 +0100
@@ -140,6 +140,7 @@
, drop
, dropEnd
, takeWhile
+ , takeWhileEnd
, dropWhile
, dropWhileEnd
, dropAround
@@ -214,6 +215,9 @@
Constr, mkConstr, DataType, mkDataType, Fixity(Prefix))
import Data.Binary (Binary(get, put))
import Data.Monoid (Monoid(..))
+#if MIN_VERSION_base(4,9,0)
+import Data.Semigroup (Semigroup(..))
+#endif
import Data.String (IsString(..))
import qualified Data.Text as T
import qualified Data.Text.Internal as T
@@ -225,7 +229,7 @@
import Data.Text.Internal.Lazy (Text(..), chunk, empty, foldlChunks,
foldrChunks, smallChunkSize)
import Data.Text.Internal (firstf, safe, text)
-import Data.Text.Lazy.Encoding (decodeUtf8, encodeUtf8)
+import Data.Text.Lazy.Encoding (decodeUtf8', encodeUtf8)
import qualified Data.Text.Internal.Functions as F
import Data.Text.Internal.Lazy.Search (indices)
#if __GLASGOW_HASKELL__ >= 702
@@ -237,6 +241,9 @@
import qualified GHC.Exts as Exts
#endif
import GHC.Prim (Addr#)
+#if MIN_VERSION_base(4,7,0)
+import Text.Printf (PrintfArg, formatArg, formatString)
+#endif
-- $fusion
--
@@ -334,9 +341,21 @@
instance Read Text where
readsPrec p str = [(pack x,y) | (x,y) <- readsPrec p str]
+#if MIN_VERSION_base(4,9,0)
+-- Semigroup orphan instances for older GHCs are provided by
+-- 'semigroups` package
+
+instance Semigroup Text where
+ (<>) = append
+#endif
+
instance Monoid Text where
mempty = empty
+#if MIN_VERSION_base(4,9,0)
+ mappend = (<>) -- future-proof definition
+#else
mappend = append
+#endif
mconcat = concat
instance IsString Text where
@@ -357,7 +376,11 @@
instance Binary Text where
put t = put (encodeUtf8 t)
- get = P.fmap decodeUtf8 get
+ get = do
+ bs <- get
+ case decodeUtf8' bs of
+ P.Left exn -> P.fail (P.show exn)
+ P.Right a -> P.return a
-- | This instance preserves data abstraction at the cost of inefficiency.
-- We omit reflection services for the sake of data abstraction.
@@ -372,6 +395,12 @@
_ -> error "Data.Text.Lazy.Text.gunfold"
dataTypeOf _ = textDataType
+#if MIN_VERSION_base(4,7,0)
+-- | Only defined for @base-4.7.0.0@ and later
+instance PrintfArg Text where
+ formatArg txt = formatString $ unpack txt
+#endif
+
packConstr :: Constr
packConstr = mkConstr textDataType "pack" [] Prefix
@@ -852,13 +881,13 @@
{-# INLINE concatMap #-}
-- | /O(n)/ 'any' @p@ @t@ determines whether any character in the
--- 'Text' @t@ satisifes the predicate @p@. Subject to fusion.
+-- 'Text' @t@ satisfies the predicate @p@. Subject to fusion.
any :: (Char -> Bool) -> Text -> Bool
any p t = S.any p (stream t)
{-# INLINE any #-}
-- | /O(n)/ 'all' @p@ @t@ determines whether all characters in the
--- 'Text' @t@ satisify the predicate @p@. Subject to fusion.
+-- 'Text' @t@ satisfy the predicate @p@. Subject to fusion.
all :: (Char -> Bool) -> Text -> Bool
all p t = S.all p (stream t)
{-# INLINE all #-}
@@ -1115,6 +1144,20 @@
"LAZY TEXT takeWhile -> unfused" [1] forall p t.
unstream (S.takeWhile p (stream t)) = takeWhile p t
#-}
+-- | /O(n)/ 'takeWhileEnd', applied to a predicate @p@ and a 'Text',
+-- returns the longest suffix (possibly empty) of elements that
+-- satisfy @p@.
+-- Examples:
+--
+-- > takeWhileEnd (=='o') "foo" == "oo"
+takeWhileEnd :: (Char -> Bool) -> Text -> Text
+takeWhileEnd p = takeChunk empty . L.reverse . toChunks
+ where takeChunk acc [] = acc
+ takeChunk acc (t:ts) = if T.length t' < T.length t
+ then (Chunk t' acc)
+ else takeChunk (Chunk t' acc) ts
+ where t' = T.takeWhileEnd p t
+{-# INLINE takeWhileEnd #-}
-- | /O(n)/ 'dropWhile' @p@ @t@ returns the suffix remaining after
-- 'takeWhile' @p@ @t@. Subject to fusion.
@@ -1133,9 +1176,11 @@
"LAZY TEXT dropWhile -> unfused" [1] forall p t.
unstream (S.dropWhile p (stream t)) = dropWhile p t
#-}
+
-- | /O(n)/ 'dropWhileEnd' @p@ @t@ returns the prefix remaining after
--- dropping characters that fail the predicate @p@ from the end of
+-- dropping characters that satisfy the predicate @p@ from the end of
-- @t@.
+--
-- Examples:
--
-- > dropWhileEnd (=='.') "foo..." == "foo"
@@ -1152,7 +1197,7 @@
{-# INLINE dropWhileEnd #-}
-- | /O(n)/ 'dropAround' @p@ @t@ returns the substring remaining after
--- dropping characters that fail the predicate @p@ from both the
+-- dropping characters that satisfy the predicate @p@ from both the
-- beginning and end of @t@. Subject to fusion.
dropAround :: (Char -> Bool) -> Text -> Text
dropAround p = dropWhile p . dropWhileEnd p
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text/Read.hs new/text-1.2.2.0/Data/Text/Read.hs
--- old/text-1.2.1.3/Data/Text/Read.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text/Read.hs 2015-12-22 21:38:36.000000000 +0100
@@ -55,7 +55,7 @@
{-# SPECIALIZE decimal :: Reader Int32 #-}
{-# SPECIALIZE decimal :: Reader Int64 #-}
{-# SPECIALIZE decimal :: Reader Integer #-}
-{-# SPECIALIZE decimal :: Reader Word #-}
+{-# SPECIALIZE decimal :: Reader Data.Word.Word #-}
{-# SPECIALIZE decimal :: Reader Word8 #-}
{-# SPECIALIZE decimal :: Reader Word16 #-}
{-# SPECIALIZE decimal :: Reader Word32 #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/Data/Text.hs new/text-1.2.2.0/Data/Text.hs
--- old/text-1.2.1.3/Data/Text.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/Data/Text.hs 2015-12-22 21:38:36.000000000 +0100
@@ -129,6 +129,7 @@
, drop
, dropEnd
, takeWhile
+ , takeWhileEnd
, dropWhile
, dropWhileEnd
, dropAround
@@ -214,10 +215,13 @@
import qualified Data.List as L
import Data.Binary (Binary(get, put))
import Data.Monoid (Monoid(..))
+#if MIN_VERSION_base(4,9,0)
+import Data.Semigroup (Semigroup(..))
+#endif
import Data.String (IsString(..))
import qualified Data.Text.Internal.Fusion as S
import qualified Data.Text.Internal.Fusion.Common as S
-import Data.Text.Encoding (decodeUtf8, encodeUtf8)
+import Data.Text.Encoding (decodeUtf8', encodeUtf8)
import Data.Text.Internal.Fusion (stream, reverseStream, unstream)
import Data.Text.Internal.Private (span_)
import Data.Text.Internal (Text(..), empty, firstf, mul, safe, text)
@@ -237,6 +241,9 @@
#if __GLASGOW_HASKELL__ >= 708
import qualified GHC.Exts as Exts
#endif
+#if MIN_VERSION_base(4,7,0)
+import Text.Printf (PrintfArg, formatArg, formatString)
+#endif
-- $strict
--
@@ -325,9 +332,21 @@
instance Read Text where
readsPrec p str = [(pack x,y) | (x,y) <- readsPrec p str]
+#if MIN_VERSION_base(4,9,0)
+-- Semigroup orphan instances for older GHCs are provided by
+-- 'semigroups` package
+
+instance Semigroup Text where
+ (<>) = append
+#endif
+
instance Monoid Text where
mempty = empty
+#if MIN_VERSION_base(4,9,0)
+ mappend = (<>) -- future-proof definition
+#else
mappend = append
+#endif
mconcat = concat
instance IsString Text where
@@ -346,7 +365,11 @@
instance Binary Text where
put t = put (encodeUtf8 t)
- get = P.fmap decodeUtf8 get
+ get = do
+ bs <- get
+ case decodeUtf8' bs of
+ P.Left exn -> P.fail (P.show exn)
+ P.Right a -> P.return a
-- | This instance preserves data abstraction at the cost of inefficiency.
-- We omit reflection services for the sake of data abstraction.
@@ -371,6 +394,12 @@
_ -> P.error "gunfold"
dataTypeOf _ = textDataType
+#if MIN_VERSION_base(4,7,0)
+-- | Only defined for @base-4.7.0.0@ and later
+instance PrintfArg Text where
+ formatArg txt = formatString $ unpack txt
+#endif
+
packConstr :: Constr
packConstr = mkConstr textDataType "pack" [] Prefix
@@ -456,8 +485,8 @@
uncons :: Text -> Maybe (Char, Text)
uncons t@(Text arr off len)
| len <= 0 = Nothing
- | otherwise = Just (c, text arr (off+d) (len-d))
- where Iter c d = iter t 0
+ | otherwise = Just $ let !(Iter c d) = iter t 0
+ in (c, text arr (off+d) (len-d))
{-# INLINE [1] uncons #-}
-- | Lifted from Control.Arrow and specialized.
@@ -883,13 +912,13 @@
{-# INLINE concatMap #-}
-- | /O(n)/ 'any' @p@ @t@ determines whether any character in the
--- 'Text' @t@ satisifes the predicate @p@. Subject to fusion.
+-- 'Text' @t@ satisfies the predicate @p@. Subject to fusion.
any :: (Char -> Bool) -> Text -> Bool
any p t = S.any p (stream t)
{-# INLINE any #-}
-- | /O(n)/ 'all' @p@ @t@ determines whether all characters in the
--- 'Text' @t@ satisify the predicate @p@. Subject to fusion.
+-- 'Text' @t@ satisfy the predicate @p@. Subject to fusion.
all :: (Char -> Bool) -> Text -> Bool
all p t = S.all p (stream t)
{-# INLINE all #-}
@@ -1120,6 +1149,27 @@
unstream (S.takeWhile p (stream t)) = takeWhile p t
#-}
+-- | /O(n)/ 'takeWhileEnd', applied to a predicate @p@ and a 'Text',
+-- returns the longest suffix (possibly empty) of elements that
+-- satisfy @p@. Subject to fusion.
+-- Examples:
+--
+-- > takeWhileEnd (=='o') "foo" == "oo"
+takeWhileEnd :: (Char -> Bool) -> Text -> Text
+takeWhileEnd p t@(Text arr off len) = loop (len-1) len
+ where loop !i !l | l <= 0 = t
+ | p c = loop (i+d) (l+d)
+ | otherwise = text arr (off+l) (len-l)
+ where (c,d) = reverseIter t i
+{-# INLINE [1] takeWhileEnd #-}
+
+{-# RULES
+"TEXT takeWhileEnd -> fused" [~1] forall p t.
+ takeWhileEnd p t = S.reverse (S.takeWhile p (S.reverseStream t))
+"TEXT takeWhileEnd -> unfused" [1] forall p t.
+ S.reverse (S.takeWhile p (S.reverseStream t)) = takeWhileEnd p t
+ #-}
+
-- | /O(n)/ 'dropWhile' @p@ @t@ returns the suffix remaining after
-- 'takeWhile' @p@ @t@. Subject to fusion.
dropWhile :: (Char -> Bool) -> Text -> Text
@@ -1138,8 +1188,9 @@
#-}
-- | /O(n)/ 'dropWhileEnd' @p@ @t@ returns the prefix remaining after
--- dropping characters that fail the predicate @p@ from the end of
+-- dropping characters that satisfy the predicate @p@ from the end of
-- @t@. Subject to fusion.
+--
-- Examples:
--
-- > dropWhileEnd (=='.') "foo..." == "foo"
@@ -1159,7 +1210,7 @@
#-}
-- | /O(n)/ 'dropAround' @p@ @t@ returns the substring remaining after
--- dropping characters that fail the predicate @p@ from both the
+-- dropping characters that satisfy the predicate @p@ from both the
-- beginning and end of @t@. Subject to fusion.
dropAround :: (Char -> Bool) -> Text -> Text
dropAround p = dropWhile p . dropWhileEnd p
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/benchmarks/haskell/Benchmarks/Pure.hs new/text-1.2.2.0/benchmarks/haskell/Benchmarks/Pure.hs
--- old/text-1.2.1.3/benchmarks/haskell/Benchmarks/Pure.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/benchmarks/haskell/Benchmarks/Pure.hs 2015-12-22 21:38:36.000000000 +0100
@@ -262,6 +262,13 @@
, benchBSL $ nf (BL.map toUpper) bla
, benchS $ nf (L.map toUpper) sa
]
+ , bgroup "uncons"
+ [ benchT $ nf T.uncons ta
+ , benchTL $ nf TL.uncons tla
+ , benchBS $ nf BS.uncons bsa
+ , benchBSL $ nf BL.uncons bla
+ , benchS $ nf L.uncons sa
+ ]
, bgroup "words"
[ benchT $ nf T.words ta
, benchTL $ nf TL.words tla
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/benchmarks/haskell/Benchmarks/ReadNumbers.hs new/text-1.2.2.0/benchmarks/haskell/Benchmarks/ReadNumbers.hs
--- old/text-1.2.1.3/benchmarks/haskell/Benchmarks/ReadNumbers.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/benchmarks/haskell/Benchmarks/ReadNumbers.hs 2015-12-22 21:38:36.000000000 +0100
@@ -25,8 +25,7 @@
import Numeric (readDec, readFloat, readHex)
import qualified Data.ByteString.Char8 as B
import qualified Data.ByteString.Lazy.Char8 as BL
-import qualified Data.ByteString.Lex.Double as B
-import qualified Data.ByteString.Lex.Lazy.Double as BL
+import qualified Data.ByteString.Lex.Fractional as B
import qualified Data.Text as T
import qualified Data.Text.IO as T
import qualified Data.Text.Lazy as TL
@@ -63,12 +62,10 @@
whnf (double . text TL.rational) tl
, bench "DecimalByteString" $ whnf (int . byteString B.readInt) b
- , bench "DoubleByteString" $ whnf (double . byteString B.readDouble) b
+ , bench "DoubleByteString" $ whnf (double . byteString B.readDecimal) b
, bench "DecimalLazyByteString" $
whnf (int . byteString BL.readInt) bl
- , bench "DoubleLazyByteString" $
- whnf (double . byteString BL.readDouble) bl
]
where
-- Used for fixing types
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/benchmarks/text-benchmarks.cabal new/text-1.2.2.0/benchmarks/text-benchmarks.cabal
--- old/text-1.2.1.3/benchmarks/text-benchmarks.cabal 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/benchmarks/text-benchmarks.cabal 2015-12-22 21:38:36.000000000 +0100
@@ -34,7 +34,7 @@
binary,
blaze-builder,
bytestring,
- bytestring-lexing,
+ bytestring-lexing >= 0.5.0,
containers,
criterion >= 0.10.0.0,
deepseq,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/changelog.md new/text-1.2.2.0/changelog.md
--- old/text-1.2.1.3/changelog.md 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/changelog.md 2015-12-22 21:38:36.000000000 +0100
@@ -1,6 +1,22 @@
+1.2.2.0
+
+* The `integer-simple` package, upon which this package optionally
+ depended, has been replaced with `integer-pure`. The build flag has
+ been renamed accordingly.
+
+* Bug fix: For the `Binary` instance, If UTF-8 decoding fails during a
+ `get`, the error is propagated via `fail` instead of an uncatchable
+ crash.
+
+* New function: `takeWhileEnd`
+
+* New instances for the `Text` types:
+ * if `base` >= 4.7: `PrintfArg`
+ * if `base` >= 4.9: `Semigroup`
+
1.2.1.3
-* Bug fix: As it turns out, moving the literal rewrite rules to simplifier
+* Bug fix: As it turns out, moving the literal rewrite rules to simplifier
phase 2 does not prevent competition with the `unpack` rule, which is
also active in this phase. Unfortunately this was hidden due to a silly
test environment mistake. Moving literal rules back to phase 1 finally
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/tests/Tests/Properties.hs new/text-1.2.2.0/tests/Tests/Properties.hs
--- old/text-1.2.1.3/tests/Tests/Properties.hs 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/tests/Tests/Properties.hs 2015-12-22 21:38:36.000000000 +0100
@@ -516,6 +516,10 @@
(unpackS . S.takeWhile p . S.filter q)
t_takeWhile p = L.takeWhile p `eqP` (unpackS . T.takeWhile p)
tl_takeWhile p = L.takeWhile p `eqP` (unpackS . TL.takeWhile p)
+t_takeWhileEnd p = (L.reverse . L.takeWhile p . L.reverse) `eqP`
+ (unpackS . T.takeWhileEnd p)
+tl_takeWhileEnd p = (L.reverse . L.takeWhile p . L.reverse) `eqP`
+ (unpackS . TL.takeWhileEnd p)
s_dropWhile p = L.dropWhile p `eqP` (unpackS . S.dropWhile p)
s_dropWhile_s p = L.dropWhile p `eqP` (unpackS . S.unstream . S.dropWhile p)
sf_dropWhile q p = (L.dropWhile p . L.filter q) `eqP`
@@ -1142,6 +1146,8 @@
testProperty "sf_takeWhile" sf_takeWhile,
testProperty "t_takeWhile" t_takeWhile,
testProperty "tl_takeWhile" tl_takeWhile,
+ testProperty "t_takeWhileEnd" t_takeWhileEnd,
+ testProperty "tl_takeWhileEnd" tl_takeWhileEnd,
testProperty "sf_dropWhile" sf_dropWhile,
testProperty "s_dropWhile" s_dropWhile,
testProperty "s_dropWhile_s" s_dropWhile_s,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/text-1.2.1.3/text.cabal new/text-1.2.2.0/text.cabal
--- old/text-1.2.1.3/text.cabal 2015-07-30 13:25:03.000000000 +0200
+++ new/text-1.2.2.0/text.cabal 2015-12-22 21:38:36.000000000 +0100
@@ -1,5 +1,5 @@
name: text
-version: 1.2.1.3
+version: 1.2.2.0
homepage: https://github.com/bos/text
bug-reports: https://github.com/bos/text/issues
synopsis: An efficient packed Unicode text type.
@@ -69,8 +69,10 @@
default: False
manual: True
-flag integer-simple
- description: Use the simple integer library instead of GMP
+flag integer-pure
+ description: Use the pure-Haskell integer library instead of GMP
+ default: False
+ manual: True
library
c-sources: cbits/cbits.c
@@ -143,9 +145,9 @@
ghc-options: -Werror
cpp-options: -DASSERTS
- if flag(integer-simple)
- cpp-options: -DINTEGER_SIMPLE
- build-depends: integer-simple >= 0.1 && < 0.5
+ if flag(integer-pure)
+ cpp-options: -DINTEGER_PURE
+ build-depends: integer-pure >= 1.0
else
cpp-options: -DINTEGER_GMP
build-depends: integer-gmp >= 0.2
@@ -179,9 +181,9 @@
test-framework-hunit >= 0.2,
test-framework-quickcheck2 >= 0.2
- if flag(integer-simple)
- cpp-options: -DINTEGER_SIMPLE
- build-depends: integer-simple >= 0.1 && < 0.5
+ if flag(integer-pure)
+ cpp-options: -DINTEGER_PURE
+ build-depends: integer-pure >= 0.1 && < 0.5
else
cpp-options: -DINTEGER_GMP
build-depends: integer-gmp >= 0.2
1
0
Hello community,
here is the log from the commit of package ghc-wreq for openSUSE:Factory checked in at 2015-12-29 12:59:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-wreq (Old)
and /work/SRC/openSUSE:Factory/.ghc-wreq.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-wreq"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-wreq/ghc-wreq.changes 2015-11-10 10:02:45.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-wreq.new/ghc-wreq.changes 2015-12-29 12:59:54.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Dec 24 09:37:08 UTC 2015 - mimi.vx(a)gmail.com
+
+- update to 0.4.1.0
+
+-------------------------------------------------------------------
Old:
----
wreq-0.4.0.0.tar.gz
New:
----
wreq-0.4.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-wreq.spec ++++++
--- /var/tmp/diff_new_pack.UtYLks/_old 2015-12-29 12:59:55.000000000 +0100
+++ /var/tmp/diff_new_pack.UtYLks/_new 2015-12-29 12:59:55.000000000 +0100
@@ -20,7 +20,7 @@
%bcond_with tests
Name: ghc-wreq
-Version: 0.4.0.0
+Version: 0.4.1.0
Release: 0
Summary: An easy-to-use HTTP client library
Group: System/Libraries
@@ -35,6 +35,7 @@
# Begin cabal-rpm deps:
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-attoparsec-devel
+BuildRequires: ghc-authenticate-oauth-devel
BuildRequires: ghc-base16-bytestring-devel
BuildRequires: ghc-byteable-devel
BuildRequires: ghc-bytestring-devel
@@ -49,11 +50,11 @@
BuildRequires: ghc-lens-aeson-devel
BuildRequires: ghc-lens-devel
BuildRequires: ghc-mime-types-devel
-BuildRequires: ghc-old-locale-devel
BuildRequires: ghc-psqueues-devel
BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-time-devel
+BuildRequires: ghc-time-locale-compat-devel
BuildRequires: ghc-unordered-containers-devel
%if %{with tests}
BuildRequires: ghc-HUnit-devel
++++++ wreq-0.4.0.0.tar.gz -> wreq-0.4.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wreq-0.4.0.0/Network/Wreq/Cache.hs new/wreq-0.4.1.0/Network/Wreq/Cache.hs
--- old/wreq-0.4.0.0/Network/Wreq/Cache.hs 2015-05-10 21:13:20.000000000 +0200
+++ new/wreq-0.4.1.0/Network/Wreq/Cache.hs 2015-12-22 22:56:49.000000000 +0100
@@ -23,6 +23,7 @@
import Data.Monoid (First(..), mconcat)
import Data.Time.Clock (UTCTime, addUTCTime, getCurrentTime)
import Data.Time.Format (parseTime)
+import Data.Time.Locale.Compat (defaultTimeLocale)
import Data.Typeable (Typeable)
import GHC.Generics (Generic)
import Network.HTTP.Types (HeaderName, Method)
@@ -34,12 +35,6 @@
import qualified Data.IntSet as IntSet
import qualified Network.Wreq.Cache.Store as Store
-#if MIN_VERSION_time(1,5,0)
-import Data.Time.Format (defaultTimeLocale)
-#else
-import System.Locale (defaultTimeLocale)
-#endif
-
#if MIN_VERSION_base(4,6,0)
import Data.IORef (atomicModifyIORef')
#else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wreq-0.4.0.0/Network/Wreq/Internal/AWS.hs new/wreq-0.4.1.0/Network/Wreq/Internal/AWS.hs
--- old/wreq-0.4.0.0/Network/Wreq/Internal/AWS.hs 2015-05-10 21:13:20.000000000 +0200
+++ new/wreq-0.4.1.0/Network/Wreq/Internal/AWS.hs 2015-12-22 22:56:49.000000000 +0100
@@ -1,4 +1,4 @@
-{-# LANGUAGE CPP, OverloadedStrings, BangPatterns #-}
+{-# LANGUAGE OverloadedStrings, BangPatterns #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Network.Wreq.Internal.AWS
@@ -16,6 +16,7 @@
import Data.Monoid ((<>))
import Data.Time.Clock (getCurrentTime)
import Data.Time.Format (formatTime)
+import Data.Time.Locale.Compat (defaultTimeLocale)
import Data.Time.LocalTime (utc, utcToLocalTime)
import Network.HTTP.Types (parseSimpleQuery, urlEncode)
import Network.Wreq.Internal.Lens
@@ -27,12 +28,6 @@
import qualified Data.HashSet as HashSet
import qualified Network.HTTP.Client as HTTP
-#if MIN_VERSION_time(1,5,0)
-import Data.Time.Format (defaultTimeLocale)
-#else
-import System.Locale (defaultTimeLocale)
-#endif
-
-- Sign requests following the AWS v4 request signing specification:
-- http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request…
--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wreq-0.4.0.0/Network/Wreq/Internal/OAuth1.hs new/wreq-0.4.1.0/Network/Wreq/Internal/OAuth1.hs
--- old/wreq-0.4.0.0/Network/Wreq/Internal/OAuth1.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/wreq-0.4.1.0/Network/Wreq/Internal/OAuth1.hs 2015-12-22 22:56:49.000000000 +0100
@@ -0,0 +1,12 @@
+module Network.Wreq.Internal.OAuth1 (signRequest) where
+
+import Network.HTTP.Client (Request(..))
+import Web.Authenticate.OAuth ( signOAuth, newOAuth, oauthConsumerKey
+ , oauthConsumerSecret, newCredential)
+import qualified Data.ByteString as S
+
+signRequest :: S.ByteString -> S.ByteString -> S.ByteString -> S.ByteString -> Request -> IO Request
+signRequest consumerToken consumerSecret token tokenSecret = signOAuth app creds
+ where
+ app = newOAuth { oauthConsumerKey = consumerToken, oauthConsumerSecret = consumerSecret }
+ creds = newCredential token tokenSecret
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wreq-0.4.0.0/Network/Wreq/Internal/Types.hs new/wreq-0.4.1.0/Network/Wreq/Internal/Types.hs
--- old/wreq-0.4.0.0/Network/Wreq/Internal/Types.hs 2015-05-10 21:13:20.000000000 +0200
+++ new/wreq-0.4.1.0/Network/Wreq/Internal/Types.hs 2015-12-22 22:56:49.000000000 +0100
@@ -183,6 +183,9 @@
| AWSAuth AWSAuthVersion S.ByteString S.ByteString
-- ^ Amazon Web Services request signing
-- AWSAuthVersion key secret
+ | OAuth1 S.ByteString S.ByteString S.ByteString S.ByteString
+ -- ^ OAuth1 request signing
+ -- OAuth1 consumerToken consumerSecret token secret
deriving (Eq, Show, Typeable)
data AWSAuthVersion = AWSv4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wreq-0.4.0.0/Network/Wreq/Internal.hs new/wreq-0.4.1.0/Network/Wreq/Internal.hs
--- old/wreq-0.4.0.0/Network/Wreq/Internal.hs 2015-05-10 21:13:20.000000000 +0200
+++ new/wreq-0.4.1.0/Network/Wreq/Internal.hs 2015-12-22 22:56:49.000000000 +0100
@@ -18,6 +18,7 @@
, preparePut
, prepareDelete
, prepareMethod
+ , preparePayloadMethod
) where
import Control.Applicative ((<$>))
@@ -40,6 +41,7 @@
import qualified Network.HTTP.Types as HTTP
import qualified Network.Wreq.Internal.Lens as Lens
import qualified Network.Wreq.Internal.AWS as AWS (signRequest)
+import qualified Network.Wreq.Internal.OAuth1 as OAuth1 (signRequest)
import qualified Network.Wreq.Lens as Lens hiding (checkStatus)
-- This mess allows this module to continue to load during interactive
@@ -117,8 +119,10 @@
signRequest = maybe return f $ auth opts
where
f (AWSAuth versn key secret) = AWS.signRequest versn key secret
+ f (OAuth1 consumerToken consumerSecret token secret) = OAuth1.signRequest consumerToken consumerSecret token secret
f _ = return
+
setQuery :: Options -> Request -> Request
setQuery opts =
case params opts of
@@ -136,6 +140,7 @@
f (OAuth2Token token) = setHeader "Authorization" ("token " <> token)
-- for AWS request signature, see Internal/AWS
f (AWSAuth _ _ _) = id
+ f (OAuth1 _ _ _ _) = id
setProxy :: Options -> Request -> Request
setProxy = maybe id f . proxy
@@ -159,6 +164,12 @@
prepareMethod method opts url = Req (manager opts) <$>
prepare (return . (Lens.method .~ method)) opts url
+preparePayloadMethod :: Postable a => HTTP.Method -> Options -> String -> a
+ -> IO Req
+
+preparePayloadMethod method opts url payload = Req (manager opts) <$>
+ prepare (postPayload payload . (Lens.method .~ method)) opts url
+
prepareHead :: Options -> String -> IO Req
prepareHead = prepareMethod HTTP.methodHead
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wreq-0.4.0.0/Network/Wreq.hs new/wreq-0.4.1.0/Network/Wreq.hs
--- old/wreq-0.4.0.0/Network/Wreq.hs 2015-05-10 21:13:20.000000000 +0200
+++ new/wreq-0.4.1.0/Network/Wreq.hs 2015-12-22 22:56:49.000000000 +0100
@@ -63,6 +63,9 @@
-- ** Custom Method
, customMethod
, customMethodWith
+ -- ** Custom Payload Method
+ , customPayloadMethod
+ , customPayloadMethodWith
-- * Incremental consumption of responses
-- ** GET
, foldGet
@@ -87,6 +90,7 @@
, AWSAuthVersion(..)
, Lens.auth
, basicAuth
+ , oauth1Auth
, oauth2Bearer
, oauth2Token
, awsAuth
@@ -216,8 +220,8 @@
-- @
--
-- >>> r <- post "http://httpbin.org/post" (toJSON [1,2,3])
--- >>> r ^? responseBody . key "json"
--- Just (Array (fromList [Number 1.0,Number 2.0,Number 3.0]))
+-- >>> r ^? responseBody . key "json" . nth 2
+-- Just (Number 3.0)
post :: Postable a => String -> a -> IO (Response L.ByteString)
post url payload = postWith defaults url payload
@@ -359,6 +363,22 @@
where
methodBS = BC8.pack method
+-- | Issue a custom-method request with a payload
+customPayloadMethod :: Postable a => String -> String -> a
+ -> IO (Response L.ByteString)
+
+customPayloadMethod method url payload =
+ customPayloadMethodWith method defaults url payload
+
+-- | Issue a custom-method request with a payload, using the supplied 'Options'.
+customPayloadMethodWith :: Postable a => String -> Options -> String -> a
+ -> IO (Response L.ByteString)
+
+customPayloadMethodWith method opts url payload =
+ runRead =<< preparePayloadMethod methodBS opts url payload
+ where
+ methodBS = BC8.pack method
+
foldGet :: (a -> S.ByteString -> IO a) -> a -> String -> IO a
foldGet f z url = foldGetWith defaults f z url
@@ -460,6 +480,16 @@
-> Auth
basicAuth = BasicAuth
+-- | OAuth1 authentication. This consists of a consumer token,
+-- a consumer secret, a token and a token secret
+oauth1Auth :: S.ByteString -- ^ Consumer token
+ -> S.ByteString -- ^ Consumer secret
+ -> S.ByteString -- ^ OAuth token
+ -> S.ByteString -- ^ OAuth token secret
+ -> Auth
+oauth1Auth = OAuth1
+
+
-- | An OAuth2 bearer token. This is treated by many services as the
-- equivalent of a username and password.
--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wreq-0.4.0.0/wreq.cabal new/wreq-0.4.1.0/wreq.cabal
--- old/wreq-0.4.0.0/wreq.cabal 2015-05-10 21:13:20.000000000 +0200
+++ new/wreq-0.4.1.0/wreq.cabal 2015-12-22 22:56:49.000000000 +0100
@@ -1,5 +1,5 @@
name: wreq
-version: 0.4.0.0
+version: 0.4.1.0
synopsis: An easy-to-use HTTP client library.
description:
.
@@ -72,6 +72,8 @@
library
ghc-options: -Wall -fwarn-tabs -funbox-strict-fields
+ if flag(developer)
+ ghc-options: -Werror
default-language: Haskell98
exposed-modules:
@@ -86,6 +88,7 @@
Network.Wreq.Internal.AWS
Network.Wreq.Internal.Lens
Network.Wreq.Internal.Link
+ Network.Wreq.Internal.OAuth1
Network.Wreq.Internal.Types
Network.Wreq.Lens.Machinery
Network.Wreq.Lens.TH
@@ -94,6 +97,7 @@
psqueues >= 0.2,
aeson >= 0.7.0.3,
attoparsec >= 0.11.1.0,
+ authenticate-oauth == 1.5.*,
base >= 4.5 && < 5,
base16-bytestring,
byteable,
@@ -110,7 +114,7 @@
lens >= 4.5,
lens-aeson,
mime-types,
- old-locale,
+ time-locale-compat,
template-haskell,
text,
time,
@@ -120,6 +124,8 @@
executable httpbin
hs-source-dirs: httpbin
ghc-options: -Wall -fwarn-tabs -threaded -rtsopts
+ if flag(developer)
+ ghc-options: -Werror
default-language: Haskell98
main-is: HttpBin.hs
other-modules: HttpBin.Server
@@ -148,6 +154,8 @@
hs-source-dirs: httpbin tests
main-is: Tests.hs
ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -threaded -rtsopts
+ if flag(developer)
+ ghc-options: -Werror
default-language: Haskell98
other-modules:
Properties.Store
@@ -201,6 +209,8 @@
hs-source-dirs: tests
main-is: DocTests.hs
ghc-options: -Wall -fwarn-tabs -threaded
+ if flag(developer)
+ ghc-options: -Werror
default-language: Haskell98
if !flag(doctest)
1
0
Hello community,
here is the log from the commit of package ghc-xml-conduit for openSUSE:Factory checked in at 2015-12-29 12:59:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-xml-conduit (Old)
and /work/SRC/openSUSE:Factory/.ghc-xml-conduit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-xml-conduit"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-xml-conduit/ghc-xml-conduit.changes 2015-10-06 13:27:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-xml-conduit.new/ghc-xml-conduit.changes 2015-12-29 12:59:53.000000000 +0100
@@ -1,0 +2,7 @@
+Tue Dec 22 09:14:52 UTC 2015 - mimi.vx(a)gmail.com
+
+- update to 1.3.3
+* New render setting to control when to use CDATA
+* Escaping CDATA closing tag in CDATA
+
+-------------------------------------------------------------------
Old:
----
xml-conduit-1.3.2.tar.gz
New:
----
xml-conduit-1.3.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-xml-conduit.spec ++++++
--- /var/tmp/diff_new_pack.V93fQU/_old 2015-12-29 12:59:54.000000000 +0100
+++ /var/tmp/diff_new_pack.V93fQU/_new 2015-12-29 12:59:54.000000000 +0100
@@ -21,7 +21,7 @@
%bcond_with tests
Name: ghc-xml-conduit
-Version: 1.3.2
+Version: 1.3.3
Release: 0
Summary: Pure-Haskell utilities for dealing with XML with the conduit package
License: BSD-2-Clause
++++++ xml-conduit-1.3.2.tar.gz -> xml-conduit-1.3.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xml-conduit-1.3.2/ChangeLog.md new/xml-conduit-1.3.3/ChangeLog.md
--- old/xml-conduit-1.3.2/ChangeLog.md 2015-10-02 08:55:36.000000000 +0200
+++ new/xml-conduit-1.3.3/ChangeLog.md 2015-12-21 12:33:46.000000000 +0100
@@ -1,3 +1,8 @@
+## 1.3.3
+
+* New render setting to control when to use CDATA [#68](https://github.com/snoyberg/xml/pull/68)
+* Escaping CDATA closing tag in CDATA [#69](https://github.com/snoyberg/xml/pull/69)
+
## 1.3.2
* Support for iso-8859-1 [#63](https://github.com/snoyberg/xml/issues/63)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xml-conduit-1.3.2/Text/XML/Stream/Render.hs new/xml-conduit-1.3.3/Text/XML/Stream/Render.hs
--- old/xml-conduit-1.3.2/Text/XML/Stream/Render.hs 2015-10-02 08:55:36.000000000 +0200
+++ new/xml-conduit-1.3.3/Text/XML/Stream/Render.hs 2015-12-21 12:33:46.000000000 +0100
@@ -15,6 +15,7 @@
, rsPretty
, rsNamespaces
, rsAttrOrder
+ , rsUseCDATA
, orderAttrs
-- * Event rendering
, tag
@@ -72,6 +73,13 @@
, rsAttrOrder :: Name -> Map.Map Name Text -> [(Name, Text)]
-- ^ Specify how to turn the unordered attributes used by the "Text.XML"
-- module into an ordered list.
+ , rsUseCDATA :: Content -> Bool
+ -- ^ Determines if for a given text content the renderer should use a
+ -- CDATA node.
+ --
+ -- Default: @False@
+ --
+ -- @since 1.3.3
}
instance Default RenderSettings where
@@ -79,6 +87,7 @@
{ rsPretty = False
, rsNamespaces = []
, rsAttrOrder = const Map.toList
+ , rsUseCDATA = const False
}
-- | Convenience function to create an ordering function suitable for
@@ -106,11 +115,11 @@
-- the blaze-builder package, and allow the create of optimally sized
-- 'ByteString's with minimal buffer copying.
renderBuilder :: Monad m => RenderSettings -> Conduit Event m Builder
-renderBuilder RenderSettings { rsPretty = True, rsNamespaces = n } = prettify =$= renderBuilder' n True
-renderBuilder RenderSettings { rsPretty = False, rsNamespaces = n } = renderBuilder' n False
+renderBuilder RenderSettings { rsPretty = True, rsNamespaces = n, rsUseCDATA = useCDATA } = prettify =$= renderBuilder' n True useCDATA
+renderBuilder RenderSettings { rsPretty = False, rsNamespaces = n, rsUseCDATA = useCDATA } = renderBuilder' n False useCDATA
-renderBuilder' :: Monad m => [(Text, Text)] -> Bool -> Conduit Event m Builder
-renderBuilder' namespaces0 isPretty = do
+renderBuilder' :: Monad m => [(Text, Text)] -> Bool -> (Content -> Bool) -> Conduit Event m Builder
+renderBuilder' namespaces0 isPretty useCDATA = do
loop []
where
loop nslevels = await >>= maybe (return ()) (go nslevels)
@@ -129,29 +138,34 @@
yield token
loop nslevels'
_ -> do
- let (token, nslevels') = eventToToken nslevels e
+ let (token, nslevels') = eventToToken nslevels useCDATA e
yield token
loop nslevels'
-eventToToken :: Stack -> Event -> (Builder, [NSLevel])
-eventToToken s EventBeginDocument =
+eventToToken :: Stack -> (Content -> Bool) -> Event -> (Builder, [NSLevel])
+eventToToken s _ EventBeginDocument =
(tokenToBuilder $ TokenBeginDocument
[ ("version", [ContentText "1.0"])
, ("encoding", [ContentText "UTF-8"])
]
, s)
-eventToToken s EventEndDocument = (mempty, s)
-eventToToken s (EventInstruction i) = (tokenToBuilder $ TokenInstruction i, s)
-eventToToken s (EventBeginDoctype n meid) = (tokenToBuilder $ TokenDoctype n meid [], s)
-eventToToken s EventEndDoctype = (mempty, s)
-eventToToken s (EventCDATA t) = (tokenToBuilder $ TokenCDATA t, s)
-eventToToken s (EventEndElement name) =
+eventToToken s _ EventEndDocument = (mempty, s)
+eventToToken s _ (EventInstruction i) = (tokenToBuilder $ TokenInstruction i, s)
+eventToToken s _ (EventBeginDoctype n meid) = (tokenToBuilder $ TokenDoctype n meid [], s)
+eventToToken s _ EventEndDoctype = (mempty, s)
+eventToToken s _ (EventCDATA t) = (tokenToBuilder $ TokenCDATA t, s)
+eventToToken s _ (EventEndElement name) =
(tokenToBuilder $ TokenEndElement $ nameToTName sl name, s')
where
(sl:s') = s
-eventToToken s (EventContent c) = (tokenToBuilder $ TokenContent c, s)
-eventToToken s (EventComment t) = (tokenToBuilder $ TokenComment t, s)
-eventToToken _ EventBeginElement{} = error "eventToToken on EventBeginElement" -- mkBeginToken False s name attrs
+eventToToken s useCDATA (EventContent c)
+ | useCDATA c =
+ case c of
+ ContentText txt -> (tokenToBuilder $ TokenCDATA txt, s)
+ ContentEntity txt -> (tokenToBuilder $ TokenCDATA txt, s)
+ | otherwise = (tokenToBuilder $ TokenContent c, s)
+eventToToken s _ (EventComment t) = (tokenToBuilder $ TokenComment t, s)
+eventToToken _ _ EventBeginElement{} = error "eventToToken on EventBeginElement" -- mkBeginToken False s name attrs
type Stack = [NSLevel]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xml-conduit-1.3.2/Text/XML/Stream/Token.hs new/xml-conduit-1.3.3/Text/XML/Stream/Token.hs
--- old/xml-conduit-1.3.2/Text/XML/Stream/Token.hs 2015-10-02 08:55:36.000000000 +0200
+++ new/xml-conduit-1.3.3/Text/XML/Stream/Token.hs 2015-12-21 12:33:46.000000000 +0100
@@ -68,9 +68,9 @@
, fromByteString ">"
]
tokenToBuilder (TokenContent c) = contentToText c
-tokenToBuilder (TokenCDATA t) =
+tokenToBuilder (TokenCDATA t) =
copyByteString "<![CDATA["
- `mappend` fromText t
+ `mappend` escCDATA t
`mappend` copyByteString "]]>"
tokenToBuilder (TokenComment t) = mconcat [fromByteString "<!--", fromText t, fromByteString "-->"]
tokenToBuilder (TokenDoctype name eid _) = mconcat
@@ -171,3 +171,6 @@
| otherwise = TName (Just a) $ T.drop 1 b
where
(a, b) = T.break (== ':') t
+
+escCDATA :: Text -> Builder
+escCDATA s = fromText (T.replace "]]>" "]]]]><![CDATA[>" s)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xml-conduit-1.3.2/Text/XML.hs new/xml-conduit-1.3.3/Text/XML.hs
--- old/xml-conduit-1.3.2/Text/XML.hs 2015-10-02 08:55:36.000000000 +0200
+++ new/xml-conduit-1.3.3/Text/XML.hs 2015-12-21 12:33:46.000000000 +0100
@@ -62,6 +62,7 @@
, R.rsPretty
, R.rsNamespaces
, R.rsAttrOrder
+ , R.rsUseCDATA
, R.orderAttrs
-- * Conversion
, toXMLDocument
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xml-conduit-1.3.2/test/main.hs new/xml-conduit-1.3.3/test/main.hs
--- old/xml-conduit-1.3.2/test/main.hs 2015-10-02 08:55:36.000000000 +0200
+++ new/xml-conduit-1.3.3/test/main.hs 2015-12-21 12:33:46.000000000 +0100
@@ -94,6 +94,8 @@
it "parsing CDATA" caseParseCdata
it "retains namespaces when asked" caseRetainNamespaces
it "handles iso-8859-1" caseIso8859_1
+ it "renders CDATA when asked" caseRenderCDATA
+ it "escapes CDATA closing tag in CDATA" caseEscapesCDATA
documentParseRender :: IO ()
documentParseRender =
@@ -618,3 +620,25 @@
Map.empty
[Res.NodeContent "\232"])
[]
+
+caseRenderCDATA :: Assertion
+caseRenderCDATA = do
+ let doc = Res.Document (Res.Prologue [] Nothing [])
+ (Res.Element "a" Map.empty
+ [ Res.NodeContent "www.google.com"
+ ])
+ []
+ withoutCDATA = Res.renderLBS def doc
+ withCDATA = Res.renderLBS (def { Res.rsUseCDATA = const True }) doc
+ withCDATA `shouldBe` "<?xml version=\"1.0\" encoding=\"UTF-8\"?><a><![CDATA[www.google.com]]></a>"
+ withoutCDATA `shouldBe` "<?xml version=\"1.0\" encoding=\"UTF-8\"?><a>www.google.com</a>"
+
+caseEscapesCDATA :: Assertion
+caseEscapesCDATA = do
+ let doc = Res.Document (Res.Prologue [] Nothing [])
+ (Res.Element "a" Map.empty
+ [ Res.NodeContent "]]>"
+ ])
+ []
+ result = Res.renderLBS (def { Res.rsUseCDATA = const True }) doc
+ result `shouldBe` "<?xml version=\"1.0\" encoding=\"UTF-8\"?><a><![CDATA[]]]]><![CDATA[>]]></a>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xml-conduit-1.3.2/xml-conduit.cabal new/xml-conduit-1.3.3/xml-conduit.cabal
--- old/xml-conduit-1.3.2/xml-conduit.cabal 2015-10-02 08:55:36.000000000 +0200
+++ new/xml-conduit-1.3.3/xml-conduit.cabal 2015-12-21 12:33:46.000000000 +0100
@@ -1,5 +1,5 @@
name: xml-conduit
-version: 1.3.2
+version: 1.3.3
license: MIT
license-file: LICENSE
author: Michael Snoyman <michael(a)snoyman.com>, Aristid Breitkreuz <aristidb(a)googlemail.com>
1
0
Hello community,
here is the log from the commit of package frescobaldi for openSUSE:Factory checked in at 2015-12-29 12:59:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/frescobaldi (Old)
and /work/SRC/openSUSE:Factory/.frescobaldi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "frescobaldi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/frescobaldi/frescobaldi.changes 2015-09-11 09:04:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.frescobaldi.new/frescobaldi.changes 2015-12-29 12:59:51.000000000 +0100
@@ -1,0 +2,26 @@
+Sun Dec 27 22:22:39 UTC 2015 - cornelis(a)solcon.nl
+
+- Update to 2.18.2:
+ * Requirement changes:
+ - Frescobaldi now requires python-ly 0.9.3
+ * Improvements:
+ - More flexible colored HTML export and copy
+ - Tabs now show the push-pin icon when a document is always engraved
+ - Autocomplete correctly again after '\markup' without opening bracket
+ - Enable Ctrl-Enter in Custom Engrave dialog (issue #691)
+ * Bug fixes:
+ - fix AttributeError: 'SourceViewer' object has no attribute '_reply' (issue
+ #789)
+ - fix TypeError: QPen(): argument 1 has unexpected type QBrush
+ - fix some bugs in Quick Insert panel
+ * Translations:
+ - updated: Dutch, French, Italian, Ukrainian
+- Update python-ly to 0.9.3:
+ * Fix issue #35: do not insert duration after a tie
+ * Added ly.rhythm.music_items() for a more robust way of iterating through
+ chords and notes (awaiting fully fledged editing support through ly.music or
+ ly.xml)
+ * More configurability in ly.colorize, thanks to Urs Liska
+ * MusicXML export various improvements and bug fixes, contributed by Peter Bjuhr
+
+-------------------------------------------------------------------
Old:
----
frescobaldi-2.18.1.tar.gz
python-ly-0.9.2.tar.gz
New:
----
frescobaldi-2.18.2.tar.gz
python-ly-0.9.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ frescobaldi.spec ++++++
--- /var/tmp/diff_new_pack.7GWyB5/_old 2015-12-29 12:59:53.000000000 +0100
+++ /var/tmp/diff_new_pack.7GWyB5/_new 2015-12-29 12:59:53.000000000 +0100
@@ -20,7 +20,7 @@
Summary: Lilypond editor
License: GPL-2.0+
Group: Productivity/Multimedia/Sound/Editors and Convertors
-Version: 2.18.1
+Version: 2.18.2
Release: 0
Url: http://www.frescobaldi.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -28,7 +28,7 @@
# New package, was before part of frescobaldi
# Url: https://pypi.python.org/pypi/python-ly
# Split off into separate package?
-Source1: python-ly-0.9.2.tar.gz
+Source1: python-ly-0.9.3.tar.gz
BuildRequires: hicolor-icon-theme
BuildRequires: python3-devel
BuildRequires: update-desktop-files
@@ -59,7 +59,7 @@
%install
%suse_update_desktop_file %{name} Multimedia AudioVideoEditing
# first install python-ly
-cd python-ly-0.9.2
+cd python-ly-0.9.3
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
cd ..
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
++++++ frescobaldi-2.18.1.tar.gz -> frescobaldi-2.18.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/frescobaldi/frescobaldi-2.18.1.tar.gz /work/SRC/openSUSE:Factory/.frescobaldi.new/frescobaldi-2.18.2.tar.gz differ: char 16, line 1
++++++ python-ly-0.9.2.tar.gz -> python-ly-0.9.3.tar.gz ++++++
++++ 2118 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package bmake for openSUSE:Factory checked in at 2015-12-29 12:59:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bmake (Old)
and /work/SRC/openSUSE:Factory/.bmake.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bmake"
Changes:
--------
--- /work/SRC/openSUSE:Factory/bmake/bmake.changes 2015-11-17 14:22:44.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.bmake.new/bmake.changes 2015-12-29 12:59:49.000000000 +0100
@@ -1,0 +2,11 @@
+Sun Dec 27 19:38:53 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 20151220
+ * suff.c: re-initialize suffNull when clearing suffixes.
+ * cond.c: CondCvtArg: avoid access beyond end of empty buffer.
+ * meta.c: meta_oodate: use lstat(2) for checking link target in
+ case it is a symlink.
+ * var.c: avoid calling brk_string and Var_Export1 with empty
+ strings.
+
+-------------------------------------------------------------------
Old:
----
bmake-20151022.tar.gz
New:
----
bmake-20151220.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bmake.spec ++++++
--- /var/tmp/diff_new_pack.v8iYsX/_old 2015-12-29 12:59:50.000000000 +0100
+++ /var/tmp/diff_new_pack.v8iYsX/_new 2015-12-29 12:59:50.000000000 +0100
@@ -17,7 +17,7 @@
Name: bmake
-Version: 20151022
+Version: 20151220
Release: 0
Summary: The NetBSD make(1) tool
License: BSD-2-Clause and BSD-3-Clause and BSD-4-Clause
++++++ bmake-20151022.tar.gz -> bmake-20151220.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/ChangeLog new/bmake/ChangeLog
--- old/bmake/ChangeLog 2015-10-25 06:20:23.000000000 +0100
+++ new/bmake/ChangeLog 2015-12-20 23:55:06.000000000 +0100
@@ -1,3 +1,26 @@
+2015-12-20 Simon J. Gerraty <sjg(a)bad.crufty.net>
+
+ * Makefile (MAKE_VERSION): 20151220
+ Merge with NetBSD make, pick up
+ o suff.c: re-initialize suffNull when clearing suffixes.
+
+2015-12-01 Simon J. Gerraty <sjg(a)bad.crufty.net>
+
+ * Makefile (MAKE_VERSION): 20151201
+ Merge with NetBSD make, pick up
+ o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
+ o meta.c: meta_oodate: use lstat(2) for checking link target
+ in case it is a symlink.
+ o var.c: avoid calling brk_string and Var_Export1 with empty
+ strings.
+
+2015-11-26 Simon J. Gerraty <sjg(a)bad.crufty.net>
+
+ * Makefile (MAKE_VERSION): 20151126
+ Merge with NetBSD make, pick up
+ o parse.c: ParseTrackInput don't access beyond
+ end of old value.
+
2015-10-22 Simon J. Gerraty <sjg(a)bad.crufty.net>
* Makefile (MAKE_VERSION): 20151022
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/Makefile new/bmake/Makefile
--- old/bmake/Makefile 2015-10-24 00:46:36.000000000 +0200
+++ new/bmake/Makefile 2015-12-20 23:55:06.000000000 +0100
@@ -1,7 +1,7 @@
-# $Id: Makefile,v 1.45 2015/10/23 22:46:36 sjg Exp $
+# $Id: Makefile,v 1.49 2015/12/20 22:54:40 sjg Exp $
# Base version on src date
-MAKE_VERSION= 20151022
+MAKE_VERSION= 20151220
PROG= bmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/cond.c new/bmake/cond.c
--- old/bmake/cond.c 2015-10-11 07:17:09.000000000 +0200
+++ new/bmake/cond.c 2015-12-02 01:36:53.000000000 +0100
@@ -1,4 +1,4 @@
-/* $NetBSD: cond.c,v 1.69 2015/10/11 04:51:24 sjg Exp $ */
+/* $NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $ */
/*
* Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -70,14 +70,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: cond.c,v 1.69 2015/10/11 04:51:24 sjg Exp $";
+static char rcsid[] = "$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)cond.c 8.2 (Berkeley) 1/2/94";
#else
-__RCSID("$NetBSD: cond.c,v 1.69 2015/10/11 04:51:24 sjg Exp $");
+__RCSID("$NetBSD: cond.c,v 1.71 2015/12/02 00:28:24 sjg Exp $");
#endif
#endif /* not lint */
#endif
@@ -490,6 +490,10 @@
double d_val;
errno = 0;
+ if (!*str) {
+ *value = (double)0;
+ return TRUE;
+ }
l_val = strtoul(str, &eptr, str[1] == 'x' ? 16 : 10);
ech = *eptr;
if (ech == 0 && errno != ERANGE) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/main.c new/bmake/main.c
--- old/bmake/main.c 2015-10-25 00:41:37.000000000 +0200
+++ new/bmake/main.c 2015-11-27 06:24:02.000000000 +0100
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.234 2015/10/11 04:51:24 sjg Exp $ */
+/* $NetBSD: main.c,v 1.235 2015/10/25 05:24:44 sjg Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,7 +69,7 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: main.c,v 1.234 2015/10/11 04:51:24 sjg Exp $";
+static char rcsid[] = "$NetBSD: main.c,v 1.235 2015/10/25 05:24:44 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
@@ -81,7 +81,7 @@
#if 0
static char sccsid[] = "@(#)main.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: main.c,v 1.234 2015/10/11 04:51:24 sjg Exp $");
+__RCSID("$NetBSD: main.c,v 1.235 2015/10/25 05:24:44 sjg Exp $");
#endif
#endif /* not lint */
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/meta.c new/bmake/meta.c
--- old/bmake/meta.c 2015-10-23 23:45:42.000000000 +0200
+++ new/bmake/meta.c 2015-12-01 00:45:05.000000000 +0100
@@ -1,4 +1,4 @@
-/* $NetBSD: meta.c,v 1.40 2015/10/11 04:51:24 sjg Exp $ */
+/* $NetBSD: meta.c,v 1.41 2015/11/30 23:37:56 sjg Exp $ */
/*
* Implement 'meta' mode.
@@ -1187,7 +1187,8 @@
if ((strstr("tmp", p)))
break;
- if (stat(p, &fs) < 0) {
+ if ((link_src != NULL && lstat(p, &fs) < 0) ||
+ (link_src == NULL && stat(p, &fs) < 0)) {
Lst_AtEnd(missingFiles, bmake_strdup(p));
}
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/ChangeLog new/bmake/mk/ChangeLog
--- old/bmake/mk/ChangeLog 2015-10-24 00:28:43.000000000 +0200
+++ new/bmake/mk/ChangeLog 2015-12-20 23:55:07.000000000 +0100
@@ -1,3 +1,29 @@
+2015-12-12 Simon J. Gerraty <sjg(a)bad.crufty.net>
+
+ * install-mk (MK_VERSION): 20151212
+ * auto.obj.mk: do not require MAKEOBJDIRPREFIX to exist.
+ only apply :tA to __objdir when comparing to .OBJDIR
+
+2015-11-14 Simon J. Gerraty <sjg(a)bad.crufty.net>
+
+ * install-mk (MK_VERSION): 20151111
+
+ * meta.sys.mk: include sys.dependfile.mk
+
+ * sys.mk (OPTIONS_DEFAULT_NO): use options.mk
+ to set MK_AUTO_OBJ and MK_DIRDEPS_BUILD
+ include local.sys.env.mk early
+ include local.sys.mk later
+
+ * own.mk (OPTIONS_DEFAULT_NO): AUTO_OBJ etc moved to sys.mk
+
+2015-11-13 Simon J. Gerraty <sjg(a)bad.crufty.net>
+
+ * meta.sys.mk (META_COOKIE_TOUCH):
+ add ${META_COOKIE_TOUCH} to the end of scripts to touch cookie
+
+ * meta.stage.mk: stage_libs should ignore SYMLINKS.
+
2015-10-23 Simon J. Gerraty <sjg(a)bad.crufty.net>
* install-mk (MK_VERSION): 20151022
@@ -466,7 +492,7 @@
needed.
* gendirdeps.mk: only produce unqualified deps if no
.MAKE.DEPENDFILE_PREFERENCE ends in .${MACHINE}
- * meta.subdir.mk: apply SUBDIREPS_FILTER
+ * meta.subdir.mk: apply SUBDIRDEPS_FILTER
2012-04-20 Simon J. Gerraty <sjg(a)bad.crufty.net>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/auto.obj.mk new/bmake/mk/auto.obj.mk
--- old/bmake/mk/auto.obj.mk 2015-09-10 07:53:52.000000000 +0200
+++ new/bmake/mk/auto.obj.mk 2015-12-20 23:55:07.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: auto.obj.mk,v 1.11 2015/06/16 06:28:21 sjg Exp $
+# $Id: auto.obj.mk,v 1.12 2015/12/16 01:57:06 sjg Exp $
#
# @(#) Copyright (c) 2004, Simon J. Gerraty
#
@@ -40,12 +40,12 @@
.if !defined(NOOBJ) && !defined(NO_OBJ) && ${MKOBJDIRS:Uno} == auto
# Use __objdir here so it is easier to tweak without impacting
# the logic.
-.if !empty(MAKEOBJDIRPREFIX) && exists(${MAKEOBJDIRPREFIX})
+.if !empty(MAKEOBJDIRPREFIX)
__objdir?= ${MAKEOBJDIRPREFIX}${.CURDIR}
.endif
__objdir?= ${MAKEOBJDIR:Uobj}
-__objdir:= ${__objdir:tA}
-.if ${.OBJDIR} != ${__objdir}
+__objdir:= ${__objdir}
+.if ${.OBJDIR:tA} != ${__objdir:tA}
# We need to chdir, make the directory if needed
.if !exists(${__objdir}/) && \
(${.TARGETS} == "" || ${.TARGETS:Nclean*:N*clean:Ndestroy*} != "")
@@ -53,11 +53,10 @@
__objdir_made != echo ${__objdir}/; umask ${OBJDIR_UMASK:U002}; \
${ECHO_TRACE} "[Creating objdir ${__objdir}...]" >&2; \
${Mkdirs}; Mkdirs ${__objdir}
-__objdir:= ${__objdir:tA}
.endif
# This causes make to use the specified directory as .OBJDIR
.OBJDIR: ${__objdir}
-.if ${.OBJDIR} != ${__objdir} && ${__objdir_made:Uno:M${__objdir}/*} != ""
+.if ${.OBJDIR:tA} != ${__objdir:tA} && ${__objdir_made:Uno:M${__objdir}/*} != ""
.error could not use ${__objdir}: .OBJDIR=${.OBJDIR}
.endif
.endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/init.mk new/bmake/mk/init.mk
--- old/bmake/mk/init.mk 2013-07-18 07:46:42.000000000 +0200
+++ new/bmake/mk/init.mk 2015-12-07 05:28:31.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: init.mk,v 1.9 2013/07/18 05:46:24 sjg Exp $
+# $Id: init.mk,v 1.10 2015/12/07 04:28:31 sjg Exp $
#
# @(#) Copyright (c) 2002, Simon J. Gerraty
#
@@ -47,4 +47,8 @@
_SKIP_BUILD = not building at level 0
.endif
+.if !empty(_SKIP_BUILD)
+all: .PHONY
+.warning ${_SKIP_BUILD}
+.endif
.endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/install-mk new/bmake/mk/install-mk
--- old/bmake/mk/install-mk 2015-10-24 00:28:43.000000000 +0200
+++ new/bmake/mk/install-mk 2015-12-20 23:55:07.000000000 +0100
@@ -55,7 +55,7 @@
# Simon J. Gerraty <sjg(a)crufty.net>
# RCSid:
-# $Id: install-mk,v 1.116 2015/10/23 22:28:31 sjg Exp $
+# $Id: install-mk,v 1.118 2015/12/16 01:57:06 sjg Exp $
#
# @(#) Copyright (c) 1994 Simon J. Gerraty
#
@@ -70,7 +70,7 @@
# sjg(a)crufty.net
#
-MK_VERSION=20151022
+MK_VERSION=20151212
OWNER=
GROUP=
MODE=444
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/lib.mk new/bmake/mk/lib.mk
--- old/bmake/mk/lib.mk 2014-05-23 03:30:42.000000000 +0200
+++ new/bmake/mk/lib.mk 2015-11-14 19:10:09.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: lib.mk,v 1.51 2014/05/23 01:30:36 sjg Exp $
+# $Id: lib.mk,v 1.52 2015/11/14 18:09:57 sjg Exp $
.if !target(__${.PARSEFILE}__)
__${.PARSEFILE}__:
@@ -254,7 +254,7 @@
# is a waste of time, this tells meta.autodep.mk to just pick one
# (typically .So)
# yes, 42 is a random number.
-.if ${MK_META_MODE} == "yes" && ${SRCS:Uno:[\#]} > 42
+.if ${MK_DIRDEPS_BUILD} == "yes" && ${SRCS:Uno:[\#]} > 42
OPTIMIZE_OBJECT_META_FILES ?= yes
.endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/meta.autodep.mk new/bmake/mk/meta.autodep.mk
--- old/bmake/mk/meta.autodep.mk 2015-09-10 07:53:52.000000000 +0200
+++ new/bmake/mk/meta.autodep.mk 2015-12-07 05:35:39.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: meta.autodep.mk,v 1.37 2015/06/16 06:29:17 sjg Exp $
+# $Id: meta.autodep.mk,v 1.39 2015/12/07 04:35:32 sjg Exp $
#
# @(#) Copyright (c) 2010, Simon J. Gerraty
@@ -50,6 +50,9 @@
.endif
_CURDIR ?= ${.CURDIR}
+_OBJDIR ?= ${.OBJDIR}
+_OBJTOP ?= ${OBJTOP}
+_OBJROOT ?= ${OBJROOT:U${_OBJTOP}}
_DEPENDFILE := ${_CURDIR}/${.MAKE.DEPENDFILE:T}
.if ${.MAKE.LEVEL} == 0
@@ -190,7 +193,7 @@
# anything which matches ${_OBJROOT}* but not ${_OBJTOP}*
# needs to be qualified in DIRDEPS
# The pseudo machine "host" is used for HOST_TARGET
-DIRDEPS = \
+DIRDEPS += \
${DPADD:M${_OBJTOP}*:H:C,${_OBJTOP}[^/]*/,,:N.:O:u} \
${DPADD:M${_OBJROOT}*:N${_OBJTOP}*:H:S,${_OBJROOT},,:C,^([^/]+)/(.*),\2.\1,:S,${HOST_TARGET}$,host,:N.*:O:u}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/meta.stage.mk new/bmake/mk/meta.stage.mk
--- old/bmake/mk/meta.stage.mk 2015-10-10 06:17:22.000000000 +0200
+++ new/bmake/mk/meta.stage.mk 2015-11-13 18:34:12.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: meta.stage.mk,v 1.40 2015/10/04 17:36:54 sjg Exp $
+# $Id: meta.stage.mk,v 1.41 2015/11/13 17:34:04 sjg Exp $
#
# @(#) Copyright (c) 2011, Simon J. Gerraty
#
@@ -155,7 +155,7 @@
@${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} \
${SHLIB_LINKS:@t@${STAGE_LIBS:T:M$t.*} $t@}
.elif !empty(SHLIB_LINK) && !empty(SHLIB_NAME)
- @${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} ${SHLIB_NAME} ${SHLIB_LINK} ${SYMLINKS:T}
+ @${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} ${SHLIB_NAME} ${SHLIB_LINK}
.endif
.endif
@touch $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/meta.subdir.mk new/bmake/mk/meta.subdir.mk
--- old/bmake/mk/meta.subdir.mk 2012-07-03 07:26:46.000000000 +0200
+++ new/bmake/mk/meta.subdir.mk 2015-11-27 06:24:03.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: meta.subdir.mk,v 1.10 2012/07/03 05:26:46 sjg Exp $
+# $Id: meta.subdir.mk,v 1.11 2015/11/24 22:26:51 sjg Exp $
#
# @(#) Copyright (c) 2010, Simon J. Gerraty
@@ -62,7 +62,7 @@
DIRDEPS =
.else
# clean up if needed
-DIRDEPS := ${DIRDEPS:S,^./,,:S,/./,/,g:${SUBDIREPS_FILTER:Uu}}
+DIRDEPS := ${DIRDEPS:S,^./,,:S,/./,/,g:${SUBDIRDEPS_FILTER:Uu}}
.endif
# we just dealt with it, if we leave it defined,
# dirdeps.mk will compute some interesting combinations.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/meta.sys.mk new/bmake/mk/meta.sys.mk
--- old/bmake/mk/meta.sys.mk 2015-09-10 07:53:52.000000000 +0200
+++ new/bmake/mk/meta.sys.mk 2015-11-14 22:16:20.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: meta.sys.mk,v 1.22 2015/06/16 06:31:05 sjg Exp $
+# $Id: meta.sys.mk,v 1.26 2015/11/14 21:16:13 sjg Exp $
#
# @(#) Copyright (c) 2010, Simon J. Gerraty
@@ -51,17 +51,6 @@
.endif
.endif
-# make defaults .MAKE.DEPENDFILE to .depend
-# that won't work for us.
-.if ${.MAKE.DEPENDFILE} == ".depend"
-.undef .MAKE.DEPENDFILE
-.endif
-
-# if you don't cross build for multiple MACHINEs concurrently, then
-# .MAKE.DEPENDFILE = Makefile.depend
-# probably makes sense - you can set that in local.sys.mk
-.MAKE.DEPENDFILE ?= Makefile.depend.${MACHINE}
-
# we use the pseudo machine "host" for the build host.
# this should be taken care of before we get here
.if ${OBJTOP:Ua} == ${HOST_OBJTOP:Ub}
@@ -109,10 +98,27 @@
.endif
+META_COOKIE_TOUCH=
+# some targets need to be .PHONY in non-meta mode
+META_NOPHONY= .PHONY
# Are we, after all, in meta mode?
.if ${.MAKE.MODE:Mmeta*} != ""
MKDEP_MK = meta.autodep.mk
+.if ${.MAKE.MAKEFILES:M*sys.dependfile.mk} == ""
+# this does all the smarts of setting .MAKE.DEPENDFILE
+.-include <sys.dependfile.mk>
+# check if we got anything sane
+.if ${.MAKE.DEPENDFILE} == ".depend"
+.undef .MAKE.DEPENDFILE
+.endif
+.MAKE.DEPENDFILE ?= Makefile.depend
+.endif
+
+# we can afford to use cookies to prevent some targets
+# re-running needlessly
+META_COOKIE_TOUCH= touch ${COOKIE.${.TARGET}:U${.OBJDIR}/${.TARGET}}
+META_NOPHONY=
.if ${UPDATE_DEPENDFILE:Uyes:tl} != "no"
.if ${.MAKEFLAGS:Uno:M-k} != ""
# make this more obvious
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/own.mk new/bmake/mk/own.mk
--- old/bmake/mk/own.mk 2015-09-10 07:53:52.000000000 +0200
+++ new/bmake/mk/own.mk 2015-11-14 19:10:09.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: own.mk,v 1.29 2015/09/08 06:15:31 sjg Exp $
+# $Id: own.mk,v 1.30 2015/11/14 18:09:57 sjg Exp $
.if !target(__${.PARSEFILE}__)
__${.PARSEFILE}__:
@@ -89,12 +89,10 @@
# process options
OPTIONS_DEFAULT_NO+= \
- AUTO_OBJ \
INSTALL_AS_USER \
GPROF \
LIBTOOL \
LINT \
- META_MODE \
OPTIONS_DEFAULT_YES+= \
ARCHIVE \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/mk/sys.mk new/bmake/mk/sys.mk
--- old/bmake/mk/sys.mk 2015-10-31 01:56:20.000000000 +0100
+++ new/bmake/mk/sys.mk 2015-11-14 22:16:20.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: sys.mk,v 1.38 2015/10/31 00:52:49 sjg Exp $
+# $Id: sys.mk,v 1.41 2015/11/14 20:20:34 sjg Exp $
#
# @(#) Copyright (c) 2003-2009, Simon J. Gerraty
#
@@ -106,6 +106,9 @@
# we need HOST_TARGET etc below.
.include <host-target.mk>
+# early customizations
+.-include <local.sys.env.mk>
+
# find the OS specifics
.if defined(SYS_OS_MK)
.include <${SYS_OS_MK}>
@@ -130,11 +133,30 @@
.export SYS_OS_MK
.endif
-# allow customization without editing.
-.-include <local.sys.mk>
+# some options we need to know early
+OPTIONS_DEFAULT_NO += \
+ DIRDEPS_BUILD \
+ DIRDEPS_CACHE \
+ META_MODE
+
+OPTIONS_DEFAULT_DEPENDENT += \
+ AUTO_OBJ/DIRDEPS_BUILD \
+ STAGING/DIRDEPS_BUILD \
+
+.-include "options.mk"
+
+.if ${MK_DIRDEPS_BUILD:Uno} == "yes"
+MK_META_MODE = yes
+.-include <meta.sys.mk>
+.elif ${MK_META_MODE:Uno} == "yes"
+.MAKE.MODE = meta verbose
+.endif
+# make sure we have a harmless value
+.MAKE.MODE ?= normal
# if you want objdirs make them automatic
-.if ${MKOBJDIRS:Uno} == "auto"
+# and do it early before we compute .PATH
+.if ${MK_AUTO_OBJ:Uno} == "yes" || ${MKOBJDIRS:Uno} == "auto"
.include <auto.obj.mk>
.endif
@@ -182,17 +204,8 @@
.cc.cpp-out:
@${COMPILE.cc:N-c} -E ${.IMPSRC} | grep -v '^[ ]*$$'
-# we don't include own.mk but user can expect -DWITH_META_MODE to work
-.if defined(WITHOUT_META_MODE)
-USE_META= no
-.elif defined(WITH_META_MODE)
-USE_META= yes
-.endif
-.if ${USE_META:Uno} == "yes"
-.-include <meta.sys.mk>
-.endif
-# make sure we have a harmless value
-.MAKE.MODE ?= normal
+# late customizations
+.-include <local.sys.mk>
# if .CURDIR is matched by any entry in DEBUG_MAKE_DIRS we
# will apply DEBUG_MAKE_FLAGS, now.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/os.sh new/bmake/os.sh
--- old/bmake/os.sh 2015-10-25 02:05:40.000000000 +0200
+++ new/bmake/os.sh 2015-12-20 23:55:06.000000000 +0100
@@ -17,7 +17,7 @@
# Simon J. Gerraty <sjg(a)crufty.net>
# RCSid:
-# $Id: os.sh,v 1.49 2015/10/25 00:05:40 sjg Exp $
+# $Id: os.sh,v 1.50 2015/12/17 17:06:29 sjg Exp $
#
# @(#) Copyright (c) 1994 Simon J. Gerraty
#
@@ -56,10 +56,10 @@
case "$1" in
/*) test $t $1 && echo $1;;
*)
- # some shells cannot correctly handle `IFS`
- # in conjunction with the for loop.
- _dirs=`IFS=:; echo ${2:-$PATH}`
- for d in $_dirs
+ # some shells cannot correctly handle `IFS`
+ # in conjunction with the for loop.
+ _dirs=`IFS=:; echo ${2:-$PATH}`
+ for d in $_dirs
do
test $t $d/$1 && { echo $d/$1; break; }
done
@@ -70,11 +70,11 @@
# tr is insanely non-portable wrt char classes, so we need to
# spell out the alphabet. sed y/// would work too.
toUpper() {
- ${TR:-tr} abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ ${TR:-tr} abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
}
toLower() {
- ${TR:-tr} ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
+ ${TR:-tr} ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
}
K=
@@ -91,7 +91,7 @@
export CHOWN
# Great! Solaris keeps moving arch(1)
- # should just bite the bullet and use uname -p
+ # should just bite the bullet and use uname -p
arch=`Which arch /usr/bin:/usr/ucb`
MAILER=/usr/ucb/Mail
@@ -105,8 +105,8 @@
MACHINE=$MACHINE_ARCH
;;
4*)
- MACHINE_ARCH=`arch`
- ;;
+ MACHINE_ARCH=`arch`
+ ;;
5*)
K=-k
LOCAL_FS=ufs
@@ -116,8 +116,8 @@
# overwriting an existing file!!!!! We want one that works!
test -x /usr/xpg4/bin/ln && LN=${LN:-/usr/xpg4/bin/ln}
# wonderful, 5.8's tr again require's []'s
- # but /usr/xpg4/bin/tr causes problems if LC_COLLATE is set!
- # use toUpper/toLower instead.
+ # but /usr/xpg4/bin/tr causes problems if LC_COLLATE is set!
+ # use toUpper/toLower instead.
;;
esac
case "$OS/$MACHINE_ARCH" in
@@ -142,9 +142,9 @@
SHARE_ARCH=$OS/$HOST
;;
OpenBSD)
- arch=`Which arch /usr/bin:/usr/ucb:$PATH`
- MACHINE_ARCH=`$arch -s`
- ;;
+ arch=`Which arch /usr/bin:/usr/ucb:$PATH`
+ MACHINE_ARCH=`$arch -s`
+ ;;
esac
NAWK=awk
export NAWK
@@ -218,17 +218,25 @@
case `echo -n .` in -n*) N=; C="\c";; *) N=-n; C=;; esac
-export HOSTNAME HOST
+Echo() {
+ case "$1" in
+ -n) _n=$N _c=$C; shift;;
+ *) _n= _c=;;
+ esac
+ echo $_n "$@" $_c
+}
+
+export HOSTNAME HOST
export OS MACHINE MACHINE_ARCH OSREL OSMAJOR LOCAL_FS TMP_DIRS MAILER N C K PS_AXC
export LN SHARE_ARCH TR
case /$0 in
*/os.sh)
- for v in $*
+ for v in $*
do
- eval vv=\$$v
- echo "$v='$vv'"
+ eval vv=\$$v
+ echo "$v='$vv'"
done
- ;;
+ ;;
esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/parse.c new/bmake/parse.c
--- old/bmake/parse.c 2015-10-23 20:20:12.000000000 +0200
+++ new/bmake/parse.c 2015-11-27 06:24:02.000000000 +0100
@@ -1,4 +1,4 @@
-/* $NetBSD: parse.c,v 1.205 2015/10/11 04:51:24 sjg Exp $ */
+/* $NetBSD: parse.c,v 1.206 2015/11/26 00:23:04 sjg Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: parse.c,v 1.205 2015/10/11 04:51:24 sjg Exp $";
+static char rcsid[] = "$NetBSD: parse.c,v 1.206 2015/11/26 00:23:04 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)parse.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: parse.c,v 1.205 2015/10/11 04:51:24 sjg Exp $");
+__RCSID("$NetBSD: parse.c,v 1.206 2015/11/26 00:23:04 sjg Exp $");
#endif
#endif /* not lint */
#endif
@@ -2394,15 +2394,19 @@
ParseTrackInput(const char *name)
{
char *old;
+ char *ep;
char *fp = NULL;
size_t name_len = strlen(name);
old = Var_Value(MAKE_MAKEFILES, VAR_GLOBAL, &fp);
if (old) {
+ ep = old + strlen(old) - name_len;
/* does it contain name? */
for (; old != NULL; old = strchr(old, ' ')) {
if (*old == ' ')
old++;
+ if (old >= ep)
+ break; /* cannot contain name */
if (memcmp(old, name, name_len) == 0
&& (old[name_len] == 0 || old[name_len] == ' '))
goto cleanup;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/suff.c new/bmake/suff.c
--- old/bmake/suff.c 2015-10-11 07:17:09.000000000 +0200
+++ new/bmake/suff.c 2015-12-20 23:55:06.000000000 +0100
@@ -1,4 +1,4 @@
-/* $NetBSD: suff.c,v 1.74 2015/10/11 04:51:24 sjg Exp $ */
+/* $NetBSD: suff.c,v 1.75 2015/12/20 22:44:10 sjg Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: suff.c,v 1.74 2015/10/11 04:51:24 sjg Exp $";
+static char rcsid[] = "$NetBSD: suff.c,v 1.75 2015/12/20 22:44:10 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)suff.c 8.4 (Berkeley) 3/21/94";
#else
-__RCSID("$NetBSD: suff.c,v 1.74 2015/10/11 04:51:24 sjg Exp $");
+__RCSID("$NetBSD: suff.c,v 1.75 2015/12/20 22:44:10 sjg Exp $");
#endif
#endif /* not lint */
#endif
@@ -553,7 +553,20 @@
#endif
sufflist = Lst_Init(FALSE);
sNum = 0;
- suffNull = emptySuff;
+ if (suffNull)
+ SuffFree(suffNull);
+ emptySuff = suffNull = bmake_malloc(sizeof(Suff));
+
+ suffNull->name = bmake_strdup("");
+ suffNull->nameLen = 0;
+ suffNull->searchPath = Lst_Init(FALSE);
+ Dir_Concat(suffNull->searchPath, dirSearchPath);
+ suffNull->children = Lst_Init(FALSE);
+ suffNull->parents = Lst_Init(FALSE);
+ suffNull->ref = Lst_Init(FALSE);
+ suffNull->sNum = sNum++;
+ suffNull->flags = SUFF_NULL;
+ suffNull->refCount = 1;
}
/*-
@@ -2524,32 +2537,18 @@
void
Suff_Init(void)
{
- sufflist = Lst_Init(FALSE);
#ifdef CLEANUP
suffClean = Lst_Init(FALSE);
#endif
srclist = Lst_Init(FALSE);
transforms = Lst_Init(FALSE);
- sNum = 0;
/*
* Create null suffix for single-suffix rules (POSIX). The thing doesn't
* actually go on the suffix list or everyone will think that's its
* suffix.
*/
- emptySuff = suffNull = bmake_malloc(sizeof(Suff));
-
- suffNull->name = bmake_strdup("");
- suffNull->nameLen = 0;
- suffNull->searchPath = Lst_Init(FALSE);
- Dir_Concat(suffNull->searchPath, dirSearchPath);
- suffNull->children = Lst_Init(FALSE);
- suffNull->parents = Lst_Init(FALSE);
- suffNull->ref = Lst_Init(FALSE);
- suffNull->sNum = sNum++;
- suffNull->flags = SUFF_NULL;
- suffNull->refCount = 1;
-
+ Suff_ClearSuffixes();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/unit-tests/Makefile.in new/bmake/unit-tests/Makefile.in
--- old/bmake/unit-tests/Makefile.in 2015-10-25 06:13:20.000000000 +0100
+++ new/bmake/unit-tests/Makefile.in 2015-12-07 05:06:29.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.47 2015/05/05 21:58:06 sjg Exp $
+# $Id: Makefile.in,v 1.48 2015/12/07 04:06:29 sjg Exp $
#
# $NetBSD: Makefile,v 1.52 2015/05/05 21:51:09 sjg Exp $
#
@@ -128,7 +128,7 @@
test: ${OUTFILES} .PHONY
@failed= ; \
for test in ${TESTNAMES}; do \
- ${TOOL_DIFF} -u ${UNIT_TESTS}/$${test}.exp $${test}.out \
+ ${TOOL_DIFF} ${DIFF_FLAGS} ${UNIT_TESTS}/$${test}.exp $${test}.out \
|| failed="$${failed}$${failed:+ }$${test}" ; \
done ; \
if [ -n "$${failed}" ]; then \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/unit-tests/cond2.mk new/bmake/unit-tests/cond2.mk
--- old/bmake/unit-tests/cond2.mk 2015-05-05 23:53:13.000000000 +0200
+++ new/bmake/unit-tests/cond2.mk 2015-12-02 01:36:53.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: cond2.mk,v 1.1.1.1 2015/05/05 21:53:13 sjg Exp $
+# $Id: cond2.mk,v 1.1.1.2 2015/12/02 00:34:27 sjg Exp $
TEST_UNAME_S= NetBSD
@@ -21,5 +21,9 @@
Y= oops
.endif
+.if defined(.NDEF) && ${.NDEF} > 0
+Z= yes
+.endif
+
all:
@echo $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bmake/var.c new/bmake/var.c
--- old/bmake/var.c 2015-10-24 04:36:01.000000000 +0200
+++ new/bmake/var.c 2015-12-01 08:29:22.000000000 +0100
@@ -1,4 +1,4 @@
-/* $NetBSD: var.c,v 1.199 2015/10/20 21:30:57 sjg Exp $ */
+/* $NetBSD: var.c,v 1.200 2015/12/01 07:26:08 sjg Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
*/
#ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.199 2015/10/20 21:30:57 sjg Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.200 2015/12/01 07:26:08 sjg Exp $";
#else
#include <sys/cdefs.h>
#ifndef lint
#if 0
static char sccsid[] = "@(#)var.c 8.3 (Berkeley) 3/19/94";
#else
-__RCSID("$NetBSD: var.c,v 1.199 2015/10/20 21:30:57 sjg Exp $");
+__RCSID("$NetBSD: var.c,v 1.200 2015/12/01 07:26:08 sjg Exp $");
#endif
#endif /* not lint */
#endif
@@ -701,13 +701,15 @@
int i;
val = Var_Subst(NULL, tmp, VAR_GLOBAL, FALSE, TRUE);
- av = brk_string(val, &ac, FALSE, &as);
- for (i = 0; i < ac; i++) {
- Var_Export1(av[i], 0);
+ if (*val) {
+ av = brk_string(val, &ac, FALSE, &as);
+ for (i = 0; i < ac; i++) {
+ Var_Export1(av[i], 0);
+ }
+ free(as);
+ free(av);
}
free(val);
- free(as);
- free(av);
}
}
@@ -739,35 +741,37 @@
track = VAR_EXPORT_PARENT;
}
val = Var_Subst(NULL, str, VAR_GLOBAL, FALSE, TRUE);
- av = brk_string(val, &ac, FALSE, &as);
- for (i = 0; i < ac; i++) {
- name = av[i];
- if (!name[1]) {
- /*
- * A single char.
- * If it is one of the vars that should only appear in
- * local context, skip it, else we can get Var_Subst
- * into a loop.
- */
- switch (name[0]) {
- case '@':
- case '%':
- case '*':
- case '!':
- continue;
+ if (*val) {
+ av = brk_string(val, &ac, FALSE, &as);
+ for (i = 0; i < ac; i++) {
+ name = av[i];
+ if (!name[1]) {
+ /*
+ * A single char.
+ * If it is one of the vars that should only appear in
+ * local context, skip it, else we can get Var_Subst
+ * into a loop.
+ */
+ switch (name[0]) {
+ case '@':
+ case '%':
+ case '*':
+ case '!':
+ continue;
+ }
}
- }
- if (Var_Export1(name, track)) {
- if (VAR_EXPORTED_ALL != var_exportedVars)
- var_exportedVars = VAR_EXPORTED_YES;
- if (isExport && track) {
- Var_Append(MAKE_EXPORTED, name, VAR_GLOBAL);
+ if (Var_Export1(name, track)) {
+ if (VAR_EXPORTED_ALL != var_exportedVars)
+ var_exportedVars = VAR_EXPORTED_YES;
+ if (isExport && track) {
+ Var_Append(MAKE_EXPORTED, name, VAR_GLOBAL);
+ }
}
}
+ free(as);
+ free(av);
}
free(val);
- free(as);
- free(av);
}
1
0
Hello community,
here is the log from the commit of package apulse for openSUSE:Factory checked in at 2015-12-29 12:59:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apulse (Old)
and /work/SRC/openSUSE:Factory/.apulse.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apulse"
Changes:
--------
--- /work/SRC/openSUSE:Factory/apulse/apulse.changes 2015-10-14 16:44:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.apulse.new/apulse.changes 2015-12-29 12:59:47.000000000 +0100
@@ -1,0 +2,8 @@
+Sat Dec 26 21:14:56 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 0.1.7:
+ * Make pa_proplist be able to store binary objects too.
+ * Implement pa_stream_begin_write.
+ * Bugfixes.
+
+-------------------------------------------------------------------
Old:
----
apulse-0.1.6.tar.gz
New:
----
apulse-0.1.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apulse.spec ++++++
--- /var/tmp/diff_new_pack.h1w03M/_old 2015-12-29 12:59:48.000000000 +0100
+++ /var/tmp/diff_new_pack.h1w03M/_new 2015-12-29 12:59:48.000000000 +0100
@@ -18,7 +18,7 @@
%define __provides_exclude_from ^%{_libdir}/apulse/.*.so.*$
Name: apulse
-Version: 0.1.6
+Version: 0.1.7
Release: 0
Summary: PulseAudio emulation for ALSA
License: MIT
++++++ apulse-0.1.6.tar.gz -> apulse-0.1.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/apulse-channel-map.c new/apulse-0.1.7/src/apulse-channel-map.c
--- old/apulse-0.1.6/src/apulse-channel-map.c 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/apulse-channel-map.c 2015-12-19 20:45:50.000000000 +0100
@@ -25,6 +25,59 @@
#include "apulse.h"
#include "trace.h"
+static const char *channel_name[PA_CHANNEL_POSITION_MAX] = {
+ [PA_CHANNEL_POSITION_MONO] = "mono",
+ [PA_CHANNEL_POSITION_FRONT_CENTER] = "front-center",
+ [PA_CHANNEL_POSITION_FRONT_LEFT] = "front-left",
+ [PA_CHANNEL_POSITION_FRONT_RIGHT] = "front-right",
+ [PA_CHANNEL_POSITION_REAR_CENTER] = "rear-center",
+ [PA_CHANNEL_POSITION_REAR_LEFT] = "rear-left",
+ [PA_CHANNEL_POSITION_REAR_RIGHT] = "rear-right",
+ [PA_CHANNEL_POSITION_LFE] = "lfe",
+ [PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER] = "front-left-of-center",
+ [PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER] = "front-right-of-center",
+ [PA_CHANNEL_POSITION_SIDE_LEFT] = "side-left",
+ [PA_CHANNEL_POSITION_SIDE_RIGHT] = "side-right",
+ [PA_CHANNEL_POSITION_AUX0] = "aux0",
+ [PA_CHANNEL_POSITION_AUX1] = "aux1",
+ [PA_CHANNEL_POSITION_AUX2] = "aux2",
+ [PA_CHANNEL_POSITION_AUX3] = "aux3",
+ [PA_CHANNEL_POSITION_AUX4] = "aux4",
+ [PA_CHANNEL_POSITION_AUX5] = "aux5",
+ [PA_CHANNEL_POSITION_AUX6] = "aux6",
+ [PA_CHANNEL_POSITION_AUX7] = "aux7",
+ [PA_CHANNEL_POSITION_AUX8] = "aux8",
+ [PA_CHANNEL_POSITION_AUX9] = "aux9",
+ [PA_CHANNEL_POSITION_AUX10] = "aux10",
+ [PA_CHANNEL_POSITION_AUX11] = "aux11",
+ [PA_CHANNEL_POSITION_AUX12] = "aux12",
+ [PA_CHANNEL_POSITION_AUX13] = "aux13",
+ [PA_CHANNEL_POSITION_AUX14] = "aux14",
+ [PA_CHANNEL_POSITION_AUX15] = "aux15",
+ [PA_CHANNEL_POSITION_AUX16] = "aux16",
+ [PA_CHANNEL_POSITION_AUX17] = "aux17",
+ [PA_CHANNEL_POSITION_AUX18] = "aux18",
+ [PA_CHANNEL_POSITION_AUX19] = "aux19",
+ [PA_CHANNEL_POSITION_AUX20] = "aux20",
+ [PA_CHANNEL_POSITION_AUX21] = "aux21",
+ [PA_CHANNEL_POSITION_AUX22] = "aux22",
+ [PA_CHANNEL_POSITION_AUX23] = "aux23",
+ [PA_CHANNEL_POSITION_AUX24] = "aux24",
+ [PA_CHANNEL_POSITION_AUX25] = "aux25",
+ [PA_CHANNEL_POSITION_AUX26] = "aux26",
+ [PA_CHANNEL_POSITION_AUX27] = "aux27",
+ [PA_CHANNEL_POSITION_AUX28] = "aux28",
+ [PA_CHANNEL_POSITION_AUX29] = "aux29",
+ [PA_CHANNEL_POSITION_AUX30] = "aux30",
+ [PA_CHANNEL_POSITION_AUX31] = "aux31",
+ [PA_CHANNEL_POSITION_TOP_CENTER] = "top-center",
+ [PA_CHANNEL_POSITION_TOP_FRONT_CENTER] = "top-front-center",
+ [PA_CHANNEL_POSITION_TOP_FRONT_LEFT] = "top-front-left",
+ [PA_CHANNEL_POSITION_TOP_FRONT_RIGHT] = "top-front-right",
+ [PA_CHANNEL_POSITION_TOP_REAR_CENTER] = "top-rear-center",
+ [PA_CHANNEL_POSITION_TOP_REAR_LEFT] = "top-rear-left",
+ [PA_CHANNEL_POSITION_TOP_REAR_RIGHT] = "top-rear-right",
+};
APULSE_EXPORT
pa_channel_map *
@@ -81,6 +134,83 @@
}
APULSE_EXPORT
+pa_channel_map *
+pa_channel_map_parse(pa_channel_map *map, const char *s)
+{
+ trace_info("F %s map=%p, s=%s\n", __func__, map, s);
+
+ pa_channel_map m = {};
+
+ if (strcmp(s, "stereo") == 0) {
+ m.channels = 2;
+ m.map[0] = PA_CHANNEL_POSITION_LEFT;
+ m.map[1] = PA_CHANNEL_POSITION_RIGHT;
+ } else if (strcmp(s, "surround-21") == 0) {
+ m.channels = 3;
+ m.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+ m.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+ m.map[2] = PA_CHANNEL_POSITION_LFE;
+ } else if (strcmp(s, "surround-40") == 0) {
+ m.channels = 4;
+ m.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+ m.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+ m.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
+ m.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
+ } else if (strcmp(s, "surround-41") == 0) {
+ m.channels = 5;
+ m.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+ m.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+ m.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
+ m.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
+ m.map[4] = PA_CHANNEL_POSITION_LFE;
+ } else if (strcmp(s, "surround-50") == 0) {
+ m.channels = 5;
+ m.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+ m.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+ m.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
+ m.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
+ m.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
+ } else if (strcmp(s, "surround-51") == 0) {
+ m.channels = 6;
+ m.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+ m.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+ m.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
+ m.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
+ m.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
+ m.map[5] = PA_CHANNEL_POSITION_LFE;
+ } else if (strcmp(s, "surround-51") == 0) {
+ m.channels = 8;
+ m.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
+ m.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
+ m.map[2] = PA_CHANNEL_POSITION_REAR_LEFT;
+ m.map[3] = PA_CHANNEL_POSITION_REAR_RIGHT;
+ m.map[4] = PA_CHANNEL_POSITION_FRONT_CENTER;
+ m.map[5] = PA_CHANNEL_POSITION_LFE;
+ m.map[6] = PA_CHANNEL_POSITION_SIDE_LEFT;
+ m.map[7] = PA_CHANNEL_POSITION_SIDE_RIGHT;
+ }
+
+ if (m.channels > 0) {
+ // it was one of the predefined setups above
+ *map = m;
+ return map;
+ }
+
+ char **p = g_strsplit(s, ",", PA_CHANNELS_MAX);
+
+ int k = 0;
+ while (k < PA_CHANNELS_MAX && p[k]) {
+ m.channels = k + 1;
+ m.map[k] = pa_channel_position_from_string(p[k]);
+ k ++;
+ }
+
+ g_strfreev(p);
+ *map = m;
+ return map;
+}
+
+APULSE_EXPORT
char *
pa_channel_map_snprint(char *s, size_t l, const pa_channel_map *map)
{
@@ -122,63 +252,36 @@
}
APULSE_EXPORT
+pa_channel_position_t
+pa_channel_position_from_string(const char *s)
+{
+ trace_info("F %s s=%s\n", __func__, s);
+
+ if (!s)
+ return PA_CHANNEL_POSITION_INVALID;
+
+ for (unsigned int k = 0; k < PA_CHANNEL_POSITION_MAX; k ++) {
+ if (!channel_name[k])
+ continue;
+ if (strcmp(channel_name[k], s) == 0)
+ return k;
+ }
+
+ return PA_CHANNEL_POSITION_INVALID;
+}
+
+APULSE_EXPORT
const char *
pa_channel_position_to_string(pa_channel_position_t pos)
{
trace_info("F %s pos=%u\n", __func__, pos);
- switch (pos) {
- case PA_CHANNEL_POSITION_MONO: return "mono";
- case PA_CHANNEL_POSITION_FRONT_CENTER: return "front-center";
- case PA_CHANNEL_POSITION_FRONT_LEFT: return "front-left";
- case PA_CHANNEL_POSITION_FRONT_RIGHT: return "front-right";
- case PA_CHANNEL_POSITION_REAR_CENTER: return "rear-center";
- case PA_CHANNEL_POSITION_REAR_LEFT: return "rear-left";
- case PA_CHANNEL_POSITION_REAR_RIGHT: return "rear-right";
- case PA_CHANNEL_POSITION_LFE: return "lfe";
- case PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER: return "front-left-of-center";
- case PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER: return "front-right-of-center";
- case PA_CHANNEL_POSITION_SIDE_LEFT: return "side-left";
- case PA_CHANNEL_POSITION_SIDE_RIGHT: return "side-right";
- case PA_CHANNEL_POSITION_AUX0: return "aux0";
- case PA_CHANNEL_POSITION_AUX1: return "aux1";
- case PA_CHANNEL_POSITION_AUX2: return "aux2";
- case PA_CHANNEL_POSITION_AUX3: return "aux3";
- case PA_CHANNEL_POSITION_AUX4: return "aux4";
- case PA_CHANNEL_POSITION_AUX5: return "aux5";
- case PA_CHANNEL_POSITION_AUX6: return "aux6";
- case PA_CHANNEL_POSITION_AUX7: return "aux7";
- case PA_CHANNEL_POSITION_AUX8: return "aux8";
- case PA_CHANNEL_POSITION_AUX9: return "aux9";
- case PA_CHANNEL_POSITION_AUX10: return "aux10";
- case PA_CHANNEL_POSITION_AUX11: return "aux11";
- case PA_CHANNEL_POSITION_AUX12: return "aux12";
- case PA_CHANNEL_POSITION_AUX13: return "aux13";
- case PA_CHANNEL_POSITION_AUX14: return "aux14";
- case PA_CHANNEL_POSITION_AUX15: return "aux15";
- case PA_CHANNEL_POSITION_AUX16: return "aux16";
- case PA_CHANNEL_POSITION_AUX17: return "aux17";
- case PA_CHANNEL_POSITION_AUX18: return "aux18";
- case PA_CHANNEL_POSITION_AUX19: return "aux19";
- case PA_CHANNEL_POSITION_AUX20: return "aux20";
- case PA_CHANNEL_POSITION_AUX21: return "aux21";
- case PA_CHANNEL_POSITION_AUX22: return "aux22";
- case PA_CHANNEL_POSITION_AUX23: return "aux23";
- case PA_CHANNEL_POSITION_AUX24: return "aux24";
- case PA_CHANNEL_POSITION_AUX25: return "aux25";
- case PA_CHANNEL_POSITION_AUX26: return "aux26";
- case PA_CHANNEL_POSITION_AUX27: return "aux27";
- case PA_CHANNEL_POSITION_AUX28: return "aux28";
- case PA_CHANNEL_POSITION_AUX29: return "aux29";
- case PA_CHANNEL_POSITION_AUX30: return "aux30";
- case PA_CHANNEL_POSITION_AUX31: return "aux31";
- case PA_CHANNEL_POSITION_TOP_CENTER: return "top-center";
- case PA_CHANNEL_POSITION_TOP_FRONT_CENTER: return "top-front-center";
- case PA_CHANNEL_POSITION_TOP_FRONT_LEFT: return "top-front-left";
- case PA_CHANNEL_POSITION_TOP_FRONT_RIGHT: return "top-front-right";
- case PA_CHANNEL_POSITION_TOP_REAR_CENTER: return "top-rear-center";
- case PA_CHANNEL_POSITION_TOP_REAR_LEFT: return "top-rear-left";
- case PA_CHANNEL_POSITION_TOP_REAR_RIGHT: return "top-rear-right";
- default: return "unknown";
- }
+ if (pos < 0 || pos >= PA_CHANNEL_POSITION_MAX)
+ return "unknown";
+
+ const char *s = channel_name[pos];
+ if (!s)
+ return "unknown";
+
+ return s;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/apulse-context.c new/apulse-0.1.7/src/apulse-context.c
--- old/apulse-0.1.6/src/apulse-context.c 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/apulse-context.c 2015-12-19 20:45:50.000000000 +0100
@@ -232,17 +232,21 @@
pa_context_set_source_volume_by_index(pa_context *c, uint32_t idx, const pa_cvolume *volume,
pa_context_success_cb_t cb, void *userdata)
{
- trace_info("Z %s c=%p, idx=%u, volume=%p, cb=%p, userdata=%p\n", __func__, c, idx, volume,
+ gchar *s_volume = trace_pa_volume_as_string(volume);
+ trace_info("Z %s c=%p, idx=%u, volume=%s, cb=%p, userdata=%p\n", __func__, c, idx, s_volume,
cb, userdata);
+ g_free(s_volume);
- return NULL;
+ // TODO: actually change volume
+ return pa_operation_new(c->mainloop_api, PAOP_CONTEXT_SET_SOURCE_VOLUME_BY_INDEX, c,
+ NULL, cb, userdata);
}
APULSE_EXPORT
void
pa_context_set_subscribe_callback(pa_context *c, pa_context_subscribe_cb_t cb, void *userdata)
{
- trace_info("Z %s\n", __func__);
+ trace_info("Z %s c=%p, cb=%p, userdata=%p\n", __func__, c, cb, userdata);
}
APULSE_EXPORT
@@ -250,7 +254,7 @@
pa_context_subscribe(pa_context *c, pa_subscription_mask_t m, pa_context_success_cb_t cb,
void *userdata)
{
- trace_info("Z %s\n", __func__);
+ trace_info("Z %s c=%p, m=0x%04x, cb=%p, userdata=%p\n", __func__, c, m, cb, userdata);
return NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/apulse-misc.c new/apulse-0.1.7/src/apulse-misc.c
--- old/apulse-0.1.6/src/apulse-misc.c 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/apulse-misc.c 2015-12-19 20:45:50.000000000 +0100
@@ -140,9 +140,13 @@
pa_cvolume *
pa_cvolume_set(pa_cvolume *a, unsigned channels, pa_volume_t v)
{
- trace_info("Z %s a=%p, channels=%u, v=%u\n", __func__, a, channels, v);
+ trace_info("F %s a=%p, channels=%u, v=%u\n", __func__, a, channels, v);
- return NULL;
+ a->channels = MIN(channels, PA_CHANNELS_MAX);
+ for (unsigned int k = 0; k < a->channels; k ++)
+ a->values[k] = CLAMP(v, PA_VOLUME_MUTED, PA_VOLUME_MAX);
+
+ return a;
}
APULSE_EXPORT
@@ -234,3 +238,33 @@
return strdup(str);
}
+
+APULSE_EXPORT
+char *
+pa_get_binary_name(char *s, size_t len)
+{
+ trace_info("F %s s=%p, len=%d\n", __func__, s, (int)len);
+
+ if (len == 0)
+ return NULL;
+
+ char fullpath[PATH_MAX];
+ ssize_t flen = readlink("/proc/self/exe", fullpath, sizeof(fullpath) - 1);
+
+ if (flen < 0)
+ return NULL;
+
+ // ensure fullpath ends with '\0'
+ flen = MIN(flen, sizeof(fullpath) - 1);
+ fullpath[flen] = 0;
+
+ char *name = basename(fullpath);
+ size_t name_len = strlen(name);
+
+ // copy no more than len bytes to s
+ name_len = MIN(name_len, len - 1);
+ memcpy(s, name, name_len);
+ s[name_len] = 0;
+
+ return s;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/apulse-operation.c new/apulse-0.1.7/src/apulse-operation.c
--- old/apulse-0.1.6/src/apulse-operation.c 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/apulse-operation.c 2015-12-19 20:45:50.000000000 +0100
@@ -91,6 +91,11 @@
if (o->cb)
((pa_stream_success_cb_t)o->cb)(s, 1, o->cb_userdata);
break;
+ case PAOP_CONTEXT_SET_SOURCE_VOLUME_BY_INDEX:
+ c = o->obj;
+ if (o->cb)
+ ((pa_context_success_cb_t)o->cb)(c, 1, o->cb_userdata);
+ break;
default:
break;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/apulse-proplist.c new/apulse-0.1.7/src/apulse-proplist.c
--- old/apulse-0.1.6/src/apulse-proplist.c 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/apulse-proplist.c 2015-12-19 20:45:50.000000000 +0100
@@ -26,6 +26,11 @@
#include "trace.h"
+struct prop {
+ size_t len;
+ char *data;
+};
+
APULSE_EXPORT
void
pa_proplist_free(pa_proplist* p)
@@ -43,6 +48,16 @@
free(data);
}
+static
+void
+prop_destroy_func(gpointer data)
+{
+ struct prop *p = data;
+
+ free(p->data);
+ g_slice_free1(sizeof(*p), p);
+}
+
APULSE_EXPORT
pa_proplist *
pa_proplist_new(void)
@@ -51,17 +66,40 @@
pa_proplist *p = calloc(1, sizeof(pa_proplist));
p->ht = g_hash_table_new_full(g_str_hash, g_str_equal,
- string_destroy_func, string_destroy_func);
+ string_destroy_func, prop_destroy_func);
return p;
}
APULSE_EXPORT
int
+pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes)
+{
+ trace_info("F %s p=%p, key=%s, data=%p, nbytes=%d\n", __func__, p, key, data, (int)nbytes);
+
+ struct prop *v = g_slice_alloc(sizeof(*v));
+ if (!v)
+ return -1;
+
+ v->data = g_memdup(data, nbytes);
+ v->len = nbytes;
+
+ g_hash_table_insert(p->ht, strdup(key), v);
+ return 0;
+}
+
+APULSE_EXPORT
+int
pa_proplist_sets(pa_proplist *p, const char *key, const char *value)
{
trace_info("F %s p=%p, key=%s, value=%s\n", __func__, p, key, value);
- g_hash_table_insert(p->ht, strdup(key), strdup(value));
+ struct prop *v = g_slice_alloc(sizeof(*v));
+ if (!v)
+ return -1;
+ v->data = strdup(value);
+ v->len = strlen(value) + 1;
+
+ g_hash_table_insert(p->ht, strdup(key), v);
return 0;
}
@@ -93,5 +131,17 @@
pa_proplist_gets(pa_proplist *p, const char *key)
{
trace_info("F %s p=%p, key=%s\n", __func__, p, key);
- return g_hash_table_lookup(p->ht, key);
+
+ struct prop *v = g_hash_table_lookup(p->ht, key);
+
+ if (!v)
+ return NULL;
+
+ if (v->len == 0)
+ return NULL;
+
+ if (v->data[v->len - 1] != '\0')
+ return NULL; // not a string
+
+ return v->data;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/apulse-stream.c new/apulse-0.1.7/src/apulse-stream.c
--- old/apulse-0.1.6/src/apulse-stream.c 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/apulse-stream.c 2015-12-19 20:45:50.000000000 +0100
@@ -190,9 +190,6 @@
unsigned int period_time = 20 * 1000;
dir = 1;
CHECK_A(snd_pcm_hw_params_set_period_time_near, (s->ph, hw_params, &period_time, &dir));
- dir = -1;
- snd_pcm_uframes_t period_size;
- CHECK_A(snd_pcm_hw_params_get_period_size, (hw_params, &period_size, &dir));
unsigned int buffer_time = 4 * period_time;
dir = 1;
@@ -202,6 +199,8 @@
CHECK_A(snd_pcm_sw_params_malloc, (&sw_params));
CHECK_A(snd_pcm_sw_params_current, (s->ph, sw_params));
+
+ const snd_pcm_uframes_t period_size = (uint64_t)period_time * rate / (1000 * 1000);
CHECK_A(snd_pcm_sw_params_set_avail_min, (s->ph, sw_params, period_size));
// no period event requested
CHECK_A(snd_pcm_sw_params, (s->ph, sw_params));
@@ -235,6 +234,39 @@
APULSE_EXPORT
int
+pa_stream_begin_write(pa_stream *p, void **data, size_t *nbytes)
+{
+ trace_info("F %s p=%p\n", __func__, p);
+
+ free(p->write_buffer);
+
+ if (*nbytes == (size_t)-1)
+ *nbytes = 8192;
+
+ p->write_buffer = malloc(*nbytes);
+
+ if (!p->write_buffer)
+ return -1;
+
+ *data = p->write_buffer;
+
+ return 0;
+}
+
+APULSE_EXPORT
+int
+pa_stream_cancel_write(pa_stream *p)
+{
+ trace_info("F %s p=%p\n", __func__, p);
+
+ free(p->write_buffer);
+ p->write_buffer = NULL;
+
+ return 0;
+}
+
+APULSE_EXPORT
+int
pa_stream_connect_playback(pa_stream *s, const char *dev, const pa_buffer_attr *attr,
pa_stream_flags_t flags, const pa_cvolume *volume,
pa_stream *sync_stream)
@@ -474,7 +506,7 @@
s->timing_info.configured_source_usec = 0;
s->timing_info.since_underrun = 0;
- s->rb = ringbuffer_new(50 * 1024); // TODO: figure out size
+ s->rb = ringbuffer_new(72 * 1024); // TODO: figure out size
s->peek_buffer = malloc(s->rb->end - s->rb->start);
return s;
@@ -550,6 +582,7 @@
g_hash_table_remove(s->c->streams_ht, GINT_TO_POINTER(s->idx));
ringbuffer_free(s->rb);
free(s->peek_buffer);
+ free(s->write_buffer);
free(s->name);
free(s);
}
@@ -570,7 +603,19 @@
{
trace_info("F %s s=%p\n", __func__, s);
- return ringbuffer_writable_size(s->rb);
+ size_t writable_size = ringbuffer_writable_size(s->rb);
+
+ // Some applications try to push more data than reported to be available
+ // by pa_stream_writable_size(), which is fine for original PulseAudio
+ // but is a severe error in this implementation, since buffer size is
+ // limited.
+ //
+ // Workaround issue by reserving certain amount for that case.
+
+ const size_t limit = 16 * 1024; // TODO: adaptive values?
+
+ return writable_size >= limit ? writable_size
+ : 0;
}
APULSE_EXPORT
@@ -597,8 +642,14 @@
size_t written = ringbuffer_write(s->rb, data, nbytes);
s->timing_info.since_underrun += written;
s->timing_info.write_index += written;
- if (free_cb)
- free_cb((void *)data);
+
+ if (data == s->write_buffer) {
+ free(s->write_buffer);
+ s->write_buffer = NULL;
+ } else {
+ if (free_cb)
+ free_cb((void *)data);
+ }
return 0;
}
@@ -656,12 +707,21 @@
uint32_t
pa_stream_get_device_index(pa_stream *s)
{
- trace_info("Z %s s=%p\n", __func__, s);
+ trace_info("F %s s=%p\n", __func__, s);
+ // apulse uses only one sink -- ALSA device, so index is always 0
return 0;
}
APULSE_EXPORT
+const char *
+pa_stream_get_device_name(pa_stream *s)
+{
+ trace_info("F %s s=%p\n", __func__, s);
+ return "apulse";
+}
+
+APULSE_EXPORT
int
pa_stream_peek(pa_stream *s, const void **data, size_t *nbytes)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/apulse.h new/apulse-0.1.7/src/apulse.h
--- old/apulse-0.1.6/src/apulse.h 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/apulse.h 2015-12-19 20:45:50.000000000 +0100
@@ -44,6 +44,7 @@
PAOP_STREAM_TRIGGER,
PAOP_STREAM_UPD_TIMING_INFO,
PAOP_CONTEXT_GET_SINK_INFO,
+ PAOP_CONTEXT_SET_SOURCE_VOLUME_BY_INDEX,
};
struct pa_context {
@@ -120,6 +121,7 @@
ringbuffer_t *rb;
void *peek_buffer;
size_t peek_buffer_data_len;
+ void *write_buffer;
volatile int paused;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/notimplemented.c new/apulse-0.1.7/src/notimplemented.c
--- old/apulse-0.1.6/src/notimplemented.c 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/notimplemented.c 2015-12-19 20:45:50.000000000 +0100
@@ -104,13 +104,6 @@
}
APULSE_EXPORT
-int pa_proplist_set(pa_proplist *p, const char *key, const void *data, size_t nbytes)
-{
- trace_info("Z %s\n", __func__);
- return 0;
-}
-
-APULSE_EXPORT
int pa_proplist_get(pa_proplist *p, const char *key, const void **data, size_t *nbytes)
{
trace_info("Z %s\n", __func__);
@@ -195,13 +188,6 @@
}
APULSE_EXPORT
-pa_channel_position_t pa_channel_position_from_string(const char *s)
-{
- trace_info("Z %s\n", __func__);
- return 0;
-}
-
-APULSE_EXPORT
const char* pa_channel_position_to_pretty_string(pa_channel_position_t pos)
{
trace_info("Z %s\n", __func__);
@@ -209,13 +195,6 @@
}
APULSE_EXPORT
-pa_channel_map *pa_channel_map_parse(pa_channel_map *map, const char *s)
-{
- trace_info("Z %s\n", __func__);
- return NULL;
-}
-
-APULSE_EXPORT
int pa_channel_map_equal(const pa_channel_map *a, const pa_channel_map *b)
{
trace_info("Z %s\n", __func__);
@@ -809,27 +788,6 @@
}
APULSE_EXPORT
-const char *pa_stream_get_device_name(pa_stream *s)
-{
- trace_info("Z %s\n", __func__);
- return NULL;
-}
-
-APULSE_EXPORT
-int pa_stream_begin_write(pa_stream *p, void **data, size_t *nbytes)
-{
- trace_info("Z %s\n", __func__);
- return 0;
-}
-
-APULSE_EXPORT
-int pa_stream_cancel_write(pa_stream *p)
-{
- trace_info("Z %s\n", __func__);
- return 0;
-}
-
-APULSE_EXPORT
void pa_stream_set_overflow_callback(pa_stream *p, pa_stream_notify_cb_t cb, void *userdata)
{
trace_info("Z %s\n", __func__);
@@ -1463,13 +1421,6 @@
{
trace_info("Z %s\n", __func__);
return NULL;
-}
-
-APULSE_EXPORT
-char *pa_get_binary_name(char *s, size_t l)
-{
- trace_info("Z %s\n", __func__);
- return NULL;
}
APULSE_EXPORT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/trace.c new/apulse-0.1.7/src/trace.c
--- old/apulse-0.1.6/src/trace.c 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/trace.c 2015-12-19 20:45:50.000000000 +0100
@@ -93,6 +93,25 @@
return res;
}
+gchar *
+trace_pa_volume_as_string(const pa_cvolume *v)
+{
+ const unsigned int channel_count = MIN(v->channels, PA_CHANNELS_MAX);
+ GString *s = g_string_new(NULL);
+
+ g_string_append_printf(s, "%d:{", v->channels);
+ for (unsigned int k = 0; k < channel_count ; k ++) {
+ if (k != 0)
+ g_string_append(s, ", ");
+
+ g_string_append_printf(s, "%u", v->values[k]);
+ }
+
+ g_string_append(s, "}");
+
+ return g_string_free(s, FALSE);
+}
+
void
trace_lock(void)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.6/src/trace.h new/apulse-0.1.7/src/trace.h
--- old/apulse-0.1.6/src/trace.h 2015-05-25 20:19:11.000000000 +0200
+++ new/apulse-0.1.7/src/trace.h 2015-12-19 20:45:50.000000000 +0100
@@ -36,6 +36,9 @@
gchar *
trace_pa_buffer_attr_as_string(const pa_buffer_attr *attr);
+gchar *
+trace_pa_volume_as_string(const pa_cvolume *v);
+
void
trace_lock(void);
1
0
Hello community,
here is the log from the commit of package hwloc for openSUSE:Factory checked in at 2015-12-29 12:59:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hwloc (Old)
and /work/SRC/openSUSE:Factory/.hwloc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hwloc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hwloc/hwloc.changes 2015-11-17 14:23:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.hwloc.new/hwloc.changes 2015-12-29 12:59:44.000000000 +0100
@@ -1,0 +2,45 @@
+Sat Dec 26 17:24:37 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 1.11.2
+ * Improve support for Intel Knights Landing Xeon Phi on Linux:
+ + Group local NUMA nodes of normal memory (DDR) and high-bandwidth memory
+ (MCDRAM) together through "Cluster" groups so that the local MCDRAM is
+ easy to find.
+ - See "How do I find the local MCDRAM NUMA node on Intel Knights
+ Landing Xeon Phi?" in the documentation.
+ - For uniformity across all KNL configurations, always have a NUMA node
+ object even if the host is UMA.
+ + Fix the detection of the memory-side cache:
+ - Add the hwloc-dump-hwdata superuser utility to dump SMBIOS
+ information
+ into /var/run/hwloc/ as root during boot, and load this dumped
+ information from the hwloc library at runtime.
+ - See "Why do I need hwloc-dump-hwdata for caches on Intel Knights
+ Landing Xeon Phi?" in the documentation.
+ Thanks to Grzegorz Andrejczuk for the patches and for the help.
+ * The x86 and linux backends may now be combined for discovering CPUs
+ through x86 CPUID and memory from the Linux kernel.
+ This is useful for working around buggy CPU information reported by Linux
+ (for instance the AMD Bulldozer/Piledriver bug below).
+ Combination is enabled by passing HWLOC_COMPONENTS=x86 in the environment.
+ * Fix L3 cache sharing on AMD Opteron 63xx (Piledriver) and 62xx (Bulldozer)
+ in the x86 backend. Thanks to many users who helped.
+ * Fix the overzealous L3 cache sharing fix added to the x86 backend in 1.11.1
+ for AMD Opteron 61xx (Magny-Cours) processors.
+ * The x86 backend may now add the info attribute Inclusive=0 or 1 to caches
+ it discovers, or to caches discovered by other backends earlier.
+ Thanks to Guillaume Beauchamp for the patch.
+ * Fix the management on alloc_membind() allocation failures on AIX, HP-UX
+ and OSF/Tru64.
+ * Fix spurious failures to load with ENOMEM on AIX in case of Misc objects
+ below PUs.
+ * lstopo improvements in X11 and Windows graphical mode:
+ + Add + - f 1 shortcuts to manually zoom-in, zoom-out, reset the scale,
+ or fit the entire window.
+ + Display all keyboard shortcuts in the console.
+ * Debug messages may be disabled at runtime by passing
+ * HWLOC_DEBUG_VERBOSE=0
+ in the environment when --enable-debug was passed to configure.
+ * Add a FAQ entry "What are these Group objects in my topology?".
+
+-------------------------------------------------------------------
Old:
----
hwloc-1.11.1.tar.bz2
New:
----
hwloc-1.11.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hwloc.spec ++++++
--- /var/tmp/diff_new_pack.45SE7W/_old 2015-12-29 12:59:44.000000000 +0100
+++ /var/tmp/diff_new_pack.45SE7W/_new 2015-12-29 12:59:44.000000000 +0100
@@ -19,7 +19,7 @@
%global lname libhwloc5
%define sversion 1.11
Name: hwloc
-Version: 1.11.1
+Version: 1.11.2
Release: 0
Summary: Portable Hardware Locality
License: BSD-3-Clause
@@ -160,6 +160,10 @@
%defattr(-, root, root, -)
%doc AUTHORS COPYING NEWS README VERSION
%attr(0755,root,root) %{_bindir}/%{name}*
+# This binary is built only for intel architectures
+%ifarch %ix86 x86_64
+%attr(0755,root,root) %{_sbindir}/hwloc-dump-hwdata
+%endif
%doc %{_mandir}/man1/%{name}*
%files lstopo
++++++ hwloc-1.11.1.tar.bz2 -> hwloc-1.11.2.tar.bz2 ++++++
++++ 7954 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package perl-Test-SharedFork for openSUSE:Factory checked in at 2015-12-29 12:59:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-SharedFork (Old)
and /work/SRC/openSUSE:Factory/.perl-Test-SharedFork.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-SharedFork"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-SharedFork/perl-Test-SharedFork.changes 2015-10-14 16:44:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Test-SharedFork.new/perl-Test-SharedFork.changes 2015-12-29 12:59:42.000000000 +0100
@@ -1,0 +2,6 @@
+Sat Dec 26 10:18:38 UTC 2015 - coolo(a)suse.com
+
+- updated to 0.35
+ see /usr/share/doc/packages/perl-Test-SharedFork/Changes
+
+-------------------------------------------------------------------
Old:
----
Test-SharedFork-0.34.tar.gz
New:
----
Test-SharedFork-0.35.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Test-SharedFork.spec ++++++
--- /var/tmp/diff_new_pack.FgY7Px/_old 2015-12-29 12:59:43.000000000 +0100
+++ /var/tmp/diff_new_pack.FgY7Px/_new 2015-12-29 12:59:43.000000000 +0100
@@ -17,7 +17,7 @@
Name: perl-Test-SharedFork
-Version: 0.34
+Version: 0.35
Release: 0
%define cpan_name Test-SharedFork
Summary: Fork Test
@@ -39,7 +39,7 @@
%description
Test::SharedFork is utility module for Test::Builder.
-This module makes the fork(2) manpage safety in your test case.
+This module makes fork(2) safety in your test case.
This module merges test count with parent process & child process.
++++++ Test-SharedFork-0.34.tar.gz -> Test-SharedFork-0.35.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-SharedFork-0.34/Changes new/Test-SharedFork-0.35/Changes
--- old/Test-SharedFork-0.34/Changes 2015-09-29 16:58:05.000000000 +0200
+++ new/Test-SharedFork-0.35/Changes 2015-12-22 00:25:54.000000000 +0100
@@ -1,6 +1,10 @@
Revision history for Perl module Test::SharedFork
-0.34 2015-09-29T14:57:22Z
+0.35 2015-12-21T23:25:12Z
+
+ - Support Test2
+
+0.34 2015-09-29T14:53:27Z
- Support upcoming Test::Stream changes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-SharedFork-0.34/META.json new/Test-SharedFork-0.35/META.json
--- old/Test-SharedFork-0.34/META.json 2015-09-29 16:58:05.000000000 +0200
+++ new/Test-SharedFork-0.35/META.json 2015-12-22 00:25:54.000000000 +0100
@@ -4,7 +4,7 @@
"Tokuhiro Matsuno <tokuhirom slkjfd gmail.com>"
],
"dynamic_config" : 0,
- "generated_by" : "Minilla/v2.5.0",
+ "generated_by" : "Minilla/v3.0.1",
"license" : [
"perl_5"
],
@@ -28,7 +28,7 @@
"prereqs" : {
"configure" : {
"requires" : {
- "ExtUtils::MakeMaker" : "0"
+ "ExtUtils::MakeMaker" : "6.64"
}
},
"develop" : {
@@ -61,7 +61,7 @@
"provides" : {
"Test::SharedFork" : {
"file" : "lib/Test/SharedFork.pm",
- "version" : "0.34"
+ "version" : "0.35"
},
"Test::SharedFork::Array" : {
"file" : "lib/Test/SharedFork/Array.pm"
@@ -84,7 +84,7 @@
"web" : "https://github.com/tokuhirom/Test-SharedFork"
}
},
- "version" : "0.34",
+ "version" : "0.35",
"x_contributors" : [
"lestrrat <lestrrat+github(a)gmail.com>",
"Vyacheslav Matyukhin <me(a)berekuk.ru>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-SharedFork-0.34/META.yml new/Test-SharedFork-0.35/META.yml
--- old/Test-SharedFork-0.34/META.yml 2015-09-29 16:58:05.000000000 +0200
+++ new/Test-SharedFork-0.35/META.yml 2015-12-22 00:25:54.000000000 +0100
@@ -8,9 +8,9 @@
Test::Requires: '0'
Time::HiRes: '0'
configure_requires:
- ExtUtils::MakeMaker: '0'
+ ExtUtils::MakeMaker: '6.64'
dynamic_config: 0
-generated_by: 'Minilla/v2.5.0, CPAN::Meta::Converter version 2.150001'
+generated_by: 'Minilla/v3.0.1, CPAN::Meta::Converter version 2.150001'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -29,7 +29,7 @@
provides:
Test::SharedFork:
file: lib/Test/SharedFork.pm
- version: '0.34'
+ version: '0.35'
Test::SharedFork::Array:
file: lib/Test/SharedFork/Array.pm
Test::SharedFork::Scalar:
@@ -46,7 +46,7 @@
bugtracker: https://github.com/tokuhirom/Test-SharedFork/issues
homepage: https://github.com/tokuhirom/Test-SharedFork
repository: git://github.com/tokuhirom/Test-SharedFork.git
-version: '0.34'
+version: '0.35'
x_contributors:
- 'lestrrat <lestrrat+github(a)gmail.com>'
- 'Vyacheslav Matyukhin <me(a)berekuk.ru>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-SharedFork-0.34/Makefile.PL new/Test-SharedFork-0.35/Makefile.PL
--- old/Test-SharedFork-0.34/Makefile.PL 2015-09-29 16:58:05.000000000 +0200
+++ new/Test-SharedFork-0.35/Makefile.PL 2015-12-22 00:25:54.000000000 +0100
@@ -3,19 +3,19 @@
# DO NOT EDIT DIRECTLY.
# =========================================================================
-use 5.008_001;
+use 5.006;
use strict;
-use ExtUtils::MakeMaker;
+use ExtUtils::MakeMaker 6.64;
my %WriteMakefileArgs = (
NAME => 'Test::SharedFork',
DISTNAME => 'Test-SharedFork',
- VERSION => '0.34',
+ VERSION => '0.35',
EXE_FILES => [glob('script/*'), glob('bin/*')],
CONFIGURE_REQUIRES => {
- "ExtUtils::MakeMaker" => 0
+ "ExtUtils::MakeMaker" => "6.64"
}
,
BUILD_REQUIRES => {}
@@ -37,34 +37,4 @@
,
);
-my $full_prereqs = {
- "App::Prove" => 0,
- "ExtUtils::MakeMaker" => 0,
- "File::Temp" => 0,
- "Test::Builder" => "0.32",
- "Test::Builder::Module" => 0,
- "Test::Builder::Tester" => 0,
- "Test::More" => "0.88",
- "Test::Requires" => 0,
- "Time::HiRes" => 0,
- "perl" => "5.008_001"
-}
-;
-
-unless (eval { ExtUtils::MakeMaker->VERSION(6.63_03) }) {
- delete $WriteMakefileArgs{TEST_REQUIRES};
- delete $WriteMakefileArgs{BUILD_REQUIRES};
- $WriteMakefileArgs{PREREQ_PM} = $full_prereqs;
-}
-
-unless (eval { ExtUtils::MakeMaker->VERSION(6.52) }) {
- delete $WriteMakefileArgs{CONFIGURE_REQUIRES};
-}
-
-unless (eval { ExtUtils::MakeMaker->VERSION(6.57_01) }) {
- use File::Copy;
- copy('META.yml', 'MYMETA.yml') or warn "META.yml: $!";
- copy('META.json', 'MYMETA.json') or warn "META.json: $!";
-}
-
WriteMakefile(%WriteMakefileArgs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-SharedFork-0.34/lib/Test/SharedFork.pm new/Test-SharedFork-0.35/lib/Test/SharedFork.pm
--- old/Test-SharedFork-0.34/lib/Test/SharedFork.pm 2015-09-29 16:58:05.000000000 +0200
+++ new/Test-SharedFork-0.35/lib/Test/SharedFork.pm 2015-12-22 00:25:54.000000000 +0100
@@ -2,7 +2,7 @@
use strict;
use warnings;
use base 'Test::Builder::Module';
-our $VERSION = '0.34';
+our $VERSION = '0.35';
use Test::Builder 0.32; # 0.32 or later is needed
use Test::SharedFork::Scalar;
use Test::SharedFork::Array;
@@ -53,6 +53,28 @@
if ($builder->can("coordinate_forks")) {
# Use Test::Builder's implementation.
$builder->new->coordinate_forks(1);
+ } elsif($INC{'Test2/Global.pm'} || $INC{'Test2/API.pm'} || $INC{'Test2/Context.pm'}) {
+ require Test2::Global;
+
+ Test2::Global::test2_ipc_enable_polling();
+
+ # Check if we already have IPC
+ my $stack = $builder->{Stack};
+ return if $stack->top->ipc;
+
+ # Find a driver
+ my ($driver) = Test2::Global::test2_ipc_drivers();
+ unless ($driver) {
+ require Test2::IPC::Driver::Files;
+ $driver = 'Test2::IPC::Driver::Files';
+ }
+
+ # Add the IPC to all hubs
+ my $ipc = $driver->new();
+ for my $hub (@$stack) {
+ $hub->set_ipc($ipc);
+ $ipc->add_hub($hub->hid);
+ }
} elsif($INC{'Test/Stream/Sync.pm'}) {
require Test::Stream::IPC;
Test::Stream::IPC->import('poll');
1
0