openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
March 2017
- 2 participants
- 2028 discussions
Hello community,
here is the log from the commit of package ghc-hspec-meta for openSUSE:Factory checked in at 2017-03-28 15:21:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hspec-meta (Old)
and /work/SRC/openSUSE:Factory/.ghc-hspec-meta.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hspec-meta"
Tue Mar 28 15:21:44 2017 rev:2 rq:479846 version:2.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hspec-meta/ghc-hspec-meta.changes 2017-03-09 01:53:46.305011565 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-hspec-meta.new/ghc-hspec-meta.changes 2017-03-28 15:21:48.577072025 +0200
@@ -1,0 +2,5 @@
+Sun Feb 12 14:20:10 UTC 2017 - psimons(a)suse.com
+
+- Update to version 2.3.2 with cabal2obs.
+
+-------------------------------------------------------------------
Old:
----
hspec-meta-2.2.1.tar.gz
New:
----
hspec-meta-2.3.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-hspec-meta.spec ++++++
--- /var/tmp/diff_new_pack.h3XssA/_old 2017-03-28 15:21:50.316825628 +0200
+++ /var/tmp/diff_new_pack.h3XssA/_new 2017-03-28 15:21:50.316825628 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-hspec-meta
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%global pkg_name hspec-meta
Name: ghc-%{pkg_name}
-Version: 2.2.1
+Version: 2.3.2
Release: 0
Summary: A version of Hspec which is used to test Hspec itself
License: MIT
@@ -30,6 +30,7 @@
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-ansi-terminal-devel
BuildRequires: ghc-async-devel
+BuildRequires: ghc-call-stack-devel
BuildRequires: ghc-deepseq-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-filepath-devel
++++++ hspec-meta-2.2.1.tar.gz -> hspec-meta-2.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-core/src/Test/Hspec/Compat.hs new/hspec-meta-2.3.2/hspec-core/src/Test/Hspec/Compat.hs
--- old/hspec-meta-2.2.1/hspec-core/src/Test/Hspec/Compat.hs 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-core/src/Test/Hspec/Compat.hs 2016-10-16 07:16:55.000000000 +0200
@@ -46,32 +46,17 @@
, sum
)
-#if !MIN_VERSION_base(4,3,0)
-import Control.Monad.Trans.Error () -- for Monad (Either e)
-#endif
-
import Data.Typeable (Typeable, typeOf, typeRepTyCon)
import Text.Read
import Data.IORef
import System.Environment
-#if MIN_VERSION_base(4,4,0)
import Data.Typeable.Internal (tyConModule, tyConName)
import Control.Concurrent
-#endif
#if !MIN_VERSION_base(4,6,0)
import qualified Text.ParserCombinators.ReadP as P
-#endif
-
-getDefaultConcurrentJobs :: IO Int
-#if MIN_VERSION_base(4,4,0)
-getDefaultConcurrentJobs = getNumCapabilities
-#else
-getDefaultConcurrentJobs = return 1
-#endif
-#if !MIN_VERSION_base(4,6,0)
-- |Strict version of 'modifyIORef'
modifyIORef' :: IORef a -> (a -> a) -> IO ()
modifyIORef' ref f = do
@@ -111,17 +96,11 @@
showType :: Typeable a => a -> String
showType a = let t = typeRepTyCon (typeOf a) in
-#if MIN_VERSION_base(4,4,0)
show t
-#else
- (reverse . takeWhile (/= '.') . reverse . show) t
-#endif
-
showFullType :: Typeable a => a -> String
showFullType a = let t = typeRepTyCon (typeOf a) in
-#if MIN_VERSION_base(4,4,0)
tyConModule t ++ "." ++ tyConName t
-#else
- show t
-#endif
+
+getDefaultConcurrentJobs :: IO Int
+getDefaultConcurrentJobs = getNumCapabilities
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-core/src/Test/Hspec/Core/Example.hs new/hspec-meta-2.3.2/hspec-core/src/Test/Hspec/Core/Example.hs
--- old/hspec-meta-2.2.1/hspec-core/src/Test/Hspec/Core/Example.hs 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-core/src/Test/Hspec/Core/Example.hs 2016-10-16 07:16:55.000000000 +0200
@@ -14,6 +14,11 @@
import Data.Maybe (fromMaybe)
import Data.List (isPrefixOf)
import qualified Test.HUnit.Lang as HUnit
+
+#if MIN_VERSION_HUnit(1,4,0)
+import Data.CallStack
+#endif
+
import qualified Control.Exception as E
import Data.Typeable (Typeable)
import qualified Test.QuickCheck as QC
@@ -85,11 +90,20 @@
hunitFailureToResult :: HUnit.HUnitFailure -> Result
hunitFailureToResult e = case e of
#if MIN_VERSION_HUnit(1,3,0)
- HUnit.HUnitFailure loc err -> Fail location err
+ HUnit.HUnitFailure mLoc err ->
+#if MIN_VERSION_HUnit(1,5,0)
+ Fail location (HUnit.formatFailureReason err)
+#else
+ Fail location err
+#endif
where
- location = case loc of
+ location = case mLoc of
Nothing -> Nothing
- Just (HUnit.Location f l c) -> Just $ Location f l c ExactLocation
+#if MIN_VERSION_HUnit(1,4,0)
+ Just loc -> Just $ Location (srcLocFile loc) (srcLocStartLine loc) (srcLocStartCol loc) ExactLocation
+#else
+ Just loc -> Just $ Location (HUnit.locationFile loc) (HUnit.locationLine loc) (HUnit.locationColumn loc) ExactLocation
+#endif
#else
HUnit.HUnitFailure err -> Fail Nothing err
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-core/src/Test/Hspec/Core/Spec.hs new/hspec-meta-2.3.2/hspec-core/src/Test/Hspec/Core/Spec.hs
--- old/hspec-meta-2.2.1/hspec-core/src/Test/Hspec/Core/Spec.hs 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-core/src/Test/Hspec/Core/Spec.hs 2016-10-16 07:16:55.000000000 +0200
@@ -1,8 +1,5 @@
-{-# LANGUAGE CPP #-}
-#if MIN_VERSION_base(4,8,1)
-#define HAS_SOURCE_LOCATIONS
-{-# LANGUAGE ImplicitParams #-}
-#endif
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE ConstraintKinds #-}
-- |
-- Stability: unstable
--
@@ -27,11 +24,8 @@
, module Test.Hspec.Core.Tree
) where
-#ifdef HAS_SOURCE_LOCATIONS
-import GHC.Stack
-#endif
-
import qualified Control.Exception as E
+import Data.CallStack
import Test.Hspec.Expectations (Expectation)
@@ -54,11 +48,7 @@
-- > describe "absolute" $ do
-- > it "returns a positive number when given a negative number" $
-- > absolute (-1) == 1
-#ifdef HAS_SOURCE_LOCATIONS
-it :: (?loc :: CallStack, Example a) => String -> a -> SpecWith (Arg a)
-#else
-it :: Example a => String -> a -> SpecWith (Arg a)
-#endif
+it :: (HasCallStack, Example a) => String -> a -> SpecWith (Arg a)
it label action = fromSpecList [specItem label action]
-- | `parallel` marks all spec items of the given spec to be safe for parallel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-core/src/Test/Hspec/Core/Tree.hs new/hspec-meta-2.3.2/hspec-core/src/Test/Hspec/Core/Tree.hs
--- old/hspec-meta-2.2.1/hspec-core/src/Test/Hspec/Core/Tree.hs 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-core/src/Test/Hspec/Core/Tree.hs 2016-10-16 07:16:55.000000000 +0200
@@ -1,10 +1,8 @@
{-# LANGUAGE DeriveFunctor #-}
-
-{-# LANGUAGE CPP #-}
-#if MIN_VERSION_base(4,8,1)
-#define HAS_SOURCE_LOCATIONS
-{-# LANGUAGE ImplicitParams #-}
-#endif
+{-# LANGUAGE DeriveFoldable #-}
+{-# LANGUAGE DeriveTraversable #-}
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE ConstraintKinds #-}
-- |
-- Stability: unstable
@@ -16,12 +14,7 @@
, specItem
) where
-#ifdef HAS_SOURCE_LOCATIONS
-# if !MIN_VERSION_base(4,9,0)
-import GHC.SrcLoc
-# endif
-import GHC.Stack
-#endif
+import Data.CallStack
import Prelude ()
import Test.Hspec.Compat
@@ -33,25 +26,7 @@
Node String [Tree c a]
| NodeWithCleanup c [Tree c a]
| Leaf a
- deriving Functor
-
-instance Foldable (Tree c) where -- Note: GHC 7.0.1 fails to derive this instance
- foldMap = go
- where
- go :: Monoid m => (a -> m) -> Tree c a -> m
- go f t = case t of
- Node _ xs -> foldMap (foldMap f) xs
- NodeWithCleanup _ xs -> foldMap (foldMap f) xs
- Leaf x -> f x
-
-instance Traversable (Tree c) where -- Note: GHC 7.0.1 fails to derive this instance
- sequenceA = go
- where
- go :: Applicative f => Tree c (f a) -> f (Tree c a)
- go t = case t of
- Node label xs -> Node label <$> sequenceA (map go xs)
- NodeWithCleanup action xs -> NodeWithCleanup action <$> sequenceA (map go xs)
- Leaf a -> Leaf <$> a
+ deriving (Functor, Foldable, Traversable)
-- | A tree is used to represent a spec internally. The tree is parametrize
-- over the type of cleanup actions and the type of the actual spec items.
@@ -88,11 +63,7 @@
| otherwise = s
-- | The @specItem@ function creates a spec item.
-#ifdef HAS_SOURCE_LOCATIONS
-specItem :: (?loc :: CallStack, Example a) => String -> a -> SpecTree (Arg a)
-#else
-specItem :: Example a => String -> a -> SpecTree (Arg a)
-#endif
+specItem :: (HasCallStack, Example a) => String -> a -> SpecTree (Arg a)
specItem s e = Leaf $ Item requirement location False (evaluateExample e)
where
requirement
@@ -100,10 +71,6 @@
| otherwise = s
location :: Maybe Location
-#ifdef HAS_SOURCE_LOCATIONS
- location = case reverse (getCallStack ?loc) of
+ location = case reverse callStack of
(_, loc) : _ -> Just (Location (srcLocFile loc) (srcLocStartLine loc) (srcLocStartCol loc) ExactLocation)
_ -> Nothing
-#else
- location = Nothing
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-discover/driver/hspec-discover.hs new/hspec-meta-2.3.2/hspec-discover/driver/hspec-discover.hs
--- old/hspec-meta-2.2.1/hspec-discover/driver/hspec-discover.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-discover/driver/hspec-discover.hs 2016-10-16 07:16:55.000000000 +0200
@@ -0,0 +1,8 @@
+module Main (main) where
+
+import System.Environment
+
+import Test.Hspec.Discover.Run (run)
+
+main :: IO ()
+main = getArgs >>= run
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-discover/src/Config.hs new/hspec-meta-2.3.2/hspec-discover/src/Config.hs
--- old/hspec-meta-2.2.1/hspec-discover/src/Config.hs 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-discover/src/Config.hs 1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-module Config (
- Config (..)
-, defaultConfig
-, parseConfig
-, usage
-) where
-
-import Data.Maybe
-import System.Console.GetOpt
-
-data Config = Config {
- configNested :: Bool
-, configFormatter :: Maybe String
-, configNoMain :: Bool
-, configModuleName :: Maybe String
-} deriving (Eq, Show)
-
-defaultConfig :: Config
-defaultConfig = Config False Nothing False Nothing
-
-options :: [OptDescr (Config -> Config)]
-options = [
- Option [] ["nested"] (NoArg $ \c -> c {configNested = True}) ""
- , Option [] ["formatter"] (ReqArg (\s c -> c {configFormatter = Just s}) "FORMATTER") ""
- , Option [] ["module-name"] (ReqArg (\s c -> c {configModuleName = Just s}) "NAME") ""
- , Option [] ["no-main"] (NoArg $ \c -> c {configNoMain = True}) ""
- ]
-
-usage :: String -> String
-usage prog = "\nUsage: " ++ prog ++ " SRC CUR DST [--module-name=NAME]\n"
-
-parseConfig :: String -> [String] -> Either String Config
-parseConfig prog args = case getOpt Permute options args of
- (opts, [], []) -> let
- c = (foldl (flip id) defaultConfig opts)
- in
- if (configNoMain c && isJust (configFormatter c))
- then
- formatError "option `--formatter=<fmt>' does not make sense with `--no-main'\n"
- else
- Right c
- (_, _, err:_) -> formatError err
- (_, arg:_, _) -> formatError ("unexpected argument `" ++ arg ++ "'\n")
- where
- formatError err = Left (prog ++ ": " ++ err ++ usage prog)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-discover/src/Main.hs new/hspec-meta-2.3.2/hspec-discover/src/Main.hs
--- old/hspec-meta-2.2.1/hspec-discover/src/Main.hs 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-discover/src/Main.hs 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-module Main (main) where
-
-import System.Environment
-
-import Run (run)
-
-main :: IO ()
-main = getArgs >>= run
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-discover/src/Run.hs new/hspec-meta-2.3.2/hspec-discover/src/Run.hs
--- old/hspec-meta-2.2.1/hspec-discover/src/Run.hs 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-discover/src/Run.hs 1970-01-01 01:00:00.000000000 +0100
@@ -1,148 +0,0 @@
-{-# LANGUAGE TypeSynonymInstances, FlexibleInstances, OverloadedStrings #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
--- | A preprocessor that finds and combines specs.
-module Run (
- run
-
--- exported for testing
-, Spec(..)
-, importList
-, fileToSpec
-, findSpecs
-, getFilesRecursive
-, driverWithFormatter
-, moduleNameFromId
-, pathToModule
-) where
-import Control.Monad
-import Control.Applicative
-import Data.List
-import Data.Char
-import Data.Maybe
-import Data.String
-import System.Environment
-import System.Exit
-import System.IO
-import System.Directory (doesDirectoryExist, getDirectoryContents, doesFileExist)
-import System.FilePath hiding (combine)
-
-import Config
-
-instance IsString ShowS where
- fromString = showString
-
-data Spec = Spec {
- specFile :: FilePath
-, specModule :: String
-} deriving (Eq, Show)
-
-run :: [String] -> IO ()
-run args_ = do
- name <- getProgName
- case args_ of
- src : _ : dst : args -> case parseConfig name args of
- Left err -> do
- hPutStrLn stderr err
- exitFailure
- Right conf -> do
- when (configNested conf) (hPutStrLn stderr "hspec-discover: WARNING - The `--nested' flag is deprecated and will be removed in a future release!")
- specs <- findSpecs src
- writeFile dst (mkSpecModule src conf specs)
- _ -> do
- hPutStrLn stderr (usage name)
- exitFailure
-
-mkSpecModule :: FilePath -> Config -> [Spec] -> String
-mkSpecModule src conf nodes =
- ( "{-# LINE 1 " . shows src . " #-}\n"
- . showString "{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}\n"
- . showString ("module " ++ moduleName src conf ++" where\n")
- . importList nodes
- . showString "import Test.Hspec.Meta\n"
- . maybe driver driverWithFormatter (configFormatter conf)
- . showString "spec :: Spec\n"
- . showString "spec = "
- . formatSpecs nodes
- ) "\n"
- where
- driver =
- case configNoMain conf of
- False ->
- showString "main :: IO ()\n"
- . showString "main = hspec spec\n"
- True -> ""
-
-moduleName :: FilePath -> Config -> String
-moduleName src conf = fromMaybe (if configNoMain conf then pathToModule src else "Main") (configModuleName conf)
-
--- | Derive module name from specified path.
-pathToModule :: FilePath -> String
-pathToModule f = toUpper m:ms
- where
- fileName = last $ splitDirectories f
- m:ms = takeWhile (/='.') fileName
-
-driverWithFormatter :: String -> ShowS
-driverWithFormatter f =
- showString "import qualified " . showString (moduleNameFromId f) . showString "\n"
- . showString "main :: IO ()\n"
- . showString "main = hspecWithFormatter " . showString f . showString " spec\n"
-
--- | Return module name of a fully qualified identifier.
-moduleNameFromId :: String -> String
-moduleNameFromId = reverse . dropWhile (== '.') . dropWhile (/= '.') . reverse
-
--- | Generate imports for a list of specs.
-importList :: [Spec] -> ShowS
-importList = foldr (.) "" . map f
- where
- f :: Spec -> ShowS
- f spec = "import qualified " . showString (specModule spec) . "Spec\n"
-
--- | Combine a list of strings with (>>).
-sequenceS :: [ShowS] -> ShowS
-sequenceS = foldr (.) "" . intersperse " >> "
-
--- | Convert a list of specs to code.
-formatSpecs :: [Spec] -> ShowS
-formatSpecs xs
- | null xs = "return ()"
- | otherwise = sequenceS (map formatSpec xs)
-
--- | Convert a spec to code.
-formatSpec :: Spec -> ShowS
-formatSpec (Spec file name) = "postProcessSpec " . shows file . " (describe " . shows name . " " . showString name . "Spec.spec)"
-
-findSpecs :: FilePath -> IO [Spec]
-findSpecs src = do
- let (dir, file) = splitFileName src
- mapMaybe (fileToSpec dir) . filter (/= file) <$> getFilesRecursive dir
-
-fileToSpec :: FilePath -> FilePath -> Maybe Spec
-fileToSpec dir file = case reverse $ splitDirectories file of
- x:xs -> case stripSuffix "Spec.hs" x <|> stripSuffix "Spec.lhs" x of
- Just name | isValidModuleName name && all isValidModuleName xs ->
- Just . Spec (dir </> file) $ (intercalate "." . reverse) (name : xs)
- _ -> Nothing
- _ -> Nothing
- where
- stripSuffix :: Eq a => [a] -> [a] -> Maybe [a]
- stripSuffix suffix str = reverse <$> stripPrefix (reverse suffix) (reverse str)
-
--- See `Cabal.Distribution.ModuleName` (http://git.io/bj34)
-isValidModuleName :: String -> Bool
-isValidModuleName [] = False
-isValidModuleName (c:cs) = isUpper c && all isValidModuleChar cs
-
-isValidModuleChar :: Char -> Bool
-isValidModuleChar c = isAlphaNum c || c == '_' || c == '\''
-
-getFilesRecursive :: FilePath -> IO [FilePath]
-getFilesRecursive baseDir = sort <$> go []
- where
- go :: FilePath -> IO [FilePath]
- go dir = do
- c <- map (dir </>) . filter (`notElem` [".", ".."]) <$> getDirectoryContents (baseDir </> dir)
- dirs <- filterM (doesDirectoryExist . (baseDir </>)) c >>= mapM go
- files <- filterM (doesFileExist . (baseDir </>)) c
- return (files ++ concat dirs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-discover/src/Test/Hspec/Discover/Config.hs new/hspec-meta-2.3.2/hspec-discover/src/Test/Hspec/Discover/Config.hs
--- old/hspec-meta-2.2.1/hspec-discover/src/Test/Hspec/Discover/Config.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-discover/src/Test/Hspec/Discover/Config.hs 2016-10-16 07:16:55.000000000 +0200
@@ -0,0 +1,48 @@
+-- |
+-- /NOTE:/ This module is not meant for public consumption. For user
+-- documentation look at http://hspec.github.io/hspec-discover.html.
+module Test.Hspec.Discover.Config (
+ Config (..)
+, defaultConfig
+, parseConfig
+, usage
+) where
+
+import Data.Maybe
+import System.Console.GetOpt
+
+data Config = Config {
+ configNested :: Bool
+, configFormatter :: Maybe String
+, configNoMain :: Bool
+, configModuleName :: Maybe String
+} deriving (Eq, Show)
+
+defaultConfig :: Config
+defaultConfig = Config False Nothing False Nothing
+
+options :: [OptDescr (Config -> Config)]
+options = [
+ Option [] ["nested"] (NoArg $ \c -> c {configNested = True}) ""
+ , Option [] ["formatter"] (ReqArg (\s c -> c {configFormatter = Just s}) "FORMATTER") ""
+ , Option [] ["module-name"] (ReqArg (\s c -> c {configModuleName = Just s}) "NAME") ""
+ , Option [] ["no-main"] (NoArg $ \c -> c {configNoMain = True}) ""
+ ]
+
+usage :: String -> String
+usage prog = "\nUsage: " ++ prog ++ " SRC CUR DST [--module-name=NAME]\n"
+
+parseConfig :: String -> [String] -> Either String Config
+parseConfig prog args = case getOpt Permute options args of
+ (opts, [], []) -> let
+ c = (foldl (flip id) defaultConfig opts)
+ in
+ if (configNoMain c && isJust (configFormatter c))
+ then
+ formatError "option `--formatter=<fmt>' does not make sense with `--no-main'\n"
+ else
+ Right c
+ (_, _, err:_) -> formatError err
+ (_, arg:_, _) -> formatError ("unexpected argument `" ++ arg ++ "'\n")
+ where
+ formatError err = Left (prog ++ ": " ++ err ++ usage prog)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-discover/src/Test/Hspec/Discover/Run.hs new/hspec-meta-2.3.2/hspec-discover/src/Test/Hspec/Discover/Run.hs
--- old/hspec-meta-2.2.1/hspec-discover/src/Test/Hspec/Discover/Run.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-discover/src/Test/Hspec/Discover/Run.hs 2016-10-16 07:16:55.000000000 +0200
@@ -0,0 +1,151 @@
+{-# LANGUAGE TypeSynonymInstances, FlexibleInstances, OverloadedStrings #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+-- | A preprocessor that finds and combines specs.
+--
+-- /NOTE:/ This module is not meant for public consumption. For user
+-- documentation look at http://hspec.github.io/hspec-discover.html.
+module Test.Hspec.Discover.Run (
+ run
+
+-- exported for testing
+, Spec(..)
+, importList
+, fileToSpec
+, findSpecs
+, getFilesRecursive
+, driverWithFormatter
+, moduleNameFromId
+, pathToModule
+) where
+import Control.Monad
+import Control.Applicative
+import Data.List
+import Data.Char
+import Data.Maybe
+import Data.String
+import System.Environment
+import System.Exit
+import System.IO
+import System.Directory (doesDirectoryExist, getDirectoryContents, doesFileExist)
+import System.FilePath hiding (combine)
+
+import Test.Hspec.Discover.Config
+
+instance IsString ShowS where
+ fromString = showString
+
+data Spec = Spec {
+ specFile :: FilePath
+, specModule :: String
+} deriving (Eq, Show)
+
+run :: [String] -> IO ()
+run args_ = do
+ name <- getProgName
+ case args_ of
+ src : _ : dst : args -> case parseConfig name args of
+ Left err -> do
+ hPutStrLn stderr err
+ exitFailure
+ Right conf -> do
+ when (configNested conf) (hPutStrLn stderr "hspec-discover: WARNING - The `--nested' flag is deprecated and will be removed in a future release!")
+ specs <- findSpecs src
+ writeFile dst (mkSpecModule src conf specs)
+ _ -> do
+ hPutStrLn stderr (usage name)
+ exitFailure
+
+mkSpecModule :: FilePath -> Config -> [Spec] -> String
+mkSpecModule src conf nodes =
+ ( "{-# LINE 1 " . shows src . " #-}\n"
+ . showString "{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}\n"
+ . showString ("module " ++ moduleName src conf ++" where\n")
+ . importList nodes
+ . showString "import Test.Hspec.Meta\n"
+ . maybe driver driverWithFormatter (configFormatter conf)
+ . showString "spec :: Spec\n"
+ . showString "spec = "
+ . formatSpecs nodes
+ ) "\n"
+ where
+ driver =
+ case configNoMain conf of
+ False ->
+ showString "main :: IO ()\n"
+ . showString "main = hspec spec\n"
+ True -> ""
+
+moduleName :: FilePath -> Config -> String
+moduleName src conf = fromMaybe (if configNoMain conf then pathToModule src else "Main") (configModuleName conf)
+
+-- | Derive module name from specified path.
+pathToModule :: FilePath -> String
+pathToModule f = toUpper m:ms
+ where
+ fileName = last $ splitDirectories f
+ m:ms = takeWhile (/='.') fileName
+
+driverWithFormatter :: String -> ShowS
+driverWithFormatter f =
+ showString "import qualified " . showString (moduleNameFromId f) . showString "\n"
+ . showString "main :: IO ()\n"
+ . showString "main = hspecWithFormatter " . showString f . showString " spec\n"
+
+-- | Return module name of a fully qualified identifier.
+moduleNameFromId :: String -> String
+moduleNameFromId = reverse . dropWhile (== '.') . dropWhile (/= '.') . reverse
+
+-- | Generate imports for a list of specs.
+importList :: [Spec] -> ShowS
+importList = foldr (.) "" . map f
+ where
+ f :: Spec -> ShowS
+ f spec = "import qualified " . showString (specModule spec) . "Spec\n"
+
+-- | Combine a list of strings with (>>).
+sequenceS :: [ShowS] -> ShowS
+sequenceS = foldr (.) "" . intersperse " >> "
+
+-- | Convert a list of specs to code.
+formatSpecs :: [Spec] -> ShowS
+formatSpecs xs
+ | null xs = "return ()"
+ | otherwise = sequenceS (map formatSpec xs)
+
+-- | Convert a spec to code.
+formatSpec :: Spec -> ShowS
+formatSpec (Spec file name) = "postProcessSpec " . shows file . " (describe " . shows name . " " . showString name . "Spec.spec)"
+
+findSpecs :: FilePath -> IO [Spec]
+findSpecs src = do
+ let (dir, file) = splitFileName src
+ mapMaybe (fileToSpec dir) . filter (/= file) <$> getFilesRecursive dir
+
+fileToSpec :: FilePath -> FilePath -> Maybe Spec
+fileToSpec dir file = case reverse $ splitDirectories file of
+ x:xs -> case stripSuffix "Spec.hs" x <|> stripSuffix "Spec.lhs" x of
+ Just name | isValidModuleName name && all isValidModuleName xs ->
+ Just . Spec (dir </> file) $ (intercalate "." . reverse) (name : xs)
+ _ -> Nothing
+ _ -> Nothing
+ where
+ stripSuffix :: Eq a => [a] -> [a] -> Maybe [a]
+ stripSuffix suffix str = reverse <$> stripPrefix (reverse suffix) (reverse str)
+
+-- See `Cabal.Distribution.ModuleName` (http://git.io/bj34)
+isValidModuleName :: String -> Bool
+isValidModuleName [] = False
+isValidModuleName (c:cs) = isUpper c && all isValidModuleChar cs
+
+isValidModuleChar :: Char -> Bool
+isValidModuleChar c = isAlphaNum c || c == '_' || c == '\''
+
+getFilesRecursive :: FilePath -> IO [FilePath]
+getFilesRecursive baseDir = sort <$> go []
+ where
+ go :: FilePath -> IO [FilePath]
+ go dir = do
+ c <- map (dir </>) . filter (`notElem` [".", ".."]) <$> getDirectoryContents (baseDir </> dir)
+ dirs <- filterM (doesDirectoryExist . (baseDir </>)) c >>= mapM go
+ files <- filterM (doesFileExist . (baseDir </>)) c
+ return (files ++ concat dirs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/hspec-meta.cabal new/hspec-meta-2.3.2/hspec-meta.cabal
--- old/hspec-meta-2.2.1/hspec-meta.cabal 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/hspec-meta.cabal 2016-10-16 07:16:55.000000000 +0200
@@ -1,5 +1,9 @@
+-- This file has been generated from package.yaml by hpack version 0.15.0.
+--
+-- see: https://github.com/sol/hpack
+
name: hspec-meta
-version: 2.2.1
+version: 2.3.2
license: MIT
license-file: LICENSE
copyright: (c) 2011-2015 Simon Hengel,
@@ -17,23 +21,22 @@
in-development version of Hspec.
extra-source-files:
- changelog
+ changelog
source-repository head
type: git
location: https://github.com/hspec/hspec
library
- ghc-options:
- -Wall
+ ghc-options: -Wall
hs-source-dirs:
- src, hspec-core/src/
+ src
+ hspec-core/src
build-depends:
base == 4.*
- , hspec-expectations
, transformers >= 0.2.2.0
, QuickCheck >= 2.5.1
-
+ , hspec-expectations >= 0.8.0
, HUnit
, setenv
, deepseq
@@ -42,48 +45,60 @@
, ansi-terminal
, time
, async
+ , call-stack
exposed-modules:
Test.Hspec.Meta
other-modules:
Test.Hspec
- Test.Hspec.Runner
- Test.Hspec.Formatters
- Test.Hspec.QuickCheck
- Test.Hspec.Discover
Test.Hspec.Core
+ Test.Hspec.Discover
+ Test.Hspec.Formatters
Test.Hspec.HUnit
-
- Test.Hspec.Core.Spec
- Test.Hspec.Core.Hooks
- Test.Hspec.Core.Runner
- Test.Hspec.Core.Formatters
- Test.Hspec.Core.QuickCheck
- Test.Hspec.Core.Util
+ Test.Hspec.QuickCheck
+ Test.Hspec.Runner
Test.Hspec.Compat
+ Test.Hspec.Config
Test.Hspec.Core.Example
- Test.Hspec.Core.Tree
- Test.Hspec.Core.Spec.Monad
+ Test.Hspec.Core.Formatters
+ Test.Hspec.Core.Formatters.Internal
+ Test.Hspec.Core.Hooks
+ Test.Hspec.Core.QuickCheck
Test.Hspec.Core.QuickCheckUtil
- Test.Hspec.Config
- Test.Hspec.Options
- Test.Hspec.FailureReport
+ Test.Hspec.Core.Runner
Test.Hspec.Core.Runner.Eval
- Test.Hspec.Core.Formatters.Internal
+ Test.Hspec.Core.Spec
+ Test.Hspec.Core.Spec.Monad
+ Test.Hspec.Core.Tree
+ Test.Hspec.Core.Util
+ Test.Hspec.FailureReport
+ Test.Hspec.Options
Test.Hspec.Timer
+ Paths_hspec_meta
default-language: Haskell2010
executable hspec-meta-discover
- ghc-options:
- -Wall
+ main-is: hspec-discover.hs
hs-source-dirs:
hspec-discover/src
- main-is:
- Main.hs
- other-modules:
- Run
- Config
+ hspec-discover/driver
+ ghc-options: -Wall
build-depends:
base == 4.*
+ , transformers >= 0.2.2.0
+ , QuickCheck >= 2.5.1
+ , hspec-expectations >= 0.8.0
+ , HUnit
+ , setenv
+ , deepseq
+ , random
+ , quickcheck-io
+ , ansi-terminal
+ , time
+ , async
+ , call-stack
, filepath
, directory
+ other-modules:
+ Test.Hspec.Discover.Config
+ Test.Hspec.Discover.Run
default-language: Haskell2010
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hspec-meta-2.2.1/src/Test/Hspec/QuickCheck.hs new/hspec-meta-2.3.2/src/Test/Hspec/QuickCheck.hs
--- old/hspec-meta-2.2.1/src/Test/Hspec/QuickCheck.hs 2016-01-17 06:46:43.000000000 +0100
+++ new/hspec-meta-2.3.2/src/Test/Hspec/QuickCheck.hs 2016-10-16 07:16:55.000000000 +0200
@@ -1,8 +1,5 @@
-{-# LANGUAGE CPP #-}
-#if MIN_VERSION_base(4,8,1)
-#define HAS_SOURCE_LOCATIONS
-{-# LANGUAGE ImplicitParams #-}
-#endif
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE ConstraintKinds #-}
module Test.Hspec.QuickCheck (
-- * Params
modifyMaxSuccess
@@ -13,10 +10,6 @@
, prop
) where
-#ifdef HAS_SOURCE_LOCATIONS
-import GHC.Stack
-#endif
-
import Test.Hspec
import Test.QuickCheck
import Test.Hspec.Core.QuickCheck
@@ -29,9 +22,5 @@
--
-- > it ".." $ property $
-- > ..
-#ifdef HAS_SOURCE_LOCATIONS
-prop :: (?loc :: CallStack, Testable prop) => String -> prop -> Spec
-#else
-prop :: (Testable prop) => String -> prop -> Spec
-#endif
+prop :: (HasCallStack, Testable prop) => String -> prop -> Spec
prop s = it s . property
1
0
Hello community,
here is the log from the commit of package ghc-hmatrix-gsl-stats for openSUSE:Factory checked in at 2017-03-28 15:21:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hmatrix-gsl-stats (Old)
and /work/SRC/openSUSE:Factory/.ghc-hmatrix-gsl-stats.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hmatrix-gsl-stats"
Tue Mar 28 15:21:40 2017 rev:2 rq:479845 version:0.4.1.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hmatrix-gsl-stats/ghc-hmatrix-gsl-stats.changes 2017-03-09 01:54:11.761407468 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-hmatrix-gsl-stats.new/ghc-hmatrix-gsl-stats.changes 2017-03-28 15:21:43.089849168 +0200
@@ -1,0 +2,10 @@
+Sun Feb 12 14:14:03 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.4.1.6 with cabal2obs.
+
+-------------------------------------------------------------------
+Sun Nov 6 21:25:53 UTC 2016 - psimons(a)suse.com
+
+- Update to version 0.4.1.4 with cabal2obs.
+
+-------------------------------------------------------------------
Old:
----
hmatrix-gsl-stats-0.4.1.3.tar.gz
New:
----
hmatrix-gsl-stats-0.4.1.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-hmatrix-gsl-stats.spec ++++++
--- /var/tmp/diff_new_pack.mmIu1R/_old 2017-03-28 15:21:45.397522337 +0200
+++ /var/tmp/diff_new_pack.mmIu1R/_new 2017-03-28 15:21:45.401521771 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-hmatrix-gsl-stats
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%global pkg_name hmatrix-gsl-stats
Name: ghc-%{pkg_name}
-Version: 0.4.1.3
+Version: 0.4.1.6
Release: 0
Summary: GSL Statistics interface
License: BSD-3-Clause
@@ -82,6 +82,6 @@
%files devel -f %{name}-devel.files
%defattr(-,root,root,-)
-%doc README
+%doc CHANGES README
%changelog
++++++ hmatrix-gsl-stats-0.4.1.3.tar.gz -> hmatrix-gsl-stats-0.4.1.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/CHANGES new/hmatrix-gsl-stats-0.4.1.6/CHANGES
--- old/hmatrix-gsl-stats-0.4.1.3/CHANGES 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/CHANGES 2016-11-14 03:22:32.000000000 +0100
@@ -103,3 +103,13 @@
0.4.1.3:
lower vector package bound
+
+0.4.1.4:
+ set upper bound for hmatrix so it complies
+ (changes in hmatrix 0.18)
+
+0.4.1.5:
+ update for hmatrix 0.18
+
+0.4.1.6:
+ uncommented statistics functions (woops!)
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/hmatrix-gsl-stats.cabal new/hmatrix-gsl-stats-0.4.1.6/hmatrix-gsl-stats.cabal
--- old/hmatrix-gsl-stats-0.4.1.3/hmatrix-gsl-stats.cabal 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/hmatrix-gsl-stats.cabal 2016-11-14 03:22:32.000000000 +0100
@@ -1,8 +1,8 @@
Name: hmatrix-gsl-stats
-Version: 0.4.1.3
+Version: 0.4.1.6
License: BSD3
License-file: LICENSE
-Copyright: (c) A.V.H. McPhail 2010, 2011, 2013, 2015
+Copyright: (c) A.V.H. McPhail 2010, 2011, 2013, 2015, 2016
Author: Vivian McPhail
Maintainer: haskell.vivian.mcphail <at> gmail <dot> com
Stability: provisional
@@ -17,7 +17,7 @@
.
The vector type is Data.Vector.Storable from the 'vector' package.
Category: Math, Statistics, FFI
-tested-with: GHC ==7.10.2
+tested-with: GHC ==8.0.1
cabal-version: >=1.10.1.0
@@ -37,7 +37,7 @@
Build-Depends: base >= 4 && < 5, binary,
vector,
storable-complex,
- hmatrix >= 0.17
+ hmatrix >= 0.18
Default-Extensions: ForeignFunctionInterface
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Distribution/Continuous.hs new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Distribution/Continuous.hs
--- old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Distribution/Continuous.hs 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Distribution/Continuous.hs 2016-11-14 03:22:32.000000000 +0100
@@ -1,8 +1,9 @@
{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE FlexibleContexts #-}
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.GSL.Distribution.Continuous
--- Copyright : (c) A. V. H. McPhail 2010, 2015
+-- Copyright : (c) A. V. H. McPhail 2010, 2015, 2016
-- License : BSD3
--
-- Maintainer : haskell.vivian.mcphail <at> gmail <dot> com
@@ -60,7 +61,7 @@
-----------------------------------------------------------------------------
-infixl 1 #
+infixr 1 #
a # b = applyRaw a b
{-# INLINE (#) #-}
@@ -128,7 +129,7 @@
-> Vector Double -- ^ result
random_0p_v d s l = unsafePerformIO $ do
r <- createVector l
- (distribution_random_zero_param_v (fromIntegral s) (fromei d)) # r #| "random_0p_v"
+ (r # id) (distribution_random_zero_param_v (fromIntegral s) (fromei d)) #| "random_0p_v"
return r
-- | probability of a variate take a value outside the argument
@@ -179,7 +180,7 @@
-> Vector Double -- ^ result
random_1p_v d s p l = unsafePerformIO $ do
r <- createVector l
- (distribution_random_one_param_v (fromIntegral s) (fromei d) p) # r #| "random_1p_v"
+ (r # id) (distribution_random_one_param_v (fromIntegral s) (fromei d) p) #| "random_1p_v"
return r
-- | probability of a variate take a value outside the argument
@@ -229,7 +230,7 @@
-> Vector Double -- ^ result
random_2p_v d s p1 p2 l = unsafePerformIO $ do
r <- createVector l
- (distribution_random_two_param_v (fromIntegral s) (fromei d) p1 p2) # r #| "random_2p_v"
+ (r # id) (distribution_random_two_param_v (fromIntegral s) (fromei d) p1 p2) #| "random_2p_v"
return r
-- | probability of a variate take a value outside the argument
@@ -295,7 +296,7 @@
-> Vector Double -- ^ result
random_3p_v d s p1 p2 p3 l = unsafePerformIO $ do
r <- createVector l
- (distribution_random_three_param_v (fromIntegral s) (fromei d) p1 p2 p3) # r #| "random_3p_v"
+ (r # id) (distribution_random_three_param_v (fromIntegral s) (fromei d) p1 p2 p3) #| "random_3p_v"
return r
-- | probability of a variate take a value outside the argument
@@ -325,7 +326,7 @@
-> Vector Double -- ^ result
random_mp d s p = unsafePerformIO $ do
r <- createVector $ size p
- (distribution_random_multi_param (fromIntegral s) (fromei d)) # p # r #| "random_mp"
+ (p # r # id) (distribution_random_multi_param (fromIntegral s) (fromei d)) #| "random_mp"
return r
-- | draw a sample from a multi parameter distribution
@@ -336,7 +337,7 @@
random_mp_s (RNG rng) d p = do
let l = size p
r <- createVector l
- withForeignPtr rng $ \rg -> (distribution_random_multi_param_s rg (fromei d)) # p # r #| "random_mp_s"
+ withForeignPtr rng $ \rg -> (p # r # id) (distribution_random_multi_param_s rg (fromei d)) #| "random_mp_s"
return r
-- | probability of a variate take a value outside the argument
@@ -351,7 +352,7 @@
where density_only f' d' p' q' = if f' /= Density
then error "distribution has no CDF"
else alloca $ \r -> do
- (distribution_dist_multi_param (fromei f') (fromei d') r) # p' # q' #| "density_mp"
+ (p' # q' # id) (distribution_dist_multi_param (fromei f') (fromei d') r) #| "density_mp"
r' <- peek r
return r'
@@ -402,7 +403,7 @@
random_biv_v d s p1 p2 p3 l = unsafePerformIO $ do
r1 <- createVector l
r2 <- createVector l
- (distribution_random_bivariate_v (fromIntegral s) (fromei d) p1 p2 p3) # r1 # r2 #| "random_biv_v"
+ (r1 # r2 # id) (distribution_random_bivariate_v (fromIntegral s) (fromei d) p1 p2 p3) #| "random_biv_v"
return (r1,r2)
-- | probability of a variate take a value outside the argument
@@ -433,7 +434,7 @@
-> Vector Double -- result
spherical_vector s vs = unsafePerformIO $ do
r <- createVector vs
- (distribution_spherical_vector (fromIntegral s)) # r #| "spherical_vector"
+ (r # id) (distribution_spherical_vector (fromIntegral s)) #| "spherical_vector"
return r
foreign import ccall "distribution-aux.h spherical_vector" distribution_spherical_vector :: CInt -> CInt -> Ptr Double -> IO CInt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Distribution/Discrete.hs new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Distribution/Discrete.hs
--- old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Distribution/Discrete.hs 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Distribution/Discrete.hs 2016-11-14 03:22:32.000000000 +0100
@@ -2,7 +2,7 @@
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.GSL.Distribution.Discrete
--- Copyright : (c) A. V. H. McPhail 2010, 2015
+-- Copyright : (c) A. V. H. McPhail 2010, 2015, 2016
-- License : BSD3
--
-- Maintainer : haskell.vivian.mcphail <at> gmail <dot> com
@@ -56,7 +56,7 @@
-----------------------------------------------------------------------------
-infixl 1 #
+infixr 1 #
a # b = applyRaw a b
{-# INLINE (#) #-}
@@ -116,7 +116,7 @@
-> Vector Word32 -- ^ result
random_1p_v d s p l = unsafePerformIO $ do
r <- createVector l
- (distribution_discrete_one_param_v (fromIntegral s) (fromei d) p) # r #| "random_1p_v"
+ (r # id) (distribution_discrete_one_param_v (fromIntegral s) (fromei d) p) #| "random_1p_v"
return (map fromIntegral r)
-- | probability of a variate take a value outside the argument
@@ -179,7 +179,7 @@
-> Vector Word32 -- ^ result
random_2p_v d s p1 p2 l = unsafePerformIO $ do
r <- createVector l
- (distribution_discrete_two_param_v (fromIntegral s) (fromei d) p1 (fromIntegral p2)) # r #| "random_2p_v"
+ (r # id) (distribution_discrete_two_param_v (fromIntegral s) (fromei d) p1 (fromIntegral p2)) #| "random_2p_v"
return (map fromIntegral r)
-- | probability of a variate take a value outside the argument
@@ -239,7 +239,7 @@
-> Vector Word32 -- ^ result
random_3p_v d s p1 p2 p3 l = unsafePerformIO $ do
r <- createVector l
- (distribution_discrete_three_param_v (fromIntegral s) (fromei d) (fromIntegral p1) (fromIntegral p2) (fromIntegral p3)) # r #| "random_3p_v"
+ (r # id) (distribution_discrete_three_param_v (fromIntegral s) (fromei d) (fromIntegral p1) (fromIntegral p2) (fromIntegral p3)) #| "random_3p_v"
return (map fromIntegral r)
-- | probability of a variate take a value outside the argument
@@ -272,7 +272,7 @@
-> Vector Word32 -- ^ result
random_mp d s t p = unsafePerformIO $ do
r <- createVector $ size p
- (distribution_discrete_multi_param (fromIntegral s) (fromei d) (fromIntegral t)) # p # r #| "random_mp"
+ (p # r # id) (distribution_discrete_multi_param (fromIntegral s) (fromei d) (fromIntegral t)) #| "random_mp"
return $ map (\x -> (fromIntegral x) :: Word32) r
-- | draw a sample from a multi-parameter distribution
@@ -283,7 +283,7 @@
-> IO (Vector Word32) -- ^ result
random_mp_s (RNG rng) d t p = withForeignPtr rng $ \rg -> do
r <- createVector $ size p
- (distribution_discrete_multi_param_s rg (fromei d) (fromIntegral t)) # p # r #| "random_mp_s"
+ (p # r # id) (distribution_discrete_multi_param_s rg (fromei d) (fromIntegral t)) #| "random_mp_s"
return $ map (\x -> (fromIntegral x) :: Word32) r
-- | probability of a variate take a value outside the argument
@@ -296,11 +296,11 @@
case d of
Multinomial -> density_only f d p q
where density_only f' d' p' q' = if f' /= Density
- then error "distribution has no CDF"
- else alloca $ \r -> do
- (distribution_dist_multi_param (fromei f') (fromei d') r) # p' # (map (\x -> (fromIntegral x) :: CUInt) q') #| "density_mp"
- r' <- peek r
- return r'
+ then error "distribution has no CDF"
+ else alloca $ \r -> do
+ (p' # (map (\x -> (fromIntegral x) :: CUInt) q') # id) (distribution_dist_multi_param (fromei f') (fromei d') r) #| "density_mp"
+ r' <- peek r
+ return r'
foreign import ccall "distribution-aux.h discrete_mp" distribution_discrete_multi_param :: CInt -> CInt -> CUInt -> CInt -> Ptr Double -> CInt -> Ptr CUInt -> IO CInt
foreign import ccall "distribution-aux.h discrete_mp_s" distribution_discrete_multi_param_s :: RNGHandle -> CInt -> CUInt -> CInt -> Ptr Double -> CInt -> Ptr CUInt -> IO CInt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Fitting/Linear.hs new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Fitting/Linear.hs
--- old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Fitting/Linear.hs 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Fitting/Linear.hs 2016-11-14 03:22:32.000000000 +0100
@@ -1,7 +1,7 @@
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.GSL.Fitting.Linear
--- Copyright : (c) A. V. H. McPhail 2010
+-- Copyright : (c) A. V. H. McPhail 2010, 2016
-- License : BSD3
--
-- Maintainer : haskell.vivian.mcphail <at> gmail <dot> com
@@ -45,7 +45,7 @@
-----------------------------------------------------------------------------
-infixl 1 #
+infixr 1 #
a # b = applyRaw a b
{-# INLINE (#) #-}
@@ -62,7 +62,7 @@
alloca $ \cov00 ->
alloca $ \cov01 ->
alloca $ \cov11 -> do
- (fitting_linear c0 c1 chi_sq cov00 cov01 cov11) # x # y #| "linear"
+ (x # y # id) (fitting_linear c0 c1 chi_sq cov00 cov01 cov11) #| "linear"
c0' <- peek c0
c1' <- peek c1
cov00' <- peek cov00
@@ -90,7 +90,7 @@
alloca $ \cov00 ->
alloca $ \cov01 ->
alloca $ \cov11 -> do
- (fitting_linear_w c0 c1 chi_sq cov00 cov01 cov11) # x # w # y #| "linear_w"
+ (x # w # y # id) (fitting_linear_w c0 c1 chi_sq cov00 cov01 cov11) #| "linear_w"
c0' <- peek c0
c1' <- peek c1
cov00' <- peek cov00
@@ -139,7 +139,7 @@
cov <- createMatrix RowMajor p p
c <- createVector p
alloca$ \chi_sq -> do
- (fitting_multifit chi_sq) # (cmat x) # y # c # cov #| "multifit"
+ (cmat x # y # c # cov # id) (fitting_multifit chi_sq) #| "multifit"
chi_sq' <- peek chi_sq
return (c,cov,chi_sq')
@@ -159,7 +159,7 @@
cov <- createMatrix RowMajor p p
c <- createVector p
alloca$ \chi_sq -> do
- (fitting_multifit_w chi_sq) # (cmat x) # w # y # c # cov #| "multifit"
+ (cmat x # w # y # c # cov # id) (fitting_multifit_w chi_sq) #| "multifit"
chi_sq' <- peek chi_sq
return (c,cov,chi_sq')
@@ -177,7 +177,7 @@
multifit_est x c cov = unsafePerformIO $ do
alloca $ \y ->
alloca $ \e -> do
- (fitting_multifit_est y e) # x # c # cov #| "multifit_estimate"
+ (x # c # cov # id) (fitting_multifit_est y e) #| "multifit_estimate"
y' <- peek y
e' <- peek e
return (y',e')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Histogram.hs new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Histogram.hs
--- old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Histogram.hs 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Histogram.hs 2016-11-14 03:22:32.000000000 +0100
@@ -3,7 +3,7 @@
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.GSL.Histogram
--- Copyright : (c) A. V. H. McPhail 2010
+-- Copyright : (c) A. V. H. McPhail 2010, 2016
-- License : BSD3
--
-- Maintainer : haskell.vivian.mcphail <at> gmail <dot> com
@@ -77,8 +77,8 @@
-----------------------------------------------------------------------------
data Hist
-infixl 1 #
-a # b = applyRaw a b
+infixr 1 #
+a # b = apply a b
{-# INLINE (#) #-}
-----------------------------------------------------------------------------
@@ -136,7 +136,7 @@
let sz = fromIntegral $ size v - 1
h <- histogram_new sz
h' <- newForeignPtr histogram_free h
- (\d p -> withForeignPtr h' $ \f -> histogram_set_ranges f (fromIntegral d) p) # v #| "fromRanges"
+ (v # id) (\d p -> withForeignPtr h' $ \f -> histogram_set_ranges f (fromIntegral d) p) #| "fromRanges"
return $ H (fromIntegral sz) h'
-- | create a histogram with n bins and lower and upper limits
@@ -198,7 +198,7 @@
fromVectors :: Vector Double -> Vector Double -> Histogram
fromVectors r b = unsafePerformIO $ do
h@(H _ h') <- fromRangesIO r
- (\rs r' bs b' -> withForeignPtr h' $ \h'' -> histogram_from_vectors h'' rs r' bs b') # r # b #| "fromVectors"
+ (r # b # id) (\rs r' bs b' -> withForeignPtr h' $ \h'' -> histogram_from_vectors h'' rs r' bs b') #| "fromVectors"
return h
foreign import ccall "gsl-histogram.h from_vectors" histogram_from_vectors :: HistHandle -> CInt -> Ptr Double -> CInt -> Ptr Double -> IO CInt
@@ -208,7 +208,7 @@
toVectors (H b h) = unsafePerformIO $ do
rs <- createVector (b+1)
bs <- createVector b
- (\s1 p1 s2 p2 -> withForeignPtr h $ \f -> histogram_to_vectors f s1 p1 s2 p2) # rs # bs #| "toVectors"
+ (rs # bs # id) (\s1 p1 s2 p2 -> withForeignPtr h $ \f -> histogram_to_vectors f s1 p1 s2 p2) #| "toVectors"
return (rs,bs)
foreign import ccall "gsl-histogram.h to_vectors" histogram_to_vectors :: HistHandle -> CInt -> Ptr Double -> CInt -> Ptr Double -> IO CInt
@@ -265,7 +265,7 @@
-- | add 1.0 to the correct bin for each element of the vector, fails silently if the value is outside the range
incrementVectorIO :: Histogram -> Vector Double -> IO ()
incrementVectorIO (H _ h) v = do
- (\s p -> withForeignPtr h (\f -> histogram_increment_vector f s p)) # v #| "incrementVector"
+ (v # id) (\s p -> withForeignPtr h (\f -> histogram_increment_vector f s p)) #| "incrementVector"
return ()
-- | adds the weight (second Double) to the bin appropriate for the value (first Double)
@@ -281,7 +281,7 @@
-- | add the weight (second vector) to the correct bin for each element of the first vector, fails silently if the value is outside the range
accumulateVectorIO :: Histogram -> Vector Double -> Vector Double -> IO ()
accumulateVectorIO (H _ h) v w = do
- (\s1 p1 s2 p2 -> withForeignPtr h (\f -> histogram_accumulate_vector f s1 p1 s2 p2)) # v # w #| "accumulateVector"
+ (v # w # id) (\s1 p1 s2 p2 -> withForeignPtr h (\f -> histogram_accumulate_vector f s1 p1 s2 p2)) #| "accumulateVector"
return ()
-- | returns the contents of the i-th bin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Histogram2D.hs new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Histogram2D.hs
--- old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Histogram2D.hs 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Histogram2D.hs 2016-11-14 03:22:32.000000000 +0100
@@ -3,7 +3,7 @@
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.GSL.Histogram2D
--- Copyright : (c) A. V. H. McPhail 2010
+-- Copyright : (c) A. V. H. McPhail 2010, 2016
-- License : BSD3
--
-- Maintainer : haskell.vivian.mcphail <at> gmail <dot> com
@@ -83,7 +83,7 @@
-----------------------------------------------------------------------------
-infixl 1 #
+infixr 1 #
a # b = applyRaw a b
{-# INLINE (#) #-}
@@ -160,7 +160,7 @@
let sy = fromIntegral $ size w - 1
h <- histogram2d_new sx sy
h' <- newForeignPtr histogram2d_free h
- (\xs xp ys yp -> withForeignPtr h' (\f -> histogram2d_set_ranges f xp xs yp ys)) # v # w #| "fromRanges"
+ (v # w # id) (\xs xp ys yp -> withForeignPtr h' (\f -> histogram2d_set_ranges f xp xs yp ys)) #| "fromRanges"
return $ H (fromIntegral sx) (fromIntegral sy) h'
-- | create a histogram with n bins and lower and upper limits
@@ -221,7 +221,7 @@
rx <- createVector (bx+1)
ry <- createVector (by+1)
bs <- createMatrix RowMajor bx by
- (\s1 p1 s2 p2 sx sy p -> withForeignPtr h $ \f -> histogram_to_matrix f s1 p1 s2 p2 sx sy p) # rx # ry # bs #| "toMatrix"
+ (rx # ry # bs # id) (\s1 p1 s2 p2 sx sy p -> withForeignPtr h $ \f -> histogram_to_matrix f s1 p1 s2 p2 sx sy p) #| "toMatrix"
return (rx,ry,bs)
foreign import ccall "histogram-aux.h to_matrix" histogram_to_matrix :: Hist2DHandle -> CInt -> Ptr Double -> CInt -> Ptr Double -> CInt -> CInt -> Ptr Double -> IO CInt
@@ -243,7 +243,7 @@
-> Histogram2D -- ^result
fromMatrix x y w = unsafePerformIO $ do
h@(H _ _ h') <- fromRangesIO x y
- (\xs x' ys y' rs cs b -> withForeignPtr h' $ \h'' -> histogram_from_matrix h'' xs x' ys y' rs cs b) # x # y # (cmat w) #| "fromMatrix"
+ (x # y # (cmat w) # id) (\xs x' ys y' rs cs b -> withForeignPtr h' $ \h'' -> histogram_from_matrix h'' xs x' ys y' rs cs b) #| "fromMatrix"
return h
foreign import ccall "histogram-aux.h from_matrix" histogram_from_matrix :: Hist2DHandle -> CInt -> Ptr Double -> CInt -> Ptr Double -> CInt -> CInt -> Ptr Double -> IO CInt
@@ -301,7 +301,7 @@
-- | add 1.0 to the correct bin for each element of the vector pair, fails silently if the value is outside the range
incrementVectorIO :: Histogram2D -> Vector Double -> Vector Double -> IO ()
incrementVectorIO (H _ _ h) x y = do
- (\xs xp ys yp -> withForeignPtr h (\f -> histogram2d_increment_matrix f xs xp ys yp)) # x # y #| "incrementVector"
+ (x # y # id) (\xs xp ys yp -> withForeignPtr h (\f -> histogram2d_increment_matrix f xs xp ys yp)) #| "incrementVector"
return ()
-- | add 1.0 to the correct bin for each element of the list, fails silently if the value is outside the range
@@ -317,7 +317,7 @@
-- | add the weight (third) to the correct bin for each vector pair element, fails silently if the value is outside the range
accumulateVectorIO :: Histogram2D -> Vector Double -> Vector Double -> Vector Double -> IO ()
accumulateVectorIO (H _ _ h) x y w = do
- (\xs xp ys yp ws wp -> withForeignPtr h (\f -> histogram2d_accumulate_matrix f xs xp ys yp ws wp)) # x # y # w #| "accumulateVector"
+ (x # y # w # id) (\xs xp ys yp ws wp -> withForeignPtr h (\f -> histogram2d_accumulate_matrix f xs xp ys yp ws wp)) #| "accumulateVector"
return ()
-- | add the weight (snd) to the correct bin for each (fst) element of the list, fails silently if the value is outside the range
@@ -422,7 +422,7 @@
count :: Histogram2D -> (Vector Double, Vector Double) -> Vector Double
count (H _ _ h) (x,y) = unsafePerformIO $ do
r <- createVector $ size x
- (\xs' x' ys' y' rs' r' -> withForeignPtr h $ \h' -> histogram2d_count h' xs' x' ys' y' rs' r') # x # y # r #| "histogram2d_count"
+ (x # y # r # id) (\xs' x' ys' y' rs' r' -> withForeignPtr h $ \h' -> histogram2d_count h' xs' x' ys' y' rs' r') #| "histogram2d_count"
return r
foreign import ccall "histogram-aux.h hist2d_count" histogram2d_count :: Hist2DHandle -> CInt -> Ptr Double -> CInt -> Ptr Double -> CInt -> Ptr Double -> IO CInt
@@ -435,7 +435,7 @@
countPaired :: Histogram2D -> Vector (Double,Double) -> Vector Double
countPaired (H _ _ h) x = unsafePerformIO $ do
r <- createVector $ length x
- (\xs' x' rs' r' -> withForeignPtr h $ \h' -> histogram2d_count_pair h' xs' x' rs' r') # x # r #| "histogram2d_count_pair"
+ (x # r # id) (\xs' x' rs' r' -> withForeignPtr h $ \h' -> histogram2d_count_pair h' xs' x' rs' r') #| "histogram2d_count_pair"
return r
foreign import ccall "histogram-aux.h hist2d_count_pair" histogram2d_count_pair :: Hist2DHandle -> CInt -> Ptr (Double,Double) -> CInt -> Ptr Double -> IO CInt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Permutation.hs new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Permutation.hs
--- old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Permutation.hs 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Permutation.hs 2016-11-14 03:22:32.000000000 +0100
@@ -2,7 +2,7 @@
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.GSL.Permutation
--- Copyright : (c) A. V. H. McPhail 2010
+-- Copyright : (c) A. V. H. McPhail 2010, 2016
-- License : BSD3
--
-- Maintainer : haskell.vivian.mcphail <at> gmail <dot> com
@@ -61,8 +61,8 @@
-----------------------------------------------------------------------------
-infixl 1 #
-a # b = applyRaw a b
+infixr 1 #
+a # b = apply a b
{-# INLINE (#) #-}
-----------------------------------------------------------------------------
@@ -234,14 +234,14 @@
permute :: Permutation -> Vector Double -> Vector Double
permute (P n p) v = unsafePerformIO $ do
r <- createVector n
- (\vs vp rs rp -> withForeignPtr p $ \p' -> permutation_permute p' vs vp rs rp) # v # r #| "permute"
+ (v # r # id) (\vs vp rs rp -> withForeignPtr p $ \p' -> permutation_permute p' vs vp rs rp) #| "permute"
return r
-- | apply the inverse permutation to a vector
inverse_permute :: Permutation -> Vector Double -> Vector Double
inverse_permute (P n p) v = unsafePerformIO $ do
r <- createVector n
- (\vs vp rs rp -> withForeignPtr p $ \p' -> permutation_permute_inverse p' vs vp rs rp) # v # r #| "permute"
+ (v # r #id) (\vs vp rs rp -> withForeignPtr p $ \p' -> permutation_permute_inverse p' vs vp rs rp) #| "permute"
return r
-- | multiply two permutations, P = PA * PB
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Sort.hs new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Sort.hs
--- old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Sort.hs 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Sort.hs 2016-11-14 03:22:32.000000000 +0100
@@ -1,7 +1,8 @@
+{-# LANGUAGE FlexibleContexts #-}
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.GSL.Sort
--- Copyright : (c) A. V. H. McPhail 2010, 2015
+-- Copyright : (c) A. V. H. McPhail 2010, 2015, 2016
-- License : BSD3
--
-- Maintainer : haskell.vivian.mcphail <at> gmail <dot> com
@@ -27,15 +28,16 @@
import System.IO.Unsafe(unsafePerformIO)
-infixl 1 #
-a # b = applyRaw a b
+infixr 1 #
+a # b = apply a b
{-# INLINE (#) #-}
-- | sort the elements of a vector into ascending order
sort :: Vector Double -> Vector Double
sort v = unsafePerformIO $ do
- r <- createVector (size v)
- sort_sort # v # r #| "sort"
- return r
+ r <- createVector (size v)
+ (v # r # id) sort_sort #| "sort"
+ return r
foreign import ccall "sort-aux.h sort" sort_sort :: CInt -> Ptr Double -> CInt -> Ptr Double -> IO CInt
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Statistics.hs new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Statistics.hs
--- old/hmatrix-gsl-stats-0.4.1.3/lib/Numeric/GSL/Statistics.hs 2015-10-16 06:57:35.000000000 +0200
+++ new/hmatrix-gsl-stats-0.4.1.6/lib/Numeric/GSL/Statistics.hs 2016-11-14 03:22:32.000000000 +0100
@@ -1,7 +1,8 @@
+{-# LANGUAGE FlexibleContexts #-}
-----------------------------------------------------------------------------
-- |
-- Module : Numeric.GSL.Statistics
--- Copyright : (c) A. V. H. McPhail 2010
+-- Copyright : (c) A. V. H. McPhail 2010, 2016
-- License : BSD3
--
-- Maintainer : haskell.vivian.mcphail <at> gmail <dot> com
@@ -55,8 +56,8 @@
-----------------------------------------------------------------------------
-infixl 1 #
-a # b = applyRaw a b
+infixr 1 #
+a # b = apply a b
{-# INLINE (#) #-}
-----------------------------------------------------------------------------
@@ -65,15 +66,17 @@
-----------------------------------------------------------------------------
+getD1 :: (Ptr Double -> CInt -> Ptr Double -> IO CInt) -> String -> Vector Double -> Double
getD1 f s v = unsafePerformIO $ do
alloca $ \r -> do
- (f r) # v #| s
+ (v # id) (f r) #| s
r' <- peek r
return r'
+getD2 :: (Ptr Double -> CInt -> Ptr Double -> CInt -> Ptr Double -> IO CInt) -> String -> Vector Double -> Vector Double -> Double
getD2 f s v w = unsafePerformIO $ do
alloca $ \r -> do
- (f r) # v # w #| s
+ (v # w # id) (f r) #| s
r' <- peek r
return r'
@@ -313,3 +316,4 @@
-----------------------------------------------------------------------------
+
1
0
Hello community,
here is the log from the commit of package ghc-hmatrix-gsl for openSUSE:Factory checked in at 2017-03-28 15:21:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hmatrix-gsl (Old)
and /work/SRC/openSUSE:Factory/.ghc-hmatrix-gsl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hmatrix-gsl"
Tue Mar 28 15:21:36 2017 rev:2 rq:479844 version:0.18.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hmatrix-gsl/ghc-hmatrix-gsl.changes 2017-03-09 01:54:36.497905312 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-hmatrix-gsl.new/ghc-hmatrix-gsl.changes 2017-03-28 15:21:37.362660299 +0200
@@ -1,0 +2,5 @@
+Sun Feb 12 14:13:48 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.18.0.1 with cabal2obs.
+
+-------------------------------------------------------------------
Old:
----
hmatrix-gsl-0.17.0.0.tar.gz
New:
----
hmatrix-gsl-0.18.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-hmatrix-gsl.spec ++++++
--- /var/tmp/diff_new_pack.AAVnbW/_old 2017-03-28 15:21:39.690330635 +0200
+++ /var/tmp/diff_new_pack.AAVnbW/_new 2017-03-28 15:21:39.694330069 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-hmatrix-gsl
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%global pkg_name hmatrix-gsl
Name: ghc-%{pkg_name}
-Version: 0.17.0.0
+Version: 0.18.0.1
Release: 0
Summary: Numerical computation
License: GPL-1.0+
++++++ hmatrix-gsl-0.17.0.0.tar.gz -> hmatrix-gsl-0.18.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/hmatrix-gsl.cabal new/hmatrix-gsl-0.18.0.1/hmatrix-gsl.cabal
--- old/hmatrix-gsl-0.17.0.0/hmatrix-gsl.cabal 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/hmatrix-gsl.cabal 2016-11-02 21:18:45.000000000 +0100
@@ -1,5 +1,5 @@
Name: hmatrix-gsl
-Version: 0.17.0.0
+Version: 0.18.0.1
License: GPL
License-file: LICENSE
Author: Alberto Ruiz
@@ -25,12 +25,11 @@
library
- Build-Depends: base<5, hmatrix>=0.17, array, vector,
+ Build-Depends: base<5, hmatrix>=0.18, array, vector,
process, random
- Extensions: ForeignFunctionInterface,
- CPP
+ Extensions: ForeignFunctionInterface
hs-source-dirs: src
Exposed-modules: Numeric.GSL.Differentiation,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Fitting.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Fitting.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Fitting.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Fitting.hs 2016-11-02 21:18:45.000000000 +0100
@@ -87,7 +87,7 @@
fp <- mkVecVecfun (aux_vTov (checkdim1 n p . f))
jp <- mkVecMatfun (aux_vTom (checkdim2 n p . jac))
rawpath <- createMatrix RowMajor maxit (2+p)
- c_nlfit m fp jp epsabs epsrel (fi maxit) (fi n) # xiv # rawpath #|"c_nlfit"
+ (xiv `applyRaw` (rawpath `applyRaw` id)) (c_nlfit m fp jp epsabs epsrel (fi maxit) (fi n)) #|"c_nlfit"
let it = round (rawpath `atIndex` (maxit-1,0))
path = takeRows it rawpath
[sol] = toRows $ dropRows (it-1) path
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Fourier.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Fourier.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Fourier.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Fourier.hs 2016-11-02 21:18:45.000000000 +0100
@@ -25,7 +25,7 @@
genfft code v = unsafePerformIO $ do
r <- createVector (size v)
- c_fft code # v # r #|"fft"
+ (v `applyRaw` (r `applyRaw` id)) (c_fft code) #|"fft"
return r
foreign import ccall unsafe "gsl-aux.h fft" c_fft :: CInt -> TCV (TCV Res)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Internal.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Internal.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Internal.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Internal.hs 2016-11-02 21:18:45.000000000 +0100
@@ -1,3 +1,5 @@
+{-# LANGUAGE FlexibleContexts #-}
+
-- |
-- Module : Numeric.GSL.Internal
-- Copyright : (c) Alberto Ruiz 2009
@@ -23,7 +25,7 @@
createV,
createMIO,
module Numeric.LinearAlgebra.Devel,
- check,(#),vec, ww2,
+ check,(#),(#!),vec, ww2,
Res,TV,TM,TCV,TCM
) where
@@ -86,12 +88,12 @@
createV n fun msg = unsafePerformIO $ do
r <- createVector n
- fun # r #| msg
+ (r # id) fun #| msg
return r
createMIO r c fun msg = do
res <- createMatrix RowMajor r c
- fun # res #| msg
+ (res # id) fun #| msg
return res
--------------------------------------------------------------------------------
@@ -135,3 +137,10 @@
a # b = applyRaw a b
{-# INLINE (#) #-}
+--infixr 1 #
+--a # b = apply a b
+--{-# INLINE (#) #-}
+
+a #! b = a # b # id
+{-# INLINE (#!) #-}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Interpolation.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Interpolation.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Interpolation.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Interpolation.hs 2016-11-02 21:18:45.000000000 +0100
@@ -1,3 +1,5 @@
+{-# LANGUAGE MagicHash, UnboxedTuples #-}
+
{- |
Module : Numeric.GSL.Interpolation
Copyright : (c) Matthew Peddie 2015
@@ -40,6 +42,10 @@
import Numeric.GSL.Internal
import System.IO.Unsafe(unsafePerformIO)
+-- FIXME
+import qualified Data.Vector.Storable as S
+import GHC.Base (IO(..), realWorld#)
+
data InterpolationMethod = Linear
| Polynomial
| CSpline
@@ -59,6 +65,12 @@
dim :: Numeric t => Vector t -> Int
dim = size
+-- FIXME
+appVector f x = unsafeInlinePerformIO (S.unsafeWith x (return . f))
+
+unsafeInlinePerformIO (IO f) = case f realWorld# of
+ (# _, x #) -> x
+
applyCFun hsname cname fun mth xs ys x
| dim xs /= dim ys = error $
"Error: Vectors of unequal sizes " ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/LinearAlgebra.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/LinearAlgebra.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/LinearAlgebra.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/LinearAlgebra.hs 2016-11-02 21:18:45.000000000 +0100
@@ -40,7 +40,7 @@
-> Vector Double
randomVector seed dist n = unsafePerformIO $ do
r <- createVector n
- c_random_vector (fi seed) ((fi.fromEnum) dist) # r #|"randomVector"
+ (r `applyRaw` id) (c_random_vector (fi seed) ((fi.fromEnum) dist)) #|"randomVector"
return r
foreign import ccall unsafe "random_vector" c_random_vector :: CInt -> CInt -> TV
@@ -56,7 +56,7 @@
charname <- newCString filename
charfmt <- newCString fmt
let o = if orderOf m == RowMajor then 1 else 0
- matrix_fprintf charname charfmt o # m #|"matrix_fprintf"
+ (m `applyRaw` id) (matrix_fprintf charname charfmt o) #|"matrix_fprintf"
free charname
free charfmt
@@ -69,7 +69,7 @@
fscanfVector filename n = do
charname <- newCString filename
res <- createVector n
- gsl_vector_fscanf charname # res #|"gsl_vector_fscanf"
+ (res `applyRaw` id) (gsl_vector_fscanf charname) #|"gsl_vector_fscanf"
free charname
return res
@@ -80,7 +80,7 @@
fprintfVector filename fmt v = do
charname <- newCString filename
charfmt <- newCString fmt
- gsl_vector_fprintf charname charfmt # v #|"gsl_vector_fprintf"
+ (v `applyRaw` id) (gsl_vector_fprintf charname charfmt) #|"gsl_vector_fprintf"
free charname
free charfmt
@@ -91,7 +91,7 @@
freadVector filename n = do
charname <- newCString filename
res <- createVector n
- gsl_vector_fread charname # res #| "gsl_vector_fread"
+ (res `applyRaw` id) (gsl_vector_fread charname) #| "gsl_vector_fread"
free charname
return res
@@ -101,7 +101,7 @@
fwriteVector :: FilePath -> Vector Double -> IO ()
fwriteVector filename v = do
charname <- newCString filename
- gsl_vector_fwrite charname # v #|"gsl_vector_fwrite"
+ (v `applyRaw` id) (gsl_vector_fwrite charname) #|"gsl_vector_fwrite"
free charname
foreign import ccall unsafe "vector_fwrite" gsl_vector_fwrite :: Ptr CChar -> TV
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/ODE.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/ODE.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/ODE.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/ODE.hs 2016-11-02 21:18:45.000000000 +0100
@@ -17,7 +17,7 @@
@
import Numeric.GSL.ODE
import Numeric.LinearAlgebra
-import Numeric.LinearAlgebra.Util(mplot)
+import Graphics.Plot(mplot)
xdot t [x,v] = [v, -0.95*x - 0.1*v]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Polynomials.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Polynomials.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Polynomials.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Polynomials.hs 2016-11-02 21:18:45.000000000 +0100
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
{- |
Module : Numeric.GSL.Polynomials
Copyright : (c) Alberto Ruiz 2006
@@ -24,7 +25,7 @@
import Foreign.C.Types (CInt(..))
#endif
-{- | Solution of general polynomial equations, using /gsl_poly_complex_solve/.
+{- | Solution of general polynomial equations, using /gsl_poly_complex_solve/.
For example, the three solutions of x^3 + 8 = 0
@@ -41,14 +42,14 @@
0.30901699437494756 :+ (-0.9510565162951535),
1.0000000000000002 :+ 0.0]
--}
+-}
polySolve :: [Double] -> [Complex Double]
polySolve = toList . polySolve' . fromList
polySolve' :: Vector Double -> Vector (Complex Double)
polySolve' v | size v > 1 = unsafePerformIO $ do
r <- createVector (size v-1)
- c_polySolve # v # r #| "polySolve"
+ (v `applyRaw` (r `applyRaw` id)) c_polySolve #| "polySolve"
return r
| otherwise = error "polySolve on a polynomial of degree zero"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Random.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Random.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Random.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Random.hs 2016-11-02 21:18:45.000000000 +0100
@@ -39,13 +39,13 @@
gaussianSample :: Seed
-> Int -- ^ number of rows
-> Vector Double -- ^ mean vector
- -> Matrix Double -- ^ covariance matrix
+ -> Herm Double -- ^ covariance matrix
-> Matrix Double -- ^ result
gaussianSample seed n med cov = m where
c = size med
meds = konst 1 n `outer` med
rs = reshape c $ randomVector seed Gaussian (c * n)
- m = rs <> cholSH cov + meds
+ m = rs <> chol cov + meds
-- | Obtains a matrix whose rows are pseudorandom samples from a multivariate
-- uniform distribution.
@@ -87,4 +87,3 @@
-}
randn :: Int -> Int -> IO (Matrix Double)
randn = randm Gaussian
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Vector.hs new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Vector.hs
--- old/hmatrix-gsl-0.17.0.0/src/Numeric/GSL/Vector.hs 2015-09-15 13:16:07.000000000 +0200
+++ new/hmatrix-gsl-0.18.0.1/src/Numeric/GSL/Vector.hs 2016-11-02 21:18:45.000000000 +0100
@@ -34,7 +34,7 @@
-> Vector Double
randomVector seed dist n = unsafePerformIO $ do
r <- createVector n
- c_random_vector_GSL (fi seed) ((fi.fromEnum) dist) # r #|"randomVectorGSL"
+ (r `applyRaw` id) (c_random_vector_GSL (fi seed) ((fi.fromEnum) dist)) #|"randomVectorGSL"
return r
foreign import ccall unsafe "random_vector_GSL" c_random_vector_GSL :: CInt -> CInt -> TV
@@ -50,7 +50,7 @@
charname <- newCString filename
charfmt <- newCString fmt
let o = if orderOf m == RowMajor then 1 else 0
- matrix_fprintf charname charfmt o # m #|"matrix_fprintf"
+ (m `applyRaw` id) (matrix_fprintf charname charfmt o) #|"matrix_fprintf"
free charname
free charfmt
@@ -63,7 +63,7 @@
fscanfVector filename n = do
charname <- newCString filename
res <- createVector n
- gsl_vector_fscanf charname # res #|"gsl_vector_fscanf"
+ (res `applyRaw` id) (gsl_vector_fscanf charname) #|"gsl_vector_fscanf"
free charname
return res
@@ -74,7 +74,7 @@
fprintfVector filename fmt v = do
charname <- newCString filename
charfmt <- newCString fmt
- gsl_vector_fprintf charname charfmt # v #|"gsl_vector_fprintf"
+ (v `applyRaw` id) (gsl_vector_fprintf charname charfmt) #|"gsl_vector_fprintf"
free charname
free charfmt
@@ -85,7 +85,7 @@
freadVector filename n = do
charname <- newCString filename
res <- createVector n
- gsl_vector_fread charname # res #|"gsl_vector_fread"
+ (res `applyRaw` id) (gsl_vector_fread charname) #|"gsl_vector_fread"
free charname
return res
@@ -95,7 +95,7 @@
fwriteVector :: FilePath -> Vector Double -> IO ()
fwriteVector filename v = do
charname <- newCString filename
- gsl_vector_fwrite charname # v #|"gsl_vector_fwrite"
+ (v `applyRaw` id) (gsl_vector_fwrite charname) #|"gsl_vector_fwrite"
free charname
foreign import ccall unsafe "vector_fwrite" gsl_vector_fwrite :: Ptr CChar -> TV
1
0
Hello community,
here is the log from the commit of package ghc-executable-hash for openSUSE:Factory checked in at 2017-03-28 15:21:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-executable-hash (Old)
and /work/SRC/openSUSE:Factory/.ghc-executable-hash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-executable-hash"
Tue Mar 28 15:21:32 2017 rev:2 rq:479842 version:0.2.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-executable-hash/ghc-executable-hash.changes 2017-03-09 01:55:36.169457181 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-executable-hash.new/ghc-executable-hash.changes 2017-03-28 15:21:36.210823431 +0200
@@ -1,0 +2,5 @@
+Mon Jan 9 06:33:47 UTC 2017 - psimons(a)suse.com
+
+- Update to version 0.2.0.4 with cabal2obs.
+
+-------------------------------------------------------------------
Old:
----
executable-hash-0.2.0.2.tar.gz
New:
----
executable-hash-0.2.0.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-executable-hash.spec ++++++
--- /var/tmp/diff_new_pack.4ijjhd/_old 2017-03-28 15:21:36.854732236 +0200
+++ /var/tmp/diff_new_pack.4ijjhd/_new 2017-03-28 15:21:36.854732236 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-executable-hash
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%global pkg_name executable-hash
Name: ghc-%{pkg_name}
-Version: 0.2.0.2
+Version: 0.2.0.4
Release: 0
Summary: Provides the SHA1 hash of the program executable
License: MIT
@@ -32,6 +32,7 @@
BuildRequires: ghc-directory-devel
BuildRequires: ghc-executable-path-devel
BuildRequires: ghc-file-embed-devel
+BuildRequires: ghc-filepath-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-template-haskell-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -59,7 +60,7 @@
%install
%ghc_lib_install
-%ghc_fix_dynamic_rpath inject-executable-hash
+%ghc_fix_rpath %{pkg_name}-%{version}
%post devel
%ghc_pkg_recache
++++++ executable-hash-0.2.0.2.tar.gz -> executable-hash-0.2.0.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/executable-hash-0.2.0.2/ChangeLog.md new/executable-hash-0.2.0.4/ChangeLog.md
--- old/executable-hash-0.2.0.2/ChangeLog.md 2015-07-02 07:41:49.000000000 +0200
+++ new/executable-hash-0.2.0.4/ChangeLog.md 2017-01-04 16:54:40.000000000 +0100
@@ -1,3 +1,14 @@
+0.2.0.4
+=======
+
+Added `custom-setup` to `.cabal` file
+
+0.2.0.3
+=======
+
+Add a `PackageImport` to avoid conflicting module names for `Crypto.Hash.SHA1`
+introduced by the `cryptohash-sha1` package.
+
0.2.0.0
=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/executable-hash-0.2.0.2/System/Executable/Hash/Internal.hs new/executable-hash-0.2.0.4/System/Executable/Hash/Internal.hs
--- old/executable-hash-0.2.0.2/System/Executable/Hash/Internal.hs 2015-07-02 07:41:49.000000000 +0200
+++ new/executable-hash-0.2.0.4/System/Executable/Hash/Internal.hs 2017-01-04 16:48:59.000000000 +0100
@@ -1,3 +1,4 @@
+{-# LANGUAGE PackageImports #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE OverloadedStrings #-}
@@ -6,7 +7,7 @@
module System.Executable.Hash.Internal where
import Control.Exception (SomeException, handle)
-import Crypto.Hash.SHA1 (hash)
+import "cryptohash" Crypto.Hash.SHA1 (hash)
import qualified Data.ByteString as BS
import Data.FileEmbed (dummySpaceWith, injectWith)
import Language.Haskell.TH (Q, Exp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/executable-hash-0.2.0.2/executable-hash.cabal new/executable-hash-0.2.0.4/executable-hash.cabal
--- old/executable-hash-0.2.0.2/executable-hash.cabal 2015-07-02 07:41:49.000000000 +0200
+++ new/executable-hash-0.2.0.4/executable-hash.cabal 2017-01-04 16:54:10.000000000 +0100
@@ -1,5 +1,5 @@
name: executable-hash
-version: 0.2.0.2
+version: 0.2.0.4
synopsis: Provides the SHA1 hash of the program executable
description: See README.md
homepage: https://github.com/fpco/executable-hash
@@ -19,6 +19,16 @@
type: git
location: git://github.com/fpco/executable-hash
+custom-setup
+ setup-depends: base
+ , bytestring
+ , Cabal
+ , cryptohash
+ , directory
+ , file-embed
+ , filepath
+ , template-haskell
+
library
exposed-modules: System.Executable.Hash
, System.Executable.Hash.Internal
1
0
Hello community,
here is the log from the commit of package codec2 for openSUSE:Factory checked in at 2017-03-28 15:21:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/codec2 (Old)
and /work/SRC/openSUSE:Factory/.codec2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "codec2"
Tue Mar 28 15:21:31 2017 rev:1 rq:479774 version:0.5.1
Changes:
--------
New Changes file:
--- /dev/null 2017-03-01 00:40:19.279048016 +0100
+++ /work/SRC/openSUSE:Factory/.codec2.new/codec2.changes 2017-03-28 15:21:32.519346249 +0200
@@ -0,0 +1,54 @@
+-------------------------------------------------------------------
+Wed Mar 15 12:08:03 UTC 2017 - jengelh(a)inai.de
+
+- Update description with new bit rates from homepage.
+
+-------------------------------------------------------------------
+Tue Mar 14 20:57:02 UTC 2017 - mpluskal(a)suse.com
+
+- Cleanup spec file with spec-cleaner
+
+-------------------------------------------------------------------
+Tue Jan 17 22:40:33 UTC 2017 - dl8fcl(a)darc.de
+
+- Copyrigth information of spec file removed
+
+-------------------------------------------------------------------
+Sat Jan 14 10:13:42 UTC 2017 - aloisio(a)gmx.com
+
+- Version 0.5.1
+ * Updated golay
+- Spec cleanup
+- Added codec2-rpmlintrc
+
+-------------------------------------------------------------------
+Sun Oct 11 18:56:52 UTC 2015 - wk(a)ire.pw.edu.pl
+
+- version 0.5
+
+-------------------------------------------------------------------
+Fri Sep 18 23:44:15 UTC 2015 - wk(a)ire.pw.edu.pl
+
+- version 0.4.1
+
+-------------------------------------------------------------------
+Tue Aug 18 09:43:14 UTC 2015 - wk(a)ire.pw.edu.pl
+
+- patch to install copm_prim.h needed by freedv2
+
+-------------------------------------------------------------------
+Tue Aug 18 07:18:07 UTC 2015 - wk(a)ire.pw.edu.pl
+
+- version 0.4
+
+-------------------------------------------------------------------
+Sun Feb 15 20:52:50 UTC 2015 - wk(a)ire.pw.edu.pl
+
+- version 0.3svn1917
+- mods based on Fedora package
+
+-------------------------------------------------------------------
+Mon Apr 29 08:39:27 UTC 2013 - dl8fcl(a)darc.de
+
+- first try
+
New:
----
codec2-0.5.1.tar.xz
codec2-rpmlintrc
codec2.changes
codec2.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ codec2.spec ++++++
#
# spec file for package codec2
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define libname lib%{name}-0_5
Name: codec2
Version: 0.5.1
Release: 0
Summary: Low bit rate speech codec
# octave and asterisk directories contain GPL-2.0 licensed code but its not
# used
License: LGPL-2.1
Group: Productivity/Hamradio/Other
Url: http://rowetel.com/codec2.html
Source: http://files.freedv.org/codec2/codec2-%{version}.tar.xz
Source1: %{name}-rpmlintrc
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: pkgconfig(speex)
BuildRequires: pkgconfig(speexdsp)
%description
Codec 2 is a speech codec designed for communications quality speech
between 700 and 3200 bit/s.
%package -n %{libname}
Summary: Low bit rate speech codec
Summary: Low bit rate speech codec
License: LGPL-2.1
Group: System/Libraries
%description -n %{libname}
Codec 2 is a speech codec designed for communications quality speech
between 700 and 3200 bit/s.
%package devel
Summary: Development library for codec2
License: GPL-2.0 AND LGPL-2.1
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
%description devel
Codec 2 is a speech codec designed for communications quality speech
between 700 and 3200 bit/s.
%package examples
Summary: Example code for Codec 2
License: GPL-2.0 AND LGPL-2.1
Requires: %{name}-devel = %{version}
BuildArch: noarch
%description examples
Example code for Codec 2, including test voices and matlab/octave files.
%prep
%setup -q
%build
%cmake \
-DINSTALL_EXAMPLES=TRUE \
-DUNITTEST=TRUE \
-Wno-dev
make %{?_smp_mflags}
%install
%cmake_install
# Create and install pkgconfig file
mkdir -p %{buildroot}%{_libdir}/pkgconfig
cat > %{buildroot}%{_libdir}/pkgconfig/codec2.pc << EOF
prefix=%{_prefix}
exec_prefix=\${prefix}
includedir=\${prefix}/include/%{name}
libdir=\${exec_prefix}/%{_lib}
Name: codec2
Version: %{version}
License: GPL-2.0 AND LGPL-2.1
Description: Low bit rate speech codec for two-way radio
Cflags: -I\${includedir}
Libs: -L\${libdir} -l%{name}
EOF
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc COPYING README README_fdmdv.txt
%{_bindir}/c2dec
%{_bindir}/c2demo
%{_bindir}/c2enc
%{_bindir}/c2sim
%{_bindir}/fdmdv_demod
%{_bindir}/fdmdv_get_test_bits
%{_bindir}/fdmdv_interleave
%{_bindir}/fdmdv_mod
%{_bindir}/fdmdv_put_test_bits
%{_bindir}/fec_dec
%{_bindir}/fec_enc
%{_bindir}/fm_demod
%{_bindir}/insert_errors
%files -n %{libname}
%defattr(-,root,root)
%{_libdir}/libcodec2.so.*
%files devel
%defattr(-, root, root)
%{_includedir}/*
%{_libdir}/libcodec2.so
%{_libdir}/pkgconfig/%{name}.pc
%files examples
%defattr(-,root,root)
%{_datadir}/%{name}/
%changelog
++++++ codec2-rpmlintrc ++++++
# these can't be helped
addFilter("no-manual-page-for-binary .*")
addFilter("codec2-examples.noarch: .*devel-dependency codec2-devel")
1
0
Hello community,
here is the log from the commit of package perl-App-MFILE-WWW for openSUSE:Factory checked in at 2017-03-28 15:21:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-App-MFILE-WWW (Old)
and /work/SRC/openSUSE:Factory/.perl-App-MFILE-WWW.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-App-MFILE-WWW"
Tue Mar 28 15:21:26 2017 rev:5 rq:478926 version:0.156
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-App-MFILE-WWW/perl-App-MFILE-WWW.changes 2016-11-18 22:04:05.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-App-MFILE-WWW.new/perl-App-MFILE-WWW.changes 2017-03-28 15:21:27.328081480 +0200
@@ -1,0 +2,50 @@
+Tue Mar 7 06:02:59 UTC 2017 - coolo(a)suse.com
+
+- updated to 0.156
+ see /usr/share/doc/packages/perl-App-MFILE-WWW/Changes
+
+
+ 0.155 2017-02-27 22:37 CET
+ - html.js: handle special entries in dbrowser, too
+ - lib.js: add shallowCopy function
+ - spam console log less (rightPadSpaces, current-user.js)
+ - current-user: refrain from spamming log
+
+ 0.156 2017-02-28 15:23 CET
+ - lib.js: add isStringNotEmpty function
+
+-------------------------------------------------------------------
+Wed Mar 1 06:02:34 UTC 2017 - coolo(a)suse.com
+
+- updated to 0.154
+ see /usr/share/doc/packages/perl-App-MFILE-WWW/Changes
+
+
+ 0.154 2017-02-27 15:40 CET
+ - build/ops: require recent versions of dependencies
+ - Cleanup session data display
+ - html.js: handle null entriesWrite array
+ - Implement a special divider dform entry, including rendering
+ - Implement a special dform entry that is just an empty line
+ - html: handle null elem.text in maxLength
+
+-------------------------------------------------------------------
+Sun Feb 26 06:02:01 UTC 2017 - coolo(a)suse.com
+
+- updated to 0.153
+ see /usr/share/doc/packages/perl-App-MFILE-WWW/Changes
+
+
+ 0.153 2017-02-25 09:30 CET
+ - Refrain from making a new Plack::Session object
+ - doc: tweak log messages
+ - Resource.pm: implement session and session_id methods
+ - script: store sessions in a dedicated directory in /tmp
+ - Display session data on all screens
+ - login: do not trigger page reload when bad credentials
+ - Dispatch.pm: remove dead code
+ - Control display of session data by config parameter
+ - doc: better description of MFILE_APPNAME config param
+ - Control display of session data via configuration parameter
+
+-------------------------------------------------------------------
Old:
----
App-MFILE-WWW-0.152.tar.gz
New:
----
App-MFILE-WWW-0.156.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-App-MFILE-WWW.spec ++++++
--- /var/tmp/diff_new_pack.3J1YdK/_old 2017-03-28 15:21:28.251950634 +0200
+++ /var/tmp/diff_new_pack.3J1YdK/_new 2017-03-28 15:21:28.255950068 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-App-MFILE-WWW
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,21 +17,21 @@
Name: perl-App-MFILE-WWW
-Version: 0.152
+Version: 0.156
Release: 0
%define cpan_name App-MFILE-WWW
Summary: Web UI development toolkit with prototype demo app
License: BSD-3-Clause
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/App-MFILE-WWW/
-Source0: http://www.cpan.org/authors/id/S/SM/SMITHFARM/%{cpan_name}-%{version}.tar.gz
+Source0: https://cpan.metacpan.org/authors/id/S/SM/SMITHFARM/%{cpan_name}-%{version}…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(App::CELL) >= 0.194
-BuildRequires: perl(App::MFILE) >= 0.17
+BuildRequires: perl(App::CELL) >= 0.222
+BuildRequires: perl(App::MFILE) >= 0.181
BuildRequires: perl(File::ShareDir)
BuildRequires: perl(HTTP::Request)
BuildRequires: perl(JSON)
@@ -44,14 +44,13 @@
BuildRequires: perl(Plack::Middleware::StackTrace)
BuildRequires: perl(Plack::Middleware::Static)
BuildRequires: perl(Plack::Runner)
-BuildRequires: perl(Plack::Session)
BuildRequires: perl(Plack::Test)
BuildRequires: perl(Test::Fatal)
BuildRequires: perl(Test::JSON)
BuildRequires: perl(Try::Tiny)
BuildRequires: perl(Web::Machine) >= 0.15
-Requires: perl(App::CELL) >= 0.194
-Requires: perl(App::MFILE) >= 0.17
+Requires: perl(App::CELL) >= 0.222
+Requires: perl(App::MFILE) >= 0.181
Requires: perl(File::ShareDir)
Requires: perl(JSON)
Requires: perl(LWP::UserAgent)
@@ -62,7 +61,6 @@
Requires: perl(Plack::Middleware::StackTrace)
Requires: perl(Plack::Middleware::Static)
Requires: perl(Plack::Runner)
-Requires: perl(Plack::Session)
Requires: perl(Try::Tiny)
Requires: perl(Web::Machine) >= 0.15
%{perl_requires}
@@ -105,6 +103,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes COPYING LICENSE README.rst share
+%doc Changes README.rst share
+%license COPYING LICENSE
%changelog
++++++ App-MFILE-WWW-0.152.tar.gz -> App-MFILE-WWW-0.156.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/Build.PL new/App-MFILE-WWW-0.156/Build.PL
--- old/App-MFILE-WWW-0.152/Build.PL 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/Build.PL 2017-03-01 17:12:46.000000000 +0100
@@ -21,10 +21,9 @@
'Module::Build' => 0,
},
build_requires => {
- 'App::CELL' => 0.194,
- 'App::MFILE' => 0.170,
+ 'App::CELL' => 0.222,
+ 'App::MFILE' => 0.181,
'HTTP::Request' => 0,
- 'Plack::Session' => 0,
'Plack::Test' => 0,
'Scalar::Util' => 0,
'Test::Fatal' => 0,
@@ -32,8 +31,8 @@
},
requires => {
'perl' => 5.012,
- 'App::CELL' => 0.194,
- 'App::MFILE' => 0.170,
+ 'App::CELL' => 0.222,
+ 'App::MFILE' => 0.181,
'Getopt::Long' => 0,
'File::ShareDir' => 0,
'File::Temp' => 0,
@@ -46,7 +45,6 @@
'Plack::Middleware::StackTrace' => 0,
'Plack::Middleware::Static' => 0,
'Plack::Runner' => 0,
- 'Plack::Session' => 0,
'Scalar::Util' => 0,
'Try::Tiny' => 0,
'Web::Machine' => 0.15,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/Changes new/App-MFILE-WWW-0.156/Changes
--- old/App-MFILE-WWW-0.152/Changes 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/Changes 2017-03-01 17:12:46.000000000 +0100
@@ -920,3 +920,32 @@
- core: improve display of empty table/rowselect in html.js
- core: display drowselect navigation only if rows > 1
+0.153 2017-02-25 09:30 CET
+- Refrain from making a new Plack::Session object
+- doc: tweak log messages
+- Resource.pm: implement session and session_id methods
+- script: store sessions in a dedicated directory in /tmp
+- Display session data on all screens
+- login: do not trigger page reload when bad credentials
+- Dispatch.pm: remove dead code
+- Control display of session data by config parameter
+- doc: better description of MFILE_APPNAME config param
+- Control display of session data via configuration parameter
+
+0.154 2017-02-27 15:40 CET
+- build/ops: require recent versions of dependencies
+- Cleanup session data display
+- html.js: handle null entriesWrite array
+- Implement a special divider dform entry, including rendering
+- Implement a special dform entry that is just an empty line
+- html: handle null elem.text in maxLength
+
+0.155 2017-02-27 22:37 CET
+- html.js: handle special entries in dbrowser, too
+- lib.js: add shallowCopy function
+- spam console log less (rightPadSpaces, current-user.js)
+- current-user: refrain from spamming log
+
+0.156 2017-02-28 15:23 CET
+- lib.js: add isStringNotEmpty function
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/META.json new/App-MFILE-WWW-0.156/META.json
--- old/App-MFILE-WWW-0.152/META.json 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/META.json 2017-03-01 17:12:46.000000000 +0100
@@ -4,7 +4,7 @@
"Nathan Cutler <ncutler(a)suse.cz>"
],
"dynamic_config" : 1,
- "generated_by" : "Module::Build version 0.4205",
+ "generated_by" : "Module::Build version 0.4003, CPAN::Meta::Converter version 2.120921",
"license" : [
"bsd"
],
@@ -16,10 +16,9 @@
"prereqs" : {
"build" : {
"requires" : {
- "App::CELL" : "0.194",
- "App::MFILE" : "0.17",
+ "App::CELL" : "0.222",
+ "App::MFILE" : "0.181",
"HTTP::Request" : "0",
- "Plack::Session" : "0",
"Plack::Test" : "0",
"Scalar::Util" : "0",
"Test::Fatal" : "0",
@@ -33,8 +32,8 @@
},
"runtime" : {
"requires" : {
- "App::CELL" : "0.194",
- "App::MFILE" : "0.17",
+ "App::CELL" : "0.222",
+ "App::MFILE" : "0.181",
"File::ShareDir" : "1.00",
"File::Temp" : "0",
"Getopt::Long" : "0",
@@ -47,7 +46,6 @@
"Plack::Middleware::StackTrace" : "0",
"Plack::Middleware::Static" : "0",
"Plack::Runner" : "0",
- "Plack::Session" : "0",
"Scalar::Util" : "0",
"Try::Tiny" : "0",
"Web::Machine" : "0.15",
@@ -58,21 +56,22 @@
"provides" : {
"App::MFILE::WWW" : {
"file" : "lib/App/MFILE/WWW.pm",
- "version" : "0.152"
+ "version" : "0.156"
},
"App::MFILE::WWW::Dispatch" : {
- "file" : "lib/App/MFILE/WWW/Dispatch.pm"
+ "file" : "lib/App/MFILE/WWW/Dispatch.pm",
+ "version" : 0
},
"App::MFILE::WWW::Resource" : {
- "file" : "lib/App/MFILE/WWW/Resource.pm"
+ "file" : "lib/App/MFILE/WWW/Resource.pm",
+ "version" : 0
}
},
"release_status" : "stable",
"resources" : {
"license" : [
- "http://opensource.org/licenses/bsd-license.php"
+ "http://opensource.org/licenses/BSD-3-Clause"
]
},
- "version" : "0.152",
- "x_serialization_backend" : "JSON::PP version 2.27203"
+ "version" : "0.156"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/META.yml new/App-MFILE-WWW-0.156/META.yml
--- old/App-MFILE-WWW-0.152/META.yml 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/META.yml 2017-03-01 17:12:46.000000000 +0100
@@ -3,52 +3,51 @@
author:
- 'Nathan Cutler <ncutler(a)suse.cz>'
build_requires:
- App::CELL: '0.194'
- App::MFILE: '0.17'
- HTTP::Request: '0'
- Plack::Session: '0'
- Plack::Test: '0'
- Scalar::Util: '0'
- Test::Fatal: '0'
- Test::JSON: '0'
+ App::CELL: 0.222
+ App::MFILE: 0.181
+ HTTP::Request: 0
+ Plack::Test: 0
+ Scalar::Util: 0
+ Test::Fatal: 0
+ Test::JSON: 0
configure_requires:
- Module::Build: '0'
+ Module::Build: 0
dynamic_config: 1
-generated_by: 'Module::Build version 0.4205, CPAN::Meta::Converter version 2.150005'
+generated_by: 'Module::Build version 0.4003, CPAN::Meta::Converter version 2.120921'
license: bsd
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: '1.4'
+ version: 1.4
name: App-MFILE-WWW
provides:
App::MFILE::WWW:
file: lib/App/MFILE/WWW.pm
- version: '0.152'
+ version: 0.156
App::MFILE::WWW::Dispatch:
file: lib/App/MFILE/WWW/Dispatch.pm
+ version: 0
App::MFILE::WWW::Resource:
file: lib/App/MFILE/WWW/Resource.pm
+ version: 0
requires:
- App::CELL: '0.194'
- App::MFILE: '0.17'
- File::ShareDir: '1.00'
- File::Temp: '0'
- Getopt::Long: '0'
- JSON: '0'
- LWP::UserAgent: '0'
- Log::Any::Adapter: '0'
- Params::Validate: '1.06'
- Plack::Builder: '0'
- Plack::Middleware::Session: '0'
- Plack::Middleware::StackTrace: '0'
- Plack::Middleware::Static: '0'
- Plack::Runner: '0'
- Plack::Session: '0'
- Scalar::Util: '0'
- Try::Tiny: '0'
- Web::Machine: '0.15'
- perl: '5.012'
+ App::CELL: 0.222
+ App::MFILE: 0.181
+ File::ShareDir: 1.00
+ File::Temp: 0
+ Getopt::Long: 0
+ JSON: 0
+ LWP::UserAgent: 0
+ Log::Any::Adapter: 0
+ Params::Validate: 1.06
+ Plack::Builder: 0
+ Plack::Middleware::Session: 0
+ Plack::Middleware::StackTrace: 0
+ Plack::Middleware::Static: 0
+ Plack::Runner: 0
+ Scalar::Util: 0
+ Try::Tiny: 0
+ Web::Machine: 0.15
+ perl: 5.012
resources:
- license: http://opensource.org/licenses/bsd-license.php
-version: '0.152'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.012'
+ license: http://opensource.org/licenses/BSD-3-Clause
+version: 0.156
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/Makefile.PL new/App-MFILE-WWW-0.156/Makefile.PL
--- old/App-MFILE-WWW-0.152/Makefile.PL 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/Makefile.PL 2017-03-01 17:12:46.000000000 +0100
@@ -1,4 +1,4 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.4205
+# Note: this file was auto-generated by Module::Build::Compat version 0.4003
require 5.012;
use ExtUtils::MakeMaker;
WriteMakefile
@@ -6,8 +6,8 @@
'NAME' => 'App::MFILE::WWW',
'VERSION_FROM' => 'lib/App/MFILE/WWW.pm',
'PREREQ_PM' => {
- 'App::CELL' => '0.194',
- 'App::MFILE' => '0.17',
+ 'App::CELL' => '0.222',
+ 'App::MFILE' => '0.181',
'File::ShareDir' => '1.00',
'File::Temp' => 0,
'Getopt::Long' => 0,
@@ -21,7 +21,6 @@
'Plack::Middleware::StackTrace' => 0,
'Plack::Middleware::Static' => 0,
'Plack::Runner' => 0,
- 'Plack::Session' => 0,
'Plack::Test' => 0,
'Scalar::Util' => 0,
'Test::Fatal' => 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/bin/mfile-www new/App-MFILE-WWW-0.156/bin/mfile-www
--- old/App-MFILE-WWW-0.152/bin/mfile-www 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/bin/mfile-www 2017-03-01 17:12:46.000000000 +0100
@@ -44,13 +44,14 @@
use App::CELL::Util qw( is_directory_viable );
use App::MFILE::WWW qw( $VERSION );
use Getopt::Long;
-use File::Path;
+use File::Path qw( make_path remove_tree );
use File::ShareDir;
use File::Spec;
use Module::Load;
use Module::Runtime qw( is_module_name require_module );
use Plack::Builder;
use Plack::Runner;
+use Plack::Session::Store::File;
use Try::Tiny;
use Web::Machine;
@@ -288,7 +289,7 @@
my $module = join( '::', @tmp_c );
my $app_module = $module . '::Dispatch';
die "$app_module is not a module name" unless is_module_name( $app_module );
- print "Derived distro is $app_distro\n";
+ print "_get_sharedir: Derived distro is $app_distro\n";
my $status = undef;
try {
@@ -337,7 +338,7 @@
my ( $old, $new ) = @_;
die "Need to be root to create symlink" unless $sharedir_writable;
my ( undef, $path, $file ) = File::Spec->splitpath( $new );
- File::Path::make_path( $path );
+ make_path( $path );
symlink( $old, $new ) ;
if ( ! stat( $new ) ) {
unlink( $new );
@@ -491,11 +492,16 @@
);
$runner->parse_options(@ARGV);
+remove_tree( '/tmp/mfile-www-sessions' );
+mkdir '/tmp/mfile-www-sessions';
$runner->run(
builder {
enable "StackTrace", force => 1;
- enable "Session", store => 'File';
+# enable "Session", store => 'File';
+ enable "Session", store => Plack::Session::Store::File->new(
+ dir => '/tmp/mfile-www-sessions',
+ );
enable "Static", path => qr{^/(js|css)/}, root => $http_root;
Web::Machine->new( resource => $dispatch_module, )->to_app;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/lib/App/MFILE/WWW/Dispatch.pm new/App-MFILE-WWW-0.156/lib/App/MFILE/WWW/Dispatch.pm
--- old/App-MFILE-WWW-0.152/lib/App/MFILE/WWW/Dispatch.pm 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/lib/App/MFILE/WWW/Dispatch.pm 2017-03-01 17:12:46.000000000 +0100
@@ -42,7 +42,6 @@
use App::CELL qw( $CELL $log $meta $site );
use Data::Dumper;
-use File::Temp qw( tempdir );
use JSON;
use LWP::UserAgent;
use Params::Validate qw(:all);
@@ -50,9 +49,7 @@
# methods/attributes not defined in this module will be inherited from:
use parent 'App::MFILE::WWW::Resource';
-our $ua = LWP::UserAgent->new(
- cookie_jar => { file => tempdir( CLEANUP => 0 ) }
- );
+
=head1 NAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/lib/App/MFILE/WWW/Resource.pm new/App-MFILE-WWW-0.156/lib/App/MFILE/WWW/Resource.pm
--- old/App-MFILE-WWW-0.152/lib/App/MFILE/WWW/Resource.pm 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/lib/App/MFILE/WWW/Resource.pm 2017-03-01 17:12:46.000000000 +0100
@@ -47,7 +47,6 @@
use JSON;
use LWP::UserAgent;
use Params::Validate qw(:all);
-use Plack::Session;
use Try::Tiny;
# methods/attributes not defined in this module will be inherited from:
@@ -101,6 +100,26 @@
}
+=head2 session
+
+=cut
+
+sub session {
+ my $self = shift;
+ return $self->request->{'env'}->{'psgix.session'};
+}
+
+
+=head2 session_id
+
+=cut
+
+sub session_id {
+ my $self = shift;
+ return $self->request->{'env'}->{'psgix.session.options'}->{'id'};
+}
+
+
=head2 service_available
This is the first method called on every incoming request.
@@ -128,14 +147,16 @@
sub _render_response_html {
my ( $self ) = @_;
+ $log->debug( "Entering " . __PACKAGE__ . "::_render_response_html" );
+
my $r = $self->request;
- my $session = Plack::Session->new( $r->{'env'} );
- my $ce = $session->get('currentUser');
- my $cepriv = $session->get('currentUserPriv');
+ my $session = $r->{'env'}->{'psgix.session'};
+ my $ce = $session->{'currentUser'};
+ my $cepriv = $session->{'currentUserPriv'};
my $entity;
$entity = ( $r->path_info =~ m/test/i )
- ? test_html( $ce, $cepriv )
- : main_html( $ce, $cepriv );
+ ? $self->test_html( $ce, $cepriv )
+ : $self->main_html( $ce, $cepriv );
return $entity;
}
@@ -276,7 +297,7 @@
=cut
sub main_html {
- my ( $ce, $cepriv ) = @_;
+ my ( $self, $ce, $cepriv ) = @_;
$cepriv = '' unless defined( $cepriv );
$log->debug( "Entering " . __PACKAGE__ . "::main_html() with \$ce " .
@@ -289,7 +310,7 @@
$r .= '<link rel="stylesheet" type="text/css" href="/css/start.css" />';
# Bring in RequireJS
- $r .= _require_js($ce, $cepriv);
+ $r .= $self->_require_js($ce, $cepriv);
$r .= '</head>';
$r .= '<body>';
@@ -310,7 +331,7 @@
=cut
sub test_html {
- my ( $ce, $cepriv ) = @_;
+ my ( $self, $ce, $cepriv ) = @_;
my $r = '';
@@ -320,7 +341,7 @@
$r .= '<link rel="stylesheet" type="text/css" href="/css/qunit.css" />';
# Bring in RequireJS
- $r .= _require_js($ce, $cepriv);
+ $r .= $self->_require_js($ce, $cepriv);
$r .= '</head><body>';
$r .= '<div id="qunit"></div>';
@@ -336,7 +357,7 @@
# HTML necessary for RequireJS
sub _require_js {
- my ( $ce, $cepriv ) = @_;
+ my ( $self, $ce, $cepriv ) = @_;
my $r = '';
@@ -397,6 +418,13 @@
$r .= 'loginDialogMaxLengthUsername: ' . $site->MFILE_WWW_LOGIN_DIALOG_MAXLENGTH_USERNAME . ',';
$r .= 'loginDialogMaxLengthPassword: ' . $site->MFILE_WWW_LOGIN_DIALOG_MAXLENGTH_PASSWORD . ',';
+ # session data
+ $r .= 'displaySessionData: ' . ( $site->MFILE_WWW_DISPLAY_SESSION_DATA ? 'true' : 'false' ) . ',';
+ if ( $site->MFILE_WWW_DISPLAY_SESSION_DATA ) {
+ $r .= 'sessionID: \'' . $self->session_id . '\',';
+ $r .= 'sessionLastSeen: \'' . ( exists $self->session->{'last_seen'} ? $self->session->{'last_seen'} : 'never' ) . '\',';
+ }
+
# REST server URI
if ( defined( $site->DOCHAZKA_WWW_BACKEND_URI ) ) {
$r .= 'restURI: \'' . $site->DOCHAZKA_WWW_BACKEND_URI . '\',';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/lib/App/MFILE/WWW.pm new/App-MFILE-WWW-0.156/lib/App/MFILE/WWW.pm
--- old/App-MFILE-WWW-0.152/lib/App/MFILE/WWW.pm 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/lib/App/MFILE/WWW.pm 2017-03-01 17:12:46.000000000 +0100
@@ -58,11 +58,11 @@
=head1 VERSION
-Version 0.152
+Version 0.156
=cut
-our $VERSION = '0.152';
+our $VERSION = '0.156';
our @EXPORT_OK = ( '$VERSION' );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/share/config/WWW_Config.pm new/App-MFILE-WWW-0.156/share/config/WWW_Config.pm
--- old/App-MFILE-WWW-0.152/share/config/WWW_Config.pm 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/share/config/WWW_Config.pm 2017-03-01 17:12:46.000000000 +0100
@@ -36,7 +36,9 @@
#
# MFILE_APPNAME
-# the name of this web front-end
+# the name of this web front-end (no colons; must match the directory
+# name where application-specific JavaScript files are stored - e.g.
+# share/js/mfile-www)
set( 'MFILE_APPNAME', 'mfile-www' );
# MFILE_WWW_DEBUG_MODE
@@ -109,6 +111,10 @@
# message that will be displayed for 1 second upon logout
set( 'MFILE_WWW_LOGOUT_MESSAGE', '<br><br><br><br>App::MFILE::WWW over and out.<br><br>Have a lot of fun.<br><br><br><br>' );
+# MFILE_WWW_DISPLAY_SESSION_DATA
+# controls whether session data will be displayed on all screens
+set( 'MFILE_WWW_DISPLAY_SESSION_DATA', 0 );
+
# JAVASCRIPT (REQUIREJS)
# we use RequireJS to bring in dependencies - the following configuration
# parameters are required to bring in RequireJS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/share/js/core/ajax.js new/App-MFILE-WWW-0.156/share/js/core/ajax.js
--- old/App-MFILE-WWW-0.152/share/js/core/ajax.js 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/share/js/core/ajax.js 2017-03-01 17:12:46.000000000 +0100
@@ -109,8 +109,10 @@
console.log("Payload is", data.payload);
if (data.payload.hasOwnProperty('code')) {
if (data.payload.code === "401" ) {
- console.log("401 encountered: logging out");
- logout();
+ if (mfao.method !== 'LOGIN') {
+ console.log("401 encountered: logging out");
+ logout();
+ }
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/share/js/core/current-user.js new/App-MFILE-WWW-0.156/share/js/core/current-user.js
--- old/App-MFILE-WWW-0.152/share/js/core/current-user.js 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/share/js/core/current-user.js 2017-03-01 17:12:46.000000000 +0100
@@ -80,8 +80,8 @@
priv = cf('currentUserPriv'),
flag1;
- console.log("current-user: ce is ", ce);
- console.log("current-user: priv is " + priv);
+ // console.log("current-user: ce is ", ce);
+ // console.log("current-user: priv is " + priv);
if (ce) {
$.extend(cu, ce)
@@ -90,7 +90,7 @@
// current-user function
return function (sw, arg) {
if (sw === 'obj') {
- console.log('current-user function called with "obj"');
+ // console.log('current-user function called with "obj"');
if (arg) {
console.log('NOTICE: setting current user object to ', arg);
cu = arg;
@@ -100,7 +100,7 @@
return cu.nick ? cu : null;
}
if (sw === 'priv') {
- console.log('current-user function called with "priv"');
+ // console.log('current-user function called with "priv"');
if (arg) {
console.log('NOTICE: setting current user priv to ' + arg);
priv = arg;
@@ -109,14 +109,14 @@
return priv;
}
if (sw === 'flag1') {
- console.log('current-user function called with "flag1"');
+ // console.log('current-user function called with "flag1"');
if (arg || arg === 0) {
console.log('NOTICE: setting current user flag1 to ' + arg);
flag1 = arg;
}
return flag1;
}
- console.log('current-user function called with no arguments');
+ // console.log('current-user function called with no arguments');
return {
'obj': cu,
'priv': priv,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/share/js/core/html.js new/App-MFILE-WWW-0.156/share/js/core/html.js
--- old/App-MFILE-WWW-0.152/share/js/core/html.js 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/share/js/core/html.js 2017-03-01 17:12:46.000000000 +0100
@@ -105,6 +105,9 @@
len = arr ? arr.length : 0;
console.log("arr has " + len + " members");
max = arr.reduce(function(prevVal, elem) {
+ if (elem.text === null) {
+ elem.text = '';
+ }
if (elem.text.length > prevVal) {
prevVal = elem.text.length;
}
@@ -335,6 +338,10 @@
r += '<div id="noticesline" style="font-size: small">';
// r += appLib.fillNoticesLine();
r += '</div>';
+ if (cf('displaySessionData') === true) {
+ r += 'Plack session ID: ' + cf('sessionID');
+ r += ' (last_seen ' + cf('sessionLastSeen') + ')</br>';
+ }
return r;
}, // body
@@ -390,11 +397,16 @@
// determine characters needed for padding (based on longest
// entry)
if (dfo.entriesRead !== undefined) {
+ console.log("entriesRead", dfo.entriesRead);
allEntries = lib.forceArray(dfo.entriesRead);
}
if (dfo.entriesWrite !== undefined) {
- allEntries = allEntries.concat(dfo.entriesWrite);
+ console.log("entriesWrite", dfo.entriesWrite);
+ allEntries = allEntries.concat(
+ dfo.entriesWrite === null ? [] : dfo.entriesWrite
+ );
}
+ console.log("About to call maxLength() on allEntries", allEntries);
needed = maxLength(allEntries) + 2;
// READ-ONLY entries first
@@ -402,7 +414,11 @@
console.log("Processing " + len + "read-only dform entries");
for (i = 0; i < len; i += 1) {
entry = dfo.entriesRead[i];
- if (lib.privCheck(entry.aclProfileRead)) {
+ if (entry.name === 'divider') {
+ r += Array(entry.maxlen).join(entry.text) + '<br>';
+ } else if (entry.name === 'emptyLine') {
+ r += '<br>';
+ } else if (lib.privCheck(entry.aclProfileRead)) {
r += lib.rightPadSpaces(entry.text.concat(':'), needed);
r += '<span id="' + entry.name + '">';
r += valueToDisplay(obj, entry.prop);
@@ -472,7 +488,11 @@
if (len > 0) {
for (i = 0; i < len; i += 1) {
entry = dbo.entries[i];
- if (lib.privCheck(entry.aclProfileRead)) {
+ if (entry.name === 'divider') {
+ r += Array(entry.maxlen).join(entry.text) + '<br>';
+ } else if (entry.name === 'emptyLine') {
+ r += '<br>';
+ } else if (lib.privCheck(entry.aclProfileRead)) {
r += lib.rightPadSpaces(entry.text.concat(':'), needed);
r += '<span id="' + entry.name + '">';
r += valueToDisplay(obj, entry.prop);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/share/js/core/lib.js new/App-MFILE-WWW-0.156/share/js/core/lib.js
--- old/App-MFILE-WWW-0.152/share/js/core/lib.js 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/share/js/core/lib.js 2017-03-01 17:12:46.000000000 +0100
@@ -59,6 +59,24 @@
return {
+ // special entries
+ dividerEntry: {
+ name: 'divider',
+ aclProfileRead: 'passerby',
+ aclProfileWrite: null,
+ text: '-',
+ prop: null,
+ maxlen: 20
+ },
+ emptyLineEntry: {
+ name: 'emptyLine',
+ aclProfileRead: 'passerby',
+ aclProfileWrite: null,
+ text: null,
+ prop: null,
+ maxlen: 20
+ },
+
// clear the result line
clearResult: function () {
$('#result').css('text-align', 'left');
@@ -130,7 +148,7 @@
// right pad a string with spaces
rightPadSpaces: function (toPad, padto) {
var strToPad = ((toPad === null) ? '' : toPad).toString();
- console.log("Padding " + strToPad + " to " + padto + " spaces.");
+ // console.log("Padding " + strToPad + " to " + padto + " spaces.");
var sp = ' ',
padSpaces = sp.repeat(padto - String(strToPad).length);
return strToPad.concat(padSpaces);
@@ -224,8 +242,35 @@
$("#result").html(msg);
$('input[name="sel"]').val('');
$('input[name="entry0"]').focus();
- }
+ },
+ // shallow object copy, from
+ // http://blog.soulserv.net/understanding-object-cloning-in-javascript-part-i/
+ shallowCopy: function (original) {
+ // First create an empty object with
+ // same prototype of our original source
+ var clone = Object.create(Object.getPrototypeOf(original)),
+ i, keys = Object.getOwnPropertyNames(original);
+ for (i = 0; i < keys.length; i++) {
+ // copy each property into the clone
+ Object.defineProperty(clone, keys[i],
+ Object.getOwnPropertyDescriptor(original, keys[i])
+ );
+ }
+ return clone;
+ },
+
+ // boolean function for existing, non-empty string, from
+ // https://www.safaribooksonline.com/library/view/javascript-cookbook/97814493…
+ // true if variable exists, is a string, and has a length greater than zero
+ isStringNotEmpty: function (unknownVariable) {
+ if (((typeof unknownVariable !== "undefined") &&
+ (typeof unknownVariable.valueOf() === "string")) &&
+ (unknownVariable.length > 0)) {
+ return true;
+ }
+ return false;
+ }
};
});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/share/js/core/login-dialog.js new/App-MFILE-WWW-0.156/share/js/core/login-dialog.js
--- old/App-MFILE-WWW-0.152/share/js/core/login-dialog.js 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/share/js/core/login-dialog.js 2017-03-01 17:12:46.000000000 +0100
@@ -73,6 +73,7 @@
},
// failure callback
fc = function (st) {
+ console.log("Login failed", st);
$('#result').html('Login failed: code ' + st.payload.code +
' (' + st.payload.message + ')');
$('input[name="nam"]').focus();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-MFILE-WWW-0.152/share/js/core/logout.js new/App-MFILE-WWW-0.156/share/js/core/logout.js
--- old/App-MFILE-WWW-0.152/share/js/core/logout.js 2016-11-05 21:18:27.000000000 +0100
+++ new/App-MFILE-WWW-0.156/share/js/core/logout.js 2017-03-01 17:12:46.000000000 +0100
@@ -50,7 +50,7 @@
return function () {
var displayLogoutMessage = function () {
$('#mainarea').html(html.logout());
- setTimeout(function () { location.reload(); }, 500);
+ location.reload();
},
rest = {
method: 'LOGIN',
1
0
28 Mar '17
Hello community,
here is the log from the commit of package golang-googlecode-freetype-go for openSUSE:Factory checked in at 2017-03-28 15:21:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/golang-googlecode-freetype-go (Old)
and /work/SRC/openSUSE:Factory/.golang-googlecode-freetype-go.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "golang-googlecode-freetype-go"
Tue Mar 28 15:21:19 2017 rev:3 rq:478451 version:0.0.0+git20161208.d9be45a
Changes:
--------
--- /work/SRC/openSUSE:Factory/golang-googlecode-freetype-go/golang-googlecode-freetype-go.changes 2016-04-06 11:52:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.golang-googlecode-freetype-go.new/golang-googlecode-freetype-go.changes 2017-03-28 15:21:20.433058016 +0200
@@ -1,0 +2,9 @@
+Fri Mar 3 08:33:56 UTC 2017 - thipp(a)suse.de
+
+- Update to version 0.0.0+git20161208.d9be45a
+- Refactoring based on new packaging proposal
+- Rename %{name}-rpmlintrc to rpmlintrc
+- Use git instead of mercurial
+- Remove example binaries from package
+
+-------------------------------------------------------------------
Old:
----
freetype-go-0.0.0+hg20150309.128.46c3056cafbb.tar.xz
golang-googlecode-freetype-go-rpmlintrc
New:
----
freetype-0.0.0+git20161208.d9be45a.tar.xz
rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ golang-googlecode-freetype-go.spec ++++++
--- /var/tmp/diff_new_pack.MNRgBe/_old 2017-03-28 15:21:21.200949259 +0200
+++ /var/tmp/diff_new_pack.MNRgBe/_new 2017-03-28 15:21:21.200949259 +0200
@@ -1,7 +1,7 @@
#
# spec file for package golang-googlecode-freetype-go
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c), 2011, Sascha Peilicke <saschpe(a)gmx.de>
#
# All modifications and additions to the file contributed by third parties
@@ -17,20 +17,30 @@
#
+%global provider github
+%global provider_tld com
+%global project golang
+%global repo freetype
+%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
+%global import_path %{provider_prefix}
+
Name: golang-googlecode-freetype-go
-Version: 0.0.0+hg20150309.128.46c3056cafbb
+Version: 0.0.0+git20161208.d9be45a
Release: 0
Summary: A port of the Freetype font engine to the Go programming language
License: FTL or GPL-2.0+
Group: Development/Languages/Other
-Url: http://code.google.com/p/freetype-go
-Source0: freetype-go-%{version}.tar.xz
-Source1: %{name}-rpmlintrc
+Url: https://%{provider_prefix}
+Source0: %{repo}-%{version}.tar.xz
+Source1: rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildArch: noarch
+
BuildRequires: golang-packaging
BuildRequires: xz
-Provides: go-freetype-go = %{version}
-Obsoletes: go-freetype-go < %{version}
+BuildRequires: golang(golang.org/x/image/font)
+
+%{go_nostrip}
%{go_provides}
%description
@@ -38,28 +48,21 @@
programming language.
%prep
-%setup -q -n freetype-go-%{version}
+%setup -q -n %{repo}-%{version}
+
+rm -rf example
%build
-%goprep code.google.com/p/freetype-go
+%goprep %{import_path}
%gobuild ...
%install
%goinstall
-# NOTE(saschpe): Rename binaries to avoid potential file conflicts.
-# I'm not sure if "go-" is the best prefix, but should do it for now:
-for b in freetype gamma raster round truetype ; do
- mv %{buildroot}%{_bindir}/$b %{buildroot}%{_bindir}/go-$b
-done
+%gosrc
+%gofilelist
-%files
+%files -f file.lst
%defattr(-,root,root,-)
-%doc AUTHORS CONTRIBUTORS LICENSE README licenses example
-%{_bindir}/go-freetype
-%{_bindir}/go-gamma
-%{_bindir}/go-raster
-%{_bindir}/go-round
-%{_bindir}/go-truetype
-%{go_contribdir}/*
+%doc AUTHORS CONTRIBUTORS LICENSE README licenses
%changelog
++++++ _service ++++++
--- /var/tmp/diff_new_pack.MNRgBe/_old 2017-03-28 15:21:21.240943595 +0200
+++ /var/tmp/diff_new_pack.MNRgBe/_new 2017-03-28 15:21:21.244943029 +0200
@@ -1,16 +1,17 @@
<services>
<service name="tar_scm" mode="localonly">
- <param name="url">https://code.google.com/p/freetype-go/</param>
- <param name="scm">hg</param>
- <param name="exclude">.hg</param>
- <param name="versionformat">0.0.0+hg{date|shortdate}.{rev}.{node|short}</param>
- <param name="revision">tip</param>
+ <param name="url">https://github.com/golang/freetype/</param>
+ <param name="scm">git</param>
+ <param name="exclude">.git</param>
+ <param name="versionformat">0.0.0+git%cd.%h</param>
+ <param name="revision">master</param>
+ <param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="localonly">
- <param name="file">freetype-go-*.tar</param>
+ <param name="file">freetype-*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="localonly">
- <param name="basename">freetype-go</param>
+ <param name="basename">freetype</param>
</service>
</services>
++++++ rpmlintrc ++++++
# go binaries are suposedly ELF-compliant
addFilter("binaryinfo-readelf-failed")
# go doesn't yet support dynamic linking
addFilter("statically-linked-binary")
# We are aware of that but shorter names are not possible
addFilter("filename-too-long-for-joliet")
1
0
Hello community,
here is the log from the commit of package perl-Config-Any for openSUSE:Factory checked in at 2017-03-28 15:21:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Config-Any (Old)
and /work/SRC/openSUSE:Factory/.perl-Config-Any.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Config-Any"
Tue Mar 28 15:21:17 2017 rev:10 rq:477082 version:0.29
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Config-Any/perl-Config-Any.changes 2016-04-12 19:33:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Config-Any.new/perl-Config-Any.changes 2017-03-28 15:21:17.369491906 +0200
@@ -1,0 +2,21 @@
+Wed Mar 1 06:13:14 UTC 2017 - coolo(a)suse.com
+
+- updated to 0.29
+ see /usr/share/doc/packages/perl-Config-Any/Changes
+
+ 0.29 - 2017-02-27
+ - allow loading relative perl files even under taint mode (RT#120371)
+ - throw errors when attempting to load perl files that do not exist
+
+-------------------------------------------------------------------
+Wed Feb 22 06:12:05 UTC 2017 - coolo(a)suse.com
+
+- updated to 0.28
+ see /usr/share/doc/packages/perl-Config-Any/Changes
+
+ 0.28 - 2017-02-21
+ - support Cpanel::JSON::XS and JSON::MaybeXS for loading JSON
+ - decode UTF-8 config files properly
+ - load perl files directly, never possibly searching @INC
+
+-------------------------------------------------------------------
Old:
----
Config-Any-0.27.tar.gz
New:
----
Config-Any-0.29.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Config-Any.spec ++++++
--- /var/tmp/diff_new_pack.x3Ogav/_old 2017-03-28 15:21:18.117385982 +0200
+++ /var/tmp/diff_new_pack.x3Ogav/_new 2017-03-28 15:21:18.121385416 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Config-Any
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,14 @@
Name: perl-Config-Any
-Version: 0.27
+Version: 0.29
Release: 0
%define cpan_name Config-Any
Summary: Load configuration from different file formats, transparently
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Config-Any/
-Source0: http://www.cpan.org/authors/id/B/BR/BRICAS/%{cpan_name}-%{version}.tar.gz
+Source0: https://cpan.metacpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ Config-Any-0.27.tar.gz -> Config-Any-0.29.tar.gz ++++++
++++ 2552 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package libzen for openSUSE:Factory checked in at 2017-03-28 15:21:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libzen (Old)
and /work/SRC/openSUSE:Factory/.libzen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzen"
Tue Mar 28 15:21:14 2017 rev:1 rq:476972 version:0.4.31
Changes:
--------
New Changes file:
--- /dev/null 2017-03-01 00:40:19.279048016 +0100
+++ /work/SRC/openSUSE:Factory/.libzen.new/libzen.changes 2017-03-28 15:21:16.453621620 +0200
@@ -0,0 +1,197 @@
+-------------------------------------------------------------------
+Sat Mar 4 14:16:14 UTC 2017 - jengelh(a)inai.de
+
+- Rename %soname to %sover to reflects its actual use.
+- Drop export CFLAGS because %configure does that already.
+- Use --disable-static in place of building and later removing .a.
+- Limit scope of %fdupes to partition.
+- Clean up descriptions.
+
+-------------------------------------------------------------------
+Sun Feb 26 15:07:01 UTC 2017 - aloisio(a)gmx.com
+
+- Added baselibs.conf as source file
+
+-------------------------------------------------------------------
+Sun Feb 26 14:43:12 UTC 2017 - davejplater(a)gmail.com
+
+- Relicensed to Zlib following Fedora.
+
+-------------------------------------------------------------------
+Sun Feb 26 10:02:21 UTC 2017 - aloisio(a)gmx.com
+
+- Update to version 0.4.31
+ * BigEndian2float16() was buggy
+ * <new> is possible only with C++
+ version 0.4.30
+ * New MemoryUtils.h functions for SSE2 memcpy
+ * Ztring::From_Unicode(const wchar_t S)
+ * CMake: scripts improvements, thanks to Ivan Romanov
+
+- Spec cleanup
+
+-------------------------------------------------------------------
+Thu Mar 27 20:11:48 UTC 2014 - i(a)margueirte.su
+
+- update version 0.4.29
+ * Ztring: Ztring_NoZero option was not correctly implemented
+ * File: Write only is not possible with ios_base::out (file is
+ truncated) on Linux
+ * Dir: Include_Dirs only was not working
+ * File: accepts Windows "\\?\" magic value
+
+-------------------------------------------------------------------
+
+Thu Oct 4 00:17:53 UTC 2012 - i(a)marguerite.su
+
+- Update to 0.4.28
+ * Removing _T() in order to be compatible with LLVM compiler
+ * Ztring: UTF-16 conversion routines crash if the provided string size is odd.
+ * GNU: forcing stdc++ at link
+
+-------------------------------------------------------------------
+Sat May 19 15:53:06 UTC 2012 - seife+obs(a)b1-systems.com
+
+- add autoconf/automake/libtool to buildrequires to fix 12.2 build
+
+-------------------------------------------------------------------
+Tue Oct 18 16:29:55 UTC 2011 - nomail(a)nomail.com
+
+- Update to 0.4.22
+ x #3412495, Ztring: To_UTF8() was working wrong, corrected
+ thanks to Andrew Jang
+ x #3157308, Ztring::Assign_FromFile(): Memory leak
+ + TinyXml updated
+ + float16 (on disk) support
+ + Ztring: more compatibility with uCLibC
+ x BitStream_LE: wrong result if buffer underrun
+ + HTTP helpers in Unicode version
+ x BitStream Little Endian: count of remaining bits was wrong
+ x ZtringList and ZtringListList :: Read(): do not remove pending
+ delimiters
+ x File Open status: error with Windows return value
+
+
+-------------------------------------------------------------------
+Tue Mar 8 10:17:32 UTC 2011 - pascal.bleser(a)opensuse.org
+
+- add baselibs.conf
+
+- update to 0.4.17:
+ * BitStream: skip methods improvements
+
+- changes from 0.4.16:
+ * BitStream: Peek3()
+ * decimal point issues with some specific compilers/OS
+ * ZtringList: issues with EOL
+ * #3025205, file is not opened if a "?" is in it
+
+-------------------------------------------------------------------
+Sat Jul 31 00:00:00 UTC 2010 - toni(a)links2linux.de
+
+- update to 0.4.15
+
+-------------------------------------------------------------------
+Mon May 3 00:00:00 UTC 2010 - toni(a)links2linux.de
+
+- update to 0.4.14
+
+-------------------------------------------------------------------
+Fri Apr 16 00:00:00 UTC 2010 - toni(a)links2linux.de
+
+- update to 0.4.13
+
+-------------------------------------------------------------------
+Tue Mar 9 00:00:00 UTC 2010 - toni(a)links2linux.de
+
+- update to 0.4.12
+
+-------------------------------------------------------------------
+Sun Feb 21 00:00:00 UTC 2010 - toni(a)links2linux.de
+
+- update to 0.4.11
+
+-------------------------------------------------------------------
+Mon Jan 11 00:00:00 UTC 2010 - toni(a)links2linux.de
+
+- update to 0.4.10
+
+-------------------------------------------------------------------
+Fri Nov 20 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.4.9
+
+-------------------------------------------------------------------
+Fri Oct 30 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.4.8
+
+-------------------------------------------------------------------
+Tue Oct 27 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.4.7
+
+-------------------------------------------------------------------
+Tue Oct 13 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.4.6
+
+-------------------------------------------------------------------
+Fri Apr 17 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.4.2
+
+-------------------------------------------------------------------
+Sun Apr 5 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.4.1
+
+-------------------------------------------------------------------
+Sat Apr 4 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- redowngrade to 0.4.0
+
+-------------------------------------------------------------------
+Thu Apr 2 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.4.1
+
+-------------------------------------------------------------------
+Fri Mar 20 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.4.0
+
+-------------------------------------------------------------------
+Fri Feb 13 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.3.8
+
+-------------------------------------------------------------------
+Fri Jan 30 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.3.7
+
+-------------------------------------------------------------------
+Fri Jan 23 00:00:00 UTC 2009 - toni(a)links2linux.de
+
+- update to 0.3.6
+
+-------------------------------------------------------------------
+Tue Dec 9 00:00:00 UTC 2008 - toni(a)links2linux.de
+
+- update to 0.3.5
+- docs are now generated with doxygen
+
+-------------------------------------------------------------------
+Mon Nov 17 00:00:00 UTC 2008 - toni(a)links2linux.de
+
+- added api-doc to devel subpackage
+- instead of ZenLib-config now a pkgconfig file is provided
+
+-------------------------------------------------------------------
+Mon Dec 10 00:00:00 UTC 2007 - toni(a)links2linux.de
+
+- libZenLib and libMediaInfoLib are renamed to libzen and libmediainfo
+- install *-config files manually
+- added devel-subpackages
+- split off from MediaInfo package
New:
----
baselibs.conf
libzen.changes
libzen.spec
libzen_0.4.31.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libzen.spec ++++++
# spec file for package libzen
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2008-2010 oc2pus
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define sover 0
Name: libzen
Version: 0.4.31
Release: 0
Summary: C++ utility library
License: Zlib
Group: Development/Libraries/C and C++
Url: http://zenlib.sourceforge.net/
Source: https://prdownloads.sourceforge.net/zenlib/libzen_%{version}.tar.bz2
Source1: baselibs.conf
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
ZenLib is a C++ utility library. It includes classes for handling
strings, configuration, bit streams, threading, translation
and cross-platform operating system functions.
%package -n %{name}%{sover}
Summary: The ZenLib C++ utility library
Group: System/Libraries
%description -n %{name}%{sover}
ZenLib is a C++ utility library. It includes classes for handling
strings, configuration, bit streams, threading, translation
and cross-platform operating system functions.
%package -n libzen-devel
Summary: Include files to develop for %{name}
Group: Development/Libraries/C and C++
Requires: %{name}%{sover} = %{version}
%description -n libzen-devel
Include files and mandatory libraries to develop
for %{name}.
%prep
%setup -q -n ZenLib
sed -i 's/\r$//' *.txt Source/Doc/*.html
chmod 644 *.txt Source/Doc/*.html
%build
# generate docs
pushd Source/Doc
doxygen -u 2> /dev/null
doxygen Doxyfile
popd
pushd Project/GNU/Library
chmod +x autogen
NOCONFIGURE=1 ./autogen
%configure --enable-shared --disable-static
make %{?_smp_mflags}
popd
%install
pushd Project/GNU/Library
%make_install
popd
# Zenlib headers and ZenLib-config
install -dm 755 %{buildroot}%{_includedir}/ZenLib
install -m 644 Source/ZenLib/*.h \
%{buildroot}%{_includedir}/ZenLib
for i in HTTP_Client Format/Html Format/Http; do
install -dm 755 %{buildroot}%{_includedir}/ZenLib/$i
install -m 644 Source/ZenLib/$i/*.h \
%{buildroot}%{_includedir}/ZenLib/$i
done
sed -i -e 's|Version: |Version: %{version}|g' \
Project/GNU/Library/libzen.pc
install -dm 755 %{buildroot}%{_libdir}/pkgconfig
install -m 644 Project/GNU/Library/libzen.pc \
%{buildroot}%{_libdir}/pkgconfig
rm %{buildroot}%{_libdir}/libzen.la
# we don't need libzen-config
rm %{buildroot}%{_bindir}/libzen-config
%fdupes %{buildroot}/%{_prefix}
%post -n %{name}%{sover} -p /sbin/ldconfig
%postun -n %{name}%{sover} -p /sbin/ldconfig
%files -n %{name}%{sover}
%defattr(-,root,root,-)
%doc *.txt
%{_libdir}/libzen.so.%{sover}
%{_libdir}/libzen.so.%{sover}.*
%files -n libzen-devel
%defattr(-,root,root,-)
%doc Source/Doc/Documentation.html
%doc Doc/*
%{_includedir}/ZenLib/
%{_libdir}/libzen.so
%{_libdir}/pkgconfig/*.pc
%changelog
++++++ baselibs.conf ++++++
libzen0
1
0
Hello community,
here is the log from the commit of package guvcview for openSUSE:Factory checked in at 2017-03-28 15:21:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/guvcview (Old)
and /work/SRC/openSUSE:Factory/.guvcview.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "guvcview"
Tue Mar 28 15:21:09 2017 rev:1 rq:461932 version:2.0.4
Changes:
--------
New Changes file:
--- /dev/null 2017-03-01 00:40:19.279048016 +0100
+++ /work/SRC/openSUSE:Factory/.guvcview.new/guvcview.changes 2017-03-28 15:21:12.098238470 +0200
@@ -0,0 +1,183 @@
+-------------------------------------------------------------------
+Thu Mar 2 10:28:49 UTC 2017 - jengelh(a)inai.de
+
+- Rename %soname to %sover to better reflect its use
+- Ensure description neutrality
+
+-------------------------------------------------------------------
+Sun May 1 18:06:05 UTC 2016 - aloisio(a)gmx.com
+
+- Update to version 2.0.4:
+ * drop support for internal 422 packed format (use only 420 planar)
+ * add support for extra pixel formats, including be formats
+ * add command line option for requesting fps
+ * add support for control events
+ * add support for string, int64, bitmask and integer menu controls
+ * make sure we can't select unsuported pix formats from the gui
+ * fix status message for QT5 interface
+ * move mutexes to device handlers (context)
+ * v4l2core and audio api - don't access device data directly (use opaque structures)
+ * add constructor and destructor functions for v4l2core and encoder
+ Paulo Assis <pj.assis(a)gmail.com> Mon, 22 Feb 2016 10:10:00 +0100
+ 2.0.3:
+ * Add Qt5 interface (--enable-qt5)
+ * fix '-n' option (don't save frame when photo countdown reaches 0)
+ * restore exit_on_term option
+ * use AC_SYS_LARGEFILE m4 macro for enabling Large File Support (LFS) on 32 bit systems
+ * add color config for crosshair osd
+ * change rendering engine to use updateTexture instead of lock/unlock texture
+ * change rendering lib to avoid frame copy when using osd
+ Paulo Assis <pj.assis(a)gmail.com> Mon, 4 Jan 2016 23:34:00 +0100
+
+- Dropped guvcview-implicit-pointer-decl.patch
+ guvcview-no-return-in-nonvoid-function.patch
+ guvcview-voidreturn.patch
+
+- Added guvcview-2.0.4_ffmpeg-3.0.patch
+
+-------------------------------------------------------------------
+Tue Sep 22 08:47:31 UTC 2015 - olaf(a)aepfle.de
+
+- Use pkgconfig for ffmpeg BuildRequires
+
+-------------------------------------------------------------------
+Wed Aug 05 10:49:17 UTC 2015 - joerg.lorenzen(a)ki.tng.de
+
+- Update to version 2.0.2:
+ + fix mjpeg and h264 decoders (libav): init avpacket.
+ + fix wrong logic of enable switches (Marvin Schmidt ticket #12).
+ + create a frame queue and refactor frame grab/decode.
+ + fix jpeg decoder for older libavcodec api ( < 54.25).
+ + attach video capture to SIGUSR1 signal.
+ + add audio latency control to gui.
+ + change default portaudio latency to high latency.
+ + set device during initialization.
+ + use time for matroska segment uid if gsl is disabled.
+ + fix array index causing buffer overflow.
+ + restore CPPFLAGS after AC_CHECK_HEADERS.
+ + remove direct access to device data in v4l2core lib.
+ + make sure to stop encoder thread before exiting capture thread.
+ + avoid SIGFPE on bad channels or samprate data inside audio
+ capture callbacks.
+ + remove check for avcodec.h (it's needed for very old libavcodec
+ versions); set iyuv as default internal format (over yuyv).
+ + add basic support for continuous and stepwise frame sizes.
+ + add support for empty control list.
+ + add code for crossair osd.
+ + fix h264 demux from mjpg container.
+ + fix pan/tilt for logitech peripheral V3 (use raw control
+ instead of v4l2).
+
+-------------------------------------------------------------------
+Fri Oct 31 11:53:42 UTC 2014 - joerg.lorenzen(a)ki.tng.de
+
+- Update to version 2.0.1:
+ + Fix audio clean bug (segfault when audio=none).
+ + Add --disable_libv4l2 option.
+ + Add support for internal yu12 planar format.
+ + Workaround uvcvideo bug (buf.bytesused=0 on kernels >=3.16).
+- Changes since version 2.0.0:
+ + New version 2.0.0 (code rewriten from scratch).
+ + Move all core functions to 4 shared libs.
+ + Change options.
+ + Change config.
+ + Add sdl2 render.
+ + Use gsl for random number generation.
+- Changes since version 1.7.3:
+ + Add silence frames to compensate audio drift (delay).
+ + Fix possible memory leak.
+ + Add video and image capture through system signals:
+ SIGUSR1 and SIGUSR2.
+ + Add true no_display mode (no X required).
+ + Small bug fixes.
+- Changes since version 1.7.2:
+ + Add H264 decoding support.
+ + Sync translations.
+- Changes since version 1.7.1:
+ + Fix avi muxer: fix opendml indexes (>= 1Gb).
+ + Update Italian translation.
+
+-------------------------------------------------------------------
+Tue Jul 30 13:34:46 UTC 2013 - i(a)margueirte.su
+
+- build against libffmpeg-devel.
+
+-------------------------------------------------------------------
+Sat Jul 20 20:41:27 UTC 2013 - zaitor(a)opensuse.org
+
+- Update to version 1.7.0:
+ + Refactor avi muxer (base it on libav muxer with opendml
+ support).
+ + Refactor mkv muxer (base it on libav muxer with webm support).
+ + Add VP8, Theora and Vorbis codecs.
+ + Add Webm support.
+ + Add a Top Menu.
+ + Move all file operations to the Top Menu.
+
+-------------------------------------------------------------------
+Fri Sep 20 12:27:00 UTC 2012 - zaitor(a)opensuse.org
+
+- Update to version 1.6.1:
+ + Fix build with latest libavcodec.
+ + Fix audio codecs listing.
+ + Fix audio codecs (AC3 and AAC) input format for latest
+ libavcodec API (float).
+ + Add support for delayed frames in video encoding.
+- Changes since version 1.6.0:
+ + Run audio in separate thread.
+ + Update audio buffer.
+ + Move pulse audio interface from simple to async API.
+ + Add pulse device list.
+ + Enable build of pulse API by default.
+- Added new build dependency, intltool.
+
+-------------------------------------------------------------------
+Sun May 20 14:28:10 UTC 2012 - zaitor(a)opensuse.org
+
+- Update to version 1.5.3:
+ + Update libavcodec API.
+ + Add libavutil dependency.
+ + Fix pulse interface.
+ + Update language catalogs.
+- Drop guvcview-pulseaudio-fix.patch, fixed upstream.
+- Change BuildRequires: pulseaudio-devel to libpulse-devel.
+
+-------------------------------------------------------------------
+Sun Feb 26 15:52:45 UTC 2012 - zaitor(a)opensuse.org
+
+- Update to version 1.5.2:
+ + Move to pthreads (fix gthread API 2 issues).
+ + Add italian translation.
+ + Fix several libavcodec issues.
+ + Fix some gtk3 widgets.
+- Drop guvcview-fix-glib-include.patch, fixed upstream.
+- Add guvcview-pulseaudio-fix.patch: Fix pulseaudio interface.
+
+-------------------------------------------------------------------
+Mon Jan 23 00:48:09 UTC 2012 - malcolmlewis(a)opensuse.org
+
+- Updated to version 1.5.1:
+ + Moved to gtk3.
+ + Make control window size dependent on screen resolution.
+ + Threaded coding patch - George Sedov <radist.morse(a)gmail.com>.
+ + Fix h264 codec properties.
+- Updates from version 1.5.0:
+ + Add a no display mode (--no_display).
+ + Fix build issues with newer versions (>=0.7.x) of ffmpeg
+ libavcodec.
+ + Add support for unix signals.
+ + Add VU meter OSD.
+ + Fix menu controls (linux 3.0).
+- Add guvcview-fix-glib-include.patch: To fix only <glib.h> can be
+ included directly error for builds > 1210.
+
+-------------------------------------------------------------------
+Mon Oct 3 19:28:19 UTC 2011 - malcolmlewis(a)opensuse.org
+
+- Fix guvcview.desktop file in spec file.
+
+-------------------------------------------------------------------
+Fri Jul 1 02:06:44 UTC 2011 - malcolmlewis(a)opensuse.org
+
+- Initial build based on fc15 spec file.
+
New:
----
guvcview-2.0.4_ffmpeg-3.0.patch
guvcview-src-2.0.4.tar.gz
guvcview.changes
guvcview.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ guvcview.spec ++++++
#
# spec file for package guvcview
#
# Copyright (c) 2012 Malcolm J Lewis <malcolmlewis(a)opensuse.org>
# Copyright (c) 2013 Marguerite Su <marguerite(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.links2linux.org/
#
%define sover 2_0-2
Name: guvcview
Version: 2.0.4
Release: 0
License: GPL-3.0
# Reference to GPL-2.0 in some files?
Summary: GTK+ UVC Viewer and Capturer
Url: http://guvcview.sourceforge.net/
Group: Productivity/Multimedia/Video/Players
Source0: http://sourceforge.net/projects/guvcview/files/source/guvcview-src-%{versio…
Patch3: guvcview-2.0.4_ffmpeg-3.0.patch
BuildRequires: alsa-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gettext
BuildRequires: gsl-devel
BuildRequires: gtk3-devel
BuildRequires: intltool
BuildRequires: libpng-devel
BuildRequires: libpulse-devel
BuildRequires: libudev-devel
BuildRequires: libusb-1_0-devel
BuildRequires: libv4l-devel
BuildRequires: pkg-config
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(sdl2)
BuildRequires: portaudio-devel
BuildRequires: update-desktop-files
Recommends: %{name}-lang
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
A GTK interface for capturing and viewing video from devices
supported by the Linux UVC driver, although it should also work with
any v4l2 compatible device.
%package -n libgviewaudio-%{sover}
Summary: GTK+ UVC Viewer and Capturer
Group: System/Libraries
%description -n libgviewaudio-%{sover}
A GTK interface for capturing and viewing video from devices
supported by the Linux UVC driver, although it should also work with
any v4l2 compatible device.
%package -n libgviewencoder-%{sover}
Summary: GTK+ UVC Viewer and Capturer
Group: System/Libraries
%description -n libgviewencoder-%{sover}
A GTK interface for capturing and viewing video from devices
supported by the Linux UVC driver, although it should also work with
any v4l2 compatible device.
%package -n libgviewrender-%{sover}
Summary: GTK+ UVC Viewer and Capturer
Group: System/Libraries
%description -n libgviewrender-%{sover}
A GTK interface for capturing and viewing video from devices
supported by the Linux UVC driver, although it should also work with
any v4l2 compatible device.
%package -n libgviewv4l2core-%{sover}
Summary: GTK+ UVC Viewer and Capturer
Group: System/Libraries
%description -n libgviewv4l2core-%{sover}
A GTK interface for capturing and viewing video from devices
supported by the Linux UVC driver, although it should also work with
any v4l2 compatible device.
%package devel
Summary: GTK+ UVC Viewer and Capturer
Group: Development/Libraries/C and C++
Requires: libgviewaudio-%{sover} = %{version}-%{release}
Requires: libgviewencoder-%{sover} = %{version}-%{release}
Requires: libgviewrender-%{sover} = %{version}-%{release}
Requires: libgviewv4l2core-%{sover} = %{version}-%{release}
Requires: portaudio-devel
Requires: alsa-devel
Requires: glibc-devel
Requires: libpulse-devel
Requires: pkgconfig(libavcodec)
Requires: pkgconfig(libavutil)
Requires: gsl-devel
Requires: libSDL2-devel
Requires: libv4l-devel
Requires: libudev-devel
Requires: libusb-1_0-devel
Requires: libpng-devel
%description devel
A GTK interface for capturing and viewing video from devices
supported by the Linux UVC driver, although it should also work with
any v4l2 compatible device.
%lang_package
%prep
%setup -q -n %{name}-src-%{version}
%patch3 -p1
chmod -x ChangeLog
%build
%configure --disable-debian-menu \
--disable-desktop
make %{?_smp_mflags}
%install
%make_install
# Remove installed documentation
pushd %{buildroot}%{_datadir}/doc
rm -rf %{name}
popd
# Create desktop file as disabled during build
%suse_update_desktop_file -c %{name} "A video viewer and capturer for the linux uvc driver" %{name} %{name} %{name} AudioVideo AudioVideoEditing
pushd %{buildroot}%{_datadir}/pixmaps
cp %{name}/%{name}.png .
popd
%find_lang %{name} %{?no_lang_C}
%find_lang gview_v4l2core %{name}.lang %{?no_lang_C}
%fdupes %{buildroot}
rm -f %{buildroot}%{_libdir}/*.{la,a}
%if 0%{?suse_version} > 1130
%post
%desktop_database_post
%endif
%if 0%{?suse_version} > 1130
%postun
%desktop_database_postun
%endif
%post -n libgviewaudio-%{sover} -p /sbin/ldconfig
%postun -n libgviewaudio-%{sover} -p /sbin/ldconfig
%post -n libgviewencoder-%{sover} -p /sbin/ldconfig
%postun -n libgviewencoder-%{sover} -p /sbin/ldconfig
%post -n libgviewrender-%{sover} -p /sbin/ldconfig
%postun -n libgviewrender-%{sover} -p /sbin/ldconfig
%post -n libgviewv4l2core-%{sover} -p /sbin/ldconfig
%postun -n libgviewv4l2core-%{sover} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING README.md
%{_bindir}/%{name}
%dir %{_datadir}/pixmaps/%{name}
%{_datadir}/pixmaps/%{name}.png
%{_datadir}/pixmaps/%{name}/*.png
%{_datadir}/applications/%{name}.desktop
%{_mandir}/man1/*.gz
%files -n libgviewaudio-%{sover}
%defattr(-,root,root)
%{_libdir}/libgviewaudio-*.so.*
%files -n libgviewencoder-%{sover}
%defattr(-,root,root)
%{_libdir}/libgviewencoder-*.so.*
%files -n libgviewrender-%{sover}
%defattr(-,root,root)
%{_libdir}/libgviewrender-*.so.*
%files -n libgviewv4l2core-%{sover}
%defattr(-,root,root)
%{_libdir}/libgviewv4l2core-*.so.*
%files devel
%defattr(-,root,root)
%dir %{_includedir}/guvcview-2
%dir %{_includedir}/guvcview-2/libgviewaudio
%dir %{_includedir}/guvcview-2/libgviewencoder
%dir %{_includedir}/guvcview-2/libgviewrender
%dir %{_includedir}/guvcview-2/libgviewv4l2core
%{_includedir}/guvcview-2/libgviewaudio/gviewaudio.h
%{_includedir}/guvcview-2/libgviewencoder/gviewencoder.h
%{_includedir}/guvcview-2/libgviewrender/gviewrender.h
%{_includedir}/guvcview-2/libgviewv4l2core/gview.h
%{_includedir}/guvcview-2/libgviewv4l2core/gviewv4l2core.h
%{_libdir}/libgviewaudio.so
%{_libdir}/libgviewencoder.so
%{_libdir}/libgviewrender.so
%{_libdir}/libgviewv4l2core.so
%{_libdir}/pkgconfig/libgviewaudio.pc
%{_libdir}/pkgconfig/libgviewencoder.pc
%{_libdir}/pkgconfig/libgviewrender.pc
%{_libdir}/pkgconfig/libgviewv4l2core.pc
%files lang -f %{name}.lang
%changelog
++++++ guvcview-2.0.4_ffmpeg-3.0.patch ++++++
Index: guvcview-src-2.0.4/gview_v4l2core/jpeg_decoder.c
===================================================================
--- guvcview-src-2.0.4.orig/gview_v4l2core/jpeg_decoder.c
+++ guvcview-src-2.0.4/gview_v4l2core/jpeg_decoder.c
@@ -1436,7 +1436,7 @@ int jpeg_init_decoder(int width, int hei
exit(-1);
}
- codec_data->context->pix_fmt = PIX_FMT_YUV422P;
+ codec_data->context->pix_fmt = AV_PIX_FMT_YUV422P;
codec_data->context->width = width;
codec_data->context->height = height;
//jpeg_ctx->context->dsp_mask = (FF_MM_MMX | FF_MM_MMXEXT | FF_MM_SSE);
Index: guvcview-src-2.0.4/gview_v4l2core/uvc_h264.c
===================================================================
--- guvcview-src-2.0.4.orig/gview_v4l2core/uvc_h264.c
+++ guvcview-src-2.0.4/gview_v4l2core/uvc_h264.c
@@ -1036,7 +1036,7 @@ int h264_init_decoder(int width, int hei
}
h264_ctx->context->flags2 |= CODEC_FLAG2_FAST;
- h264_ctx->context->pix_fmt = PIX_FMT_YUV420P;
+ h264_ctx->context->pix_fmt = AV_PIX_FMT_YUV420P;
h264_ctx->context->width = width;
h264_ctx->context->height = height;
//h264_ctx->context->dsp_mask = (FF_MM_MMX | FF_MM_MMXEXT | FF_MM_SSE);
1
0