Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package shake for openSUSE:Factory checked 
in at 2022-10-13 15:44:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shake (Old)
 and      /work/SRC/openSUSE:Factory/.shake.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "shake"

Thu Oct 13 15:44:28 2022 rev:8 rq:1009727 version:0.19.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/shake/shake.changes      2021-09-10 
23:41:43.426585720 +0200
+++ /work/SRC/openSUSE:Factory/.shake.new.2275/shake.changes    2022-10-13 
15:45:04.703081482 +0200
@@ -1,0 +2,8 @@
+Thu Sep 15 20:29:38 UTC 2022 - Peter Simons <[email protected]>
+
+- Update shake to version 0.19.7.
+  0.9.7, released 2022-09-15
+      #815, improve corrupt database handling code
+      Don't say (changed) for files that don't build
+
+-------------------------------------------------------------------

Old:
----
  shake-0.19.6.tar.gz

New:
----
  shake-0.19.7.tar.gz

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

Other differences:
------------------
++++++ shake.spec ++++++
--- /var/tmp/diff_new_pack.YDC34c/_old  2022-10-13 15:45:05.231082514 +0200
+++ /var/tmp/diff_new_pack.YDC34c/_new  2022-10-13 15:45:05.235082521 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package shake
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %global pkg_name shake
 %bcond_with tests
 Name:           %{pkg_name}
-Version:        0.19.6
+Version:        0.19.7
 Release:        0
 Summary:        Build system library, like Make, but more accurate dependencies
 License:        BSD-3-Clause

++++++ shake-0.19.6.tar.gz -> shake-0.19.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/CHANGES.txt new/shake-0.19.7/CHANGES.txt
--- old/shake-0.19.6/CHANGES.txt        2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/CHANGES.txt        2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,8 @@
 Changelog for Shake (* = breaking change)
 
+0.9.7, released 2022-09-15
+    #815, improve corrupt database handling code
+    Don't say (changed) for files that don't build
 0.19.6, released 2021-09-07
     #810, don't hash files in &%> if you don't have to
 0.19.5, released 2021-07-04
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/LICENSE new/shake-0.19.7/LICENSE
--- old/shake-0.19.6/LICENSE    2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/LICENSE    2001-09-09 03:46:40.000000000 +0200
@@ -1,4 +1,4 @@
-Copyright Neil Mitchell 2011-2021.
+Copyright Neil Mitchell 2011-2022.
 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.19.6/shake.cabal new/shake-0.19.7/shake.cabal
--- old/shake-0.19.6/shake.cabal        2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/shake.cabal        2001-09-09 03:46:40.000000000 +0200
@@ -1,13 +1,13 @@
 cabal-version:      1.18
 build-type:         Simple
 name:               shake
-version:            0.19.6
+version:            0.19.7
 license:            BSD3
 license-file:       LICENSE
 category:           Development, Shake
 author:             Neil Mitchell <[email protected]>
 maintainer:         Neil Mitchell <[email protected]>
-copyright:          Neil Mitchell 2011-2021
+copyright:          Neil Mitchell 2011-2022
 synopsis:           Build system library, like Make, but more accurate 
dependencies.
 description:
     Shake is a Haskell library for writing build systems - designed as a
@@ -30,7 +30,7 @@
     (e.g. compiler version).
 homepage:           https://shakebuild.com
 bug-reports:        https://github.com/ndmitchell/shake/issues
-tested-with:        GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6, GHC==8.4, 
GHC==8.2, GHC==8.0
+tested-with:        GHC==9.0, GHC==8.10, GHC==8.8, GHC==8.6
 extra-doc-files:
     CHANGES.txt
     README.md
@@ -124,9 +124,6 @@
         cpp-options: -DNETWORK
         build-depends: network, network-uri
 
-    if impl(ghc < 8.0)
-        build-depends: semigroups >= 0.18
-
     exposed-modules:
         Development.Shake
         Development.Shake.Classes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Development/Ninja/Type.hs 
new/shake-0.19.7/src/Development/Ninja/Type.hs
--- old/shake-0.19.6/src/Development/Ninja/Type.hs      2001-09-09 
03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Development/Ninja/Type.hs      2001-09-09 
03:46:40.000000000 +0200
@@ -1,6 +1,6 @@
 {-# LANGUAGE TupleSections #-}
 
--- | The IO in this module is only to evaluate an envrionment variable,
+-- | The IO in this module is only to evaluate an environment variable,
 --   the 'Env' itself it passed around purely.
 module Development.Ninja.Type(
     Str, FileStr,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Development/Shake/Database.hs 
new/shake-0.19.7/src/Development/Shake/Database.hs
--- old/shake-0.19.6/src/Development/Shake/Database.hs  2001-09-09 
03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Development/Shake/Database.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -124,7 +124,7 @@
 --
 -- * The 'SomeException' values are highly likely to be of type 
'ShakeException'.
 --
--- * If you want as many errors as possile in one run set 
@'shakeStaunch'=True@.
+-- * If you want as many errors as possible in one run set 
@'shakeStaunch'=True@.
 shakeErrorsDatabase :: ShakeDatabase -> IO [(String, SomeException)]
 shakeErrorsDatabase (ShakeDatabase use s) =
     withOpen use "shakeErrorsDatabase" id $ \_ ->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Development/Shake/Internal/Args.hs 
new/shake-0.19.7/src/Development/Shake/Internal/Args.hs
--- old/shake-0.19.6/src/Development/Shake/Internal/Args.hs     2001-09-09 
03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Development/Shake/Internal/Args.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -91,8 +91,8 @@
 -- 'shakeArgsWith' opts flags (\\flagValues argValues -> result)
 -- @
 --
--- * @opts@ is the initial 'ShakeOptions' value, which may have some fields 
overriden by command line flags.
---   This argument is usually 'shakeOptions', perhaps with a few fields 
overriden.
+-- * @opts@ is the initial 'ShakeOptions' value, which may have some fields 
overridden by command line flags.
+--   This argument is usually 'shakeOptions', perhaps with a few fields 
overridden.
 --
 -- * @flags@ is a list of flag descriptions, which either produce a 'String' 
containing an error
 --   message (typically for flags with invalid arguments, .e.g. @'Left' 
\"could not parse as int\"@), or a value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/shake-0.19.6/src/Development/Shake/Internal/Core/Build.hs 
new/shake-0.19.7/src/Development/Shake/Internal/Core/Build.hs
--- old/shake-0.19.6/src/Development/Shake/Internal/Core/Build.hs       
2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Development/Shake/Internal/Core/Build.hs       
2001-09-09 03:46:40.000000000 +0200
@@ -48,7 +48,10 @@
         old <- getKeyValueFromId db i
         let changeStatus = maybe "Missing" (statusType . snd) old ++ " -> " ++ 
statusType v ++ ", " ++ maybe "<unknown>" (show . fst) old
         let changeValue = case v of
-                Ready r -> Just $ "    = " ++ showBracket (result r) ++ " " ++ 
(if built r == changed r then "(changed)" else "(unchanged)")
+                Ready r -> Just $ "    = " ++ showBracket (result r) ++ " " ++
+                    if changed r == globalStep then "(changed)"
+                    else if built r == globalStep then "(unchanged)"
+                    else "(didn't run)"
                 _ -> Nothing
         pure $ changeStatus ++ maybe "" ("\n" ++) changeValue
     setMem db i k v
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/shake-0.19.6/src/Development/Shake/Internal/Core/Database.hs 
new/shake-0.19.7/src/Development/Shake/Internal/Core/Database.hs
--- old/shake-0.19.6/src/Development/Shake/Internal/Core/Database.hs    
2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Development/Shake/Internal/Core/Database.hs    
2001-09-09 03:46:40.000000000 +0200
@@ -30,7 +30,7 @@
 
 
 -- | Invariant: The database does not have any cycles where a Key depends on 
itself.
---   Everything is mutable. intern and status must form a bijecttion.
+--   Everything is mutable. intern and status must form a bijection.
 --   There may be dangling Id's as a result of version changes.
 --   Lock is used to prevent any torn updates
 data DatabasePoly k v = Database
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/shake-0.19.6/src/Development/Shake/Internal/FilePattern.hs 
new/shake-0.19.7/src/Development/Shake/Internal/FilePattern.hs
--- old/shake-0.19.6/src/Development/Shake/Internal/FilePattern.hs      
2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Development/Shake/Internal/FilePattern.hs      
2001-09-09 03:46:40.000000000 +0200
@@ -104,7 +104,9 @@
 
 internalTest :: IO ()
 internalTest = do
-    let x # y = when (parse x /= y) $ fail $ show 
("FilePattern.internalTest",x,parse x,y)
+    let x # y =
+            let p = parse x
+            in when (p /= y) $ fail $ show ("FilePattern.internalTest",x,p,y)
     "" # [Lit ""]
     "x" # [Lit "x"]
     "/" # [Lit "",Lit ""]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/shake-0.19.6/src/Development/Shake/Internal/Rules/Files.hs 
new/shake-0.19.7/src/Development/Shake/Internal/Rules/Files.hs
--- old/shake-0.19.6/src/Development/Shake/Internal/Rules/Files.hs      
2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Development/Shake/Internal/Rules/Files.hs      
2001-09-09 03:46:40.000000000 +0200
@@ -192,7 +192,7 @@
 -- > forAll $ \x ys -> test x == Just ys ==> x `elem` ys && all ((== Just ys) 
. test) ys
 --
 --   Intuitively, the function defines a set partitioning, mapping each 
element to the partition that contains it.
---   As an example of a function satisfying the invariaint:
+--   As an example of a function satisfying the invariant:
 --
 -- @
 -- test x | 'Development.Shake.FilePath.takeExtension' x \`elem\` 
[\".hi\",\".o\"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/General/Chunks.hs 
new/shake-0.19.7/src/General/Chunks.hs
--- old/shake-0.19.6/src/General/Chunks.hs      2001-09-09 03:46:40.000000000 
+0200
+++ new/shake-0.19.7/src/General/Chunks.hs      2001-09-09 03:46:40.000000000 
+0200
@@ -135,7 +135,7 @@
 resetChunksCorrupt :: Maybe FilePath -> Chunks -> IO ()
 resetChunksCorrupt copy Chunks{..} = mask $ \restore -> do
     h <- takeMVar chunksHandle
-    case copy of
+    h <- case copy of
         Nothing -> pure h
         Just copy -> do
             flip onException (putMVar chunksHandle h) $ restore $ do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/General/Extra.hs 
new/shake-0.19.7/src/General/Extra.hs
--- old/shake-0.19.6/src/General/Extra.hs       2001-09-09 03:46:40.000000000 
+0200
+++ new/shake-0.19.7/src/General/Extra.hs       2001-09-09 03:46:40.000000000 
+0200
@@ -286,7 +286,7 @@
 ---------------------------------------------------------------------
 -- Data.Version
 
--- | A version number that indicates change, not ordering or compatibilty.
+-- | A version number that indicates change, not ordering or compatibility.
 --   Always presented as an 'Int' to the user, but a newtype inside the 
library for safety.
 newtype Ver = Ver Int
     deriving (Show,Eq,Storable)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/General/Template.hs 
new/shake-0.19.7/src/General/Template.hs
--- old/shake-0.19.6/src/General/Template.hs    2001-09-09 03:46:40.000000000 
+0200
+++ new/shake-0.19.7/src/General/Template.hs    2001-09-09 03:46:40.000000000 
+0200
@@ -1,6 +1,11 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE ViewPatterns #-}
 
+-- Keep using iso8601DateFormat, since the alternative was introduced in 
time-1.9
+-- while GHC 8.6 still has time-1.8.
+-- Safe once we no longer support GHC 8.6.
+{-# OPTIONS_GHC -Wno-deprecations #-}
+
 #ifdef FILE_EMBED
 {-# LANGUAGE TemplateHaskell #-}
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Test/BuiltinOverride.hs 
new/shake-0.19.7/src/Test/BuiltinOverride.hs
--- old/shake-0.19.6/src/Test/BuiltinOverride.hs        2001-09-09 
03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Test/BuiltinOverride.hs        2001-09-09 
03:46:40.000000000 +0200
@@ -33,6 +33,6 @@
   build ["--allow-redefine-rules"]
 
   res <- takeMVar store
-  assertBool (res == 2) "Rule was not overriden"
+  assertBool (res == 2) "Rule was not overridden"
 
-  assertException ["rule defined twice"] $ build ["--quiet"]
\ No newline at end of file
+  assertException ["rule defined twice"] $ build ["--quiet"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Test/Docs.hs 
new/shake-0.19.7/src/Test/Docs.hs
--- old/shake-0.19.6/src/Test/Docs.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Test/Docs.hs   2001-09-09 03:46:40.000000000 +0200
@@ -7,23 +7,17 @@
 import qualified System.FilePattern.Directory as IO
 import System.Directory
 import Test.Type
-import Control.Monad
 import Data.Char
 import Data.List.Extra
-import System.Info
-import Data.Version.Extra
 
 
--- Older versions of Haddock (GHC 7.10 and below) garbage the --@ markup and 
have ambiguity errors
--- GHC 8.0 has a segfault when linking Setup
-brokenHaddock = compilerVersion < makeVersion [8,2]
-
-main = testBuild (notCI . unless brokenHaddock . defaultTest) $ do
+-- Can't get the paths to work on CI with tracking etc
+main = testBuild (notCI . defaultTest) $ do
     let index = "dist/doc/html/shake/index.html"
     let setup = "dist/setup.exe"
     let config = "dist/setup-config"
     want ["Success.txt"]
-    let trackIgnore = trackAllow ["dist/**"]
+    let trackIgnore = trackAllow ["dist/**", "dist-newstyle/**"]
 
     let needSource = need =<< getDirectoryFiles "." (map (shakeRoot </>)
             
["src/Development/Shake.hs","src/Development/Shake//*.hs","src/Development/Ninja/*.hs","src/General//*.hs"])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Test/Errors.hs 
new/shake-0.19.7/src/Test/Errors.hs
--- old/shake-0.19.6/src/Test/Errors.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Test/Errors.hs 2001-09-09 03:46:40.000000000 +0200
@@ -12,8 +12,6 @@
 import General.GetOpt
 import General.Extra
 import Data.IORef
-import System.Info
-import Data.Version.Extra
 import Control.Exception.Extra
 import System.Directory as IO
 import System.Time.Extra
@@ -179,8 +177,6 @@
         liftIO $ putStrLn $ let x = x in x
 
 test build = do
-    let hasLocations = compilerVersion >= readVersion "8.0" -- when GHC got 
support for locations
-
     -- on Windows, file paths may end up with \ separators, make sure we can 
still match them
     let crash args parts = assertExceptionAfter (replace "\\" "/") parts 
(build $ "--quiet" : args)
     build ["clean"]
@@ -195,7 +191,7 @@
     crash ["failcreates"] ["failcreates"]
     crash ["recursive_"] ["recursive_","intermediate_","recursive"]
     crash ["rec1","rec2"] ["rec1","rec2","indirect recursion","recursive"]
-    notCI $ crash ["systemcmd"] $ ["systemcmd","random_missing_command"] ++ 
["at cmd, called at" | hasLocations]
+    notMacCI $ crash ["systemcmd"] ["systemcmd","random_missing_command", "at 
cmd, called at"]
     crash ["stack1"] ["stack1","stack2","stack3","crash"]
 
     b <- IO.doesFileExist "staunch1"
@@ -232,14 +228,14 @@
     assertContents "overlap.txt" "overlap.txt"
     crash ["overlap.txx"] $
         ["key matches multiple rules","matched:  
4","overlap.txx","overlap.t*","overlap.*","*.tox"] ++
-        ["Test/Errors.hs" | hasLocations]
+        ["Test/Errors.hs"]
 
     crash ["tempfile"] ["tempfile-died"]
     src <- readFile "tempfile"
     assertMissing src
     build ["tempdir"]
 
-    crash ["--die"] $ ["Shake","death error"] ++ ["Test/Errors.hs" | 
hasLocations]
+    crash ["--die"] ["Shake","death error","Test/Errors.hs"]
 
     putStrLn "## BUILD errors"
     (out,_) <- IO.captureOutput $ build []
@@ -291,7 +287,7 @@
     t <- forkIO $ build ["finalfinal","--quiet"]
     sleep 0.2
     killThread t
-    sleep 0.3
+    sleep 0.5
     assertContents "finalfinal" "XY"
 
     build ["catch1"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Test/Lint.hs 
new/shake-0.19.7/src/Test/Lint.hs
--- old/shake-0.19.6/src/Test/Lint.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Test/Lint.hs   2001-09-09 03:46:40.000000000 +0200
@@ -27,7 +27,7 @@
         writeFile' out ""
 
     "pause.*" %> \out -> do
-        liftIO $ sleep 0.1
+        liftIO $ sleep 0.2
         need ["cdir" <.> takeExtension out]
         writeFile' out ""
 
@@ -36,7 +36,7 @@
         let dir2 = "dir" ++ takeExtension out
         liftIO $ createDirectoryRecursive dir2
         liftIO $ setCurrentDirectory dir2
-        liftIO $ sleep 0.2
+        liftIO $ sleep 0.4
         liftIO $ setCurrentDirectory pwd
         writeFile' out ""
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Test/Oracle.hs 
new/shake-0.19.7/src/Test/Oracle.hs
--- old/shake-0.19.6/src/Test/Oracle.hs 2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Test/Oracle.hs 2001-09-09 03:46:40.000000000 +0200
@@ -9,8 +9,6 @@
 import General.GetOpt
 import Data.List.Extra
 import Data.Tuple.Extra
-import System.Info
-import Data.Version.Extra
 import Test.Type hiding (RandomType)
 import qualified Test.Type as T
 import Control.Monad
@@ -114,6 +112,5 @@
     errors ["int.txt"] -- Building with an Oracle that I know nothing about
         ["missing a call to addOracle"]
 
-    errors ["--def=string=1","--def=string=1"] $ -- Two Oracles defined in one 
go
-        "oracle defined twice" :
-        ["Test/Oracle.hs" | compilerVersion >= readVersion "8.0"] -- when GHC 
got support for locations
+    errors ["--def=string=1","--def=string=1"] -- Two Oracles defined in one go
+        ["oracle defined twice", "Test/Oracle.hs"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Test/Self.hs 
new/shake-0.19.7/src/Test/Self.hs
--- old/shake-0.19.6/src/Test/Self.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Test/Self.hs   2001-09-09 03:46:40.000000000 +0200
@@ -10,8 +10,7 @@
 import Control.Monad.Extra
 import Data.Char
 import Data.List.Extra
-import System.Info
-import Data.Version.Extra
+import System.Info.Extra
 
 
 newtype GhcPkg = GhcPkg () deriving (Show,Typeable,Eq,Hashable,Binary,NFData)
@@ -20,7 +19,8 @@
 type instance RuleResult GhcPkg = [String]
 type instance RuleResult GhcFlags = [String]
 
-main = testBuild defaultTest $ do
+-- Doesn't work on the Windows CI for reasons I don't understand
+main = testBuild (notWindowsCI . defaultTest) $ do
     let moduleToFile ext xs = replace "." "/" xs <.> ext
     want ["Main" <.> exe]
 
@@ -83,10 +83,8 @@
 
 -- FIXME: Should actually parse the list from the contents of the .cabal file
 cabalBuildDepends :: String -> [String]
-cabalBuildDepends _ = packages ++ ["unix" | os /= "mingw32"]
+cabalBuildDepends _ = packages ++ ["unix" | not isWindows]
 
-packages = words
-    ("base transformers binary unordered-containers hashable heaps time 
bytestring primitive " ++
-     "filepath directory process deepseq random utf8-string extra js-dgtable 
js-jquery js-flot filepattern") ++
-    ["old-time" | compilerVersion < makeVersion [7,6]] ++
-    ["semigroups" | compilerVersion < makeVersion [8,0]]
+packages = words $
+    "base transformers binary unordered-containers hashable heaps time 
bytestring primitive " ++
+    "filepath directory process deepseq random utf8-string extra js-dgtable 
js-jquery js-flot filepattern"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Test/SelfMake.hs 
new/shake-0.19.7/src/Test/SelfMake.hs
--- old/shake-0.19.6/src/Test/SelfMake.hs       2001-09-09 03:46:40.000000000 
+0200
+++ new/shake-0.19.7/src/Test/SelfMake.hs       2001-09-09 03:46:40.000000000 
+0200
@@ -10,8 +10,6 @@
 import Test.Type
 
 import Data.List.Extra
-import System.Info
-import Data.Version.Extra
 
 
 newtype GhcPkg = GhcPkg () deriving (Show,Typeable,Eq,Hashable,Binary,NFData)
@@ -20,7 +18,7 @@
 type instance RuleResult GhcPkg = [String]
 type instance RuleResult GhcFlags = [String]
 
-main = testBuild defaultTest $ do
+main = testBuild (notWindowsCI . defaultTest) $ do
     want ["Main" <.> exe]
 
     ghcPkg <- addOracleHash $ \GhcPkg{} -> do
@@ -48,7 +46,7 @@
         trackAllow ["**/*.o","**/*.hi","Makefile"]
         ghc $ ["-M",run] ++ flags
         need . filter (\x -> takeExtension x == ".hs") . concatMap snd . 
parseMakefile =<< liftIO (readFile "Makefile")
-        ghc $ ["-o",out,run] ++ ["-j4" | compilerVersion >= makeVersion [7,8]] 
++ flags
+        ghc $ ["-o",out,run,"-j4"] ++ flags
 
     ".pkgs" %> \out -> do
         src <- readFile' $ shakeRoot </> "shake.cabal"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/shake-0.19.6/src/Test/Type.hs 
new/shake-0.19.7/src/Test/Type.hs
--- old/shake-0.19.6/src/Test/Type.hs   2001-09-09 03:46:40.000000000 +0200
+++ new/shake-0.19.7/src/Test/Type.hs   2001-09-09 03:46:40.000000000 +0200
@@ -4,7 +4,7 @@
     sleep, sleepFileTime, sleepFileTimeCalibrate,
     testBuildArgs, testBuild, testSimple, testNone,
     shakeRoot,
-    defaultTest, hasTracker, notCI,
+    defaultTest, hasTracker, notCI, notWindowsCI, notMacCI,
     copyDirectoryChanged, copyFileChangedIO,
     assertWithin,
     assertBool, assertBoolIO, assertException, assertExceptionAfter,
@@ -152,7 +152,8 @@
 tracker :: IO Lint
 tracker = do
     fsatrace <- findExecutable $ "fsatrace" <.> exe
-    pure $ if isJust fsatrace then LintFSATrace else LintBasic
+    -- Tracking on a Mac is pretty unreliable
+    pure $ if not isMac && isJust fsatrace then LintFSATrace else LintBasic
 
 -- Tests that don't currently work on CI
 notCI :: IO () -> IO ()
@@ -160,11 +161,18 @@
     b <- lookupEnv "CI"
     when (isNothing b) act
 
+-- Tests that don't currently work on Windows CI
+notWindowsCI :: IO () -> IO ()
+notWindowsCI = if isWindows then notCI else id
+
+-- Tests that don't currently work on Mac CI
+notMacCI :: IO () -> IO ()
+notMacCI = if isMac then notCI else id
+
 hasTracker :: IO Bool
 hasTracker = do
     t <- tracker
-    -- Tracking on a Mac is pretty unreliable
-    pure $ not isMac && t == LintFSATrace
+    pure $ t == LintFSATrace
 
 assertFail :: String -> IO a
 assertFail msg = error $ "ASSERTION FAILED: " ++ msg

Reply via email to