Hello community,

here is the log from the commit of package shake for openSUSE:Factory checked 
in at 2017-02-11 01:42:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shake (Old)
 and      /work/SRC/openSUSE:Factory/.shake.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "shake"

Changes:
--------
--- /work/SRC/openSUSE:Factory/shake/shake.changes      2017-01-12 
15:53:29.683340915 +0100
+++ /work/SRC/openSUSE:Factory/.shake.new/shake.changes 2017-02-11 
01:42:50.886914257 +0100
@@ -1,0 +2,5 @@
+Thu Jan 26 16:20:18 UTC 2017 - [email protected]
+
+- Update to version 0.15.11 with cabal2obs.
+
+-------------------------------------------------------------------

Old:
----
  shake-0.15.10.tar.gz
  shake.cabal

New:
----
  shake-0.15.11.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ shake.spec ++++++
--- /var/tmp/diff_new_pack.qqtfYj/_old  2017-02-11 01:42:51.818782768 +0100
+++ /var/tmp/diff_new_pack.qqtfYj/_new  2017-02-11 01:42:51.822782204 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package shake
 #
-# 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
@@ -19,14 +19,13 @@
 %global pkg_name shake
 %bcond_with tests
 Name:           %{pkg_name}
-Version:        0.15.10
+Version:        0.15.11
 Release:        0
 Summary:        Build system library, like Make, but more accurate dependencies
 License:        BSD-3-Clause
 Group:          Development/Languages/Other
 Url:            https://hackage.haskell.org/package/%{name}
 Source0:        
https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz
-Source1:        
https://hackage.haskell.org/package/%{name}-%{version}/revision/1.cabal#/%{name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-binary-devel
 BuildRequires:  ghc-bytestring-devel
@@ -90,7 +89,6 @@
 
 %prep
 %setup -q
-cp -p %{SOURCE1} %{name}.cabal
 
 %build
 %ghc_lib_build
@@ -111,6 +109,7 @@
 %files
 %defattr(-,root,root,-)
 %doc LICENSE
+%doc CHANGES.txt README.md docs
 %{_bindir}/%{name}
 %dir %{_datadir}/%{name}-%{version}
 %dir %{_datadir}/%{name}-%{version}/html
@@ -125,5 +124,6 @@
 
 %files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
 %defattr(-,root,root,-)
+%doc CHANGES.txt README.md docs
 
 %changelog

++++++ shake-0.15.10.tar.gz -> shake-0.15.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.15.10/CHANGES.txt 
new/shake-0.15.11/CHANGES.txt
--- old/shake-0.15.10/CHANGES.txt       2016-06-14 21:09:43.000000000 +0200
+++ new/shake-0.15.11/CHANGES.txt       2017-01-18 23:12:25.000000000 +0100
@@ -1,5 +1,8 @@
 Changelog for Shake
 
+0.15.11
+    #488, make sure parallel tracks dependencies
+    #513, permit process-1.4.3.0 and above
 0.15.10
     #465, fix phony names which clash with directories
 0.15.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.15.10/LICENSE new/shake-0.15.11/LICENSE
--- old/shake-0.15.10/LICENSE   2016-06-14 21:09:43.000000000 +0200
+++ new/shake-0.15.11/LICENSE   2017-01-18 23:12:25.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright Neil Mitchell 2011-2016.
+Copyright Neil Mitchell 2011-2017.
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.15.10/shake.cabal 
new/shake-0.15.11/shake.cabal
--- old/shake-0.15.10/shake.cabal       2016-06-14 21:09:43.000000000 +0200
+++ new/shake-0.15.11/shake.cabal       2017-01-18 23:12:25.000000000 +0100
@@ -1,13 +1,13 @@
-cabal-version:      >= 1.10
+cabal-version:      >= 1.18
 build-type:         Simple
 name:               shake
-version:            0.15.10
+version:            0.15.11
 license:            BSD3
 license-file:       LICENSE
 category:           Development, Shake
 author:             Neil Mitchell <[email protected]>
 maintainer:         Neil Mitchell <[email protected]>
-copyright:          Neil Mitchell 2011-2016
+copyright:          Neil Mitchell 2011-2017
 synopsis:           Build system library, like Make, but more accurate 
dependencies.
 description:
     Shake is a Haskell library for writing build systems - designed as a
@@ -75,6 +75,7 @@
 
 flag portable
     default: False
+    manual: True
     description: Obtain FileTime using portable functions
 
 library
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.15.10/src/Development/Shake/Core.hs 
new/shake-0.15.11/src/Development/Shake/Core.hs
--- old/shake-0.15.10/src/Development/Shake/Core.hs     2016-06-14 
21:09:43.000000000 +0200
+++ new/shake-0.15.11/src/Development/Shake/Core.hs     2017-01-18 
23:12:24.000000000 +0100
@@ -925,15 +925,20 @@
     -- number of items still to complete, or Nothing for has completed (by 
either failure or completion)
     todo :: Var (Maybe Int) <- liftIO $ newVar $ Just $ length acts
     -- a list of refs where the results go
-    results :: [IORef (Maybe (Either SomeException a))] <- liftIO $ replicateM 
(length acts) $ newIORef Nothing
+    results :: [IORef (Maybe (Either SomeException (Local, a)))] <- liftIO $ 
replicateM (length acts) $ newIORef Nothing
 
-    captureRAW $ \continue -> do
+    (locals, results) <- captureRAW $ \continue -> do
         let resume = do
                 res <- liftIO $ sequence . catMaybes <$> mapM readIORef results
-                continue res
+                continue $ fmap unzip res
 
         liftIO $ forM_ (zip acts results) $ \(act, result) -> do
-            let act2 = ifM (liftIO $ isJust <$> readVar todo) act (fail "")
+            let act2 = do
+                    b <- liftIO $ isJust <$> readVar todo
+                    when (not b) $ fail "parallel, one has already failed"
+                    res <- act
+                    old <- Action getRW
+                    return (old, res)
             addPool globalPool $ runAction global local act2 $ \res -> do
                 writeIORef result $ Just res
                 modifyVar_ todo $ \v -> case v of
@@ -941,6 +946,20 @@
                     Just i | i == 1 || isLeft res -> do resume; return Nothing
                     Just i -> return $ Just $ i - 1
 
+    -- don't construct with RecordWildCards so any new fields raise an error
+    modifyRW $ \root -> Local
+        -- immutable/stack that need copying
+        {localStack = localStack root
+        ,localVerbosity = localVerbosity root
+        ,localBlockApply = localBlockApply root
+        -- mutable locals that need integrating
+        ,localDepends = localDepends root ++ concatMap localDepends locals
+        ,localDiscount = localDiscount root + maximum (0:map localDiscount 
locals)
+        ,localTraces = localTraces root ++ concatMap localTraces locals
+        ,localTrackAllows = localTrackAllows root ++ concatMap 
localTrackAllows locals
+        ,localTrackUsed = localTrackUsed root ++ concatMap localTrackUsed 
locals
+        }
+    return results
 
 -- | Run an action but do not depend on anything the action uses.
 --   A more general version of 'orderOnly'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.15.10/src/General/Process.hs 
new/shake-0.15.11/src/General/Process.hs
--- old/shake-0.15.10/src/General/Process.hs    2016-06-14 21:09:43.000000000 
+0200
+++ new/shake-0.15.11/src/General/Process.hs    2017-01-18 23:12:24.000000000 
+0100
@@ -130,8 +130,9 @@
     -- seems to happen with some GHC 7.2 compiled binaries with FFI etc
     terminateProcess pid
 
-withCreateProcess :: CreateProcess -> ((Maybe Handle, Maybe Handle, Maybe 
Handle, ProcessHandle) -> IO a) -> IO a
-withCreateProcess cp act = mask $ \restore -> do
+-- FIXME: There is a new withCreateProcess in process-1.4.3.0 which is 
probably better than ours...
+withCreateProcessOld :: CreateProcess -> ((Maybe Handle, Maybe Handle, Maybe 
Handle, ProcessHandle) -> IO a) -> IO a
+withCreateProcessOld cp act = mask $ \restore -> do
     ans@(inh, outh, errh, pid) <- createProcess cp
     onException (restore $ act ans) $ do
         mapM_ (`whenJust` hClose) [inh, outh, errh]
@@ -157,7 +158,7 @@
         let cp = (cmdSpec poCommand){cwd = poCwd, env = poEnv, create_group = 
isJust poTimeout, close_fds = True
                  ,std_in = fst $ stdIn inHandle poStdin
                  ,std_out = stdStream outHandle poStdout poStderr, std_err = 
stdStream outHandle poStderr poStdout}
-        withCreateProcess cp $ \(inh, outh, errh, pid) ->
+        withCreateProcessOld cp $ \(inh, outh, errh, pid) ->
             withTimeout poTimeout (abort pid) $ do
 
                 let streams = [(outh, stdout, poStdout) | Just outh <- [outh], 
CreatePipe <- [std_out cp]] ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.15.10/src/General/Timing.hs 
new/shake-0.15.11/src/General/Timing.hs
--- old/shake-0.15.10/src/General/Timing.hs     2016-06-14 21:09:43.000000000 
+0200
+++ new/shake-0.15.11/src/General/Timing.hs     2017-01-18 23:12:24.000000000 
+0100
@@ -2,38 +2,41 @@
 module General.Timing(resetTimings, addTiming, printTimings) where
 
 import Data.IORef
-import Data.Time
 import System.IO.Unsafe
 import Numeric.Extra
 import System.Time.Extra
 
+{-# NOINLINE timer #-}
+timer :: IO Seconds
+timer = unsafePerformIO offsetTime
+
 
 {-# NOINLINE timings #-}
-timings :: IORef [(UTCTime, String)] -- number of times called, newest first
+timings :: IORef [(Seconds, String)] -- number of times called, newest first
 timings = unsafePerformIO $ newIORef []
 
 
 resetTimings :: IO ()
 resetTimings = do
-    now <- getCurrentTime
+    now <- timer
     writeIORef timings [(now, "Start")]
 
 
 -- | Print all withTiming information and clear the information.
 printTimings :: IO ()
 printTimings = do
-    now <- getCurrentTime
+    now <- timer
     old <- atomicModifyIORef timings $ \ts -> ([(now, "Start")], ts)
     putStr $ unlines $ showTimings now $ reverse old
 
 
 addTiming :: String -> IO ()
 addTiming msg = do
-    now <- getCurrentTime
+    now <- timer
     atomicModifyIORef timings $ \ts -> ((now,msg):ts, ())
 
 
-showTimings :: UTCTime -> [(UTCTime, String)] -> [String]
+showTimings :: Seconds -> [(Seconds, String)] -> [String]
 showTimings _ [] = []
 showTimings stop times = showGap $
     [(a ++ "  ", showDP 3 b ++ "s  " ++ showPerc b ++ "  " ++ progress b) | 
(a,b) <- xs] ++
@@ -44,7 +47,7 @@
         progress x = let i = floor $ x * 25 // mx in replicate i '=' ++ 
replicate (25-i) ' '
         mx = maximum $ map snd xs
         sm = sum $ map snd xs
-        xs = [ (name, stop `subtractTime` start)
+        xs = [ (name, stop - start)
              | ((start, name), stop) <- zip times $ map fst (drop 1 times) ++ 
[stop]]
 
 


Reply via email to