mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-02-18 09:15:50 +01:00
Some minor build improvements
This commit is contained in:
parent
33b2e1540a
commit
827c6748c8
@ -128,7 +128,8 @@ defaultBuildConstraints = do
|
|||||||
defaultGlobalFlags = asMap $ mapFromList $
|
defaultGlobalFlags = asMap $ mapFromList $
|
||||||
map (, True) (map FlagName $ setToList $ Old.flags oldSettings mempty) ++
|
map (, True) (map FlagName $ setToList $ Old.flags oldSettings mempty) ++
|
||||||
map (, False) (map FlagName $ setToList $ Old.disabledFlags oldSettings)
|
map (, False) (map FlagName $ setToList $ Old.disabledFlags oldSettings)
|
||||||
expectedFailures = Old.defaultExpectedFailures oldGhcVer False
|
expectedFailures = Old.defaultExpectedFailures oldGhcVer False ++
|
||||||
|
newExpectedFailures
|
||||||
skippedTests =
|
skippedTests =
|
||||||
old ++ extraSkippedTests
|
old ++ extraSkippedTests
|
||||||
where
|
where
|
||||||
@ -182,3 +183,8 @@ skippedBenchs = setFromList $ words =<<
|
|||||||
[ "machines criterion-plus graphviz lifted-base pandoc stm-containers uuid"
|
[ "machines criterion-plus graphviz lifted-base pandoc stm-containers uuid"
|
||||||
, "cases hasql-postgres" -- pulls in criterion-plus, which has restrictive upper bounds
|
, "cases hasql-postgres" -- pulls in criterion-plus, which has restrictive upper bounds
|
||||||
]
|
]
|
||||||
|
|
||||||
|
newExpectedFailures :: Set PackageName
|
||||||
|
newExpectedFailures = setFromList $ map PackageName $ words =<<
|
||||||
|
[ "cautious-file" -- weird problems with cabal test
|
||||||
|
]
|
||||||
|
|||||||
@ -203,10 +203,6 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} =
|
|||||||
. withTSem sbSem
|
. withTSem sbSem
|
||||||
wfd libComps buildLibrary
|
wfd libComps buildLibrary
|
||||||
|
|
||||||
-- Even if the tests later fail, we can allow other libraries to build
|
|
||||||
-- on top of our successful results
|
|
||||||
atomically $ putTMVar (piResult sbPackageInfo) True
|
|
||||||
|
|
||||||
wfd testComps runTests
|
wfd testComps runTests
|
||||||
|
|
||||||
name = display $ piName sbPackageInfo
|
name = display $ piName sbPackageInfo
|
||||||
@ -232,10 +228,13 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} =
|
|||||||
|
|
||||||
log' t = do
|
log' t = do
|
||||||
i <- readTVarIO sbActive
|
i <- readTVarIO sbActive
|
||||||
|
errs <- readTVarIO sbErrsVar
|
||||||
pbLog $ encodeUtf8 $ concat
|
pbLog $ encodeUtf8 $ concat
|
||||||
[ t
|
[ t
|
||||||
, " (active: "
|
, " (pending: "
|
||||||
, tshow i
|
, tshow i
|
||||||
|
, ", failures: "
|
||||||
|
, tshow $ length errs
|
||||||
, ")\n"
|
, ")\n"
|
||||||
]
|
]
|
||||||
libOut = pbLogDir </> fpFromText namever </> "build.out"
|
libOut = pbLogDir </> fpFromText namever </> "build.out"
|
||||||
@ -285,7 +284,11 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} =
|
|||||||
withMVar sbRegisterMutex $ const $
|
withMVar sbRegisterMutex $ const $
|
||||||
run "cabal" ["register"]
|
run "cabal" ["register"]
|
||||||
|
|
||||||
when (pcHaddocks /= Don'tBuild) $ do
|
-- Even if the tests later fail, we can allow other libraries to build
|
||||||
|
-- on top of our successful results
|
||||||
|
atomically $ putTMVar (piResult sbPackageInfo) True
|
||||||
|
|
||||||
|
when (pcHaddocks /= Don'tBuild && hasLibrary (ppDesc $ piPlan sbPackageInfo)) $ do
|
||||||
log' $ "Haddocks " ++ namever
|
log' $ "Haddocks " ++ namever
|
||||||
hfs <- readTVarIO sbHaddockFiles
|
hfs <- readTVarIO sbHaddockFiles
|
||||||
let hfsOpts = flip map (mapToList hfs) $ \(pkgVer, hf) -> concat
|
let hfsOpts = flip map (mapToList hfs) $ \(pkgVer, hf) -> concat
|
||||||
@ -359,6 +362,12 @@ singleBuild pb@PerformBuild {..} SingleBuild {..} =
|
|||||||
Just bf -> bf
|
Just bf -> bf
|
||||||
Nothing -> BuildFailureException exc
|
Nothing -> BuildFailureException exc
|
||||||
|
|
||||||
|
hasLibrary :: SimpleDesc -> Bool
|
||||||
|
hasLibrary sd =
|
||||||
|
any go (sdPackages sd) || any go (sdTools sd)
|
||||||
|
where
|
||||||
|
go = (CompLibrary `member`) . diComponents
|
||||||
|
|
||||||
renameOrCopy :: FilePath -> FilePath -> IO ()
|
renameOrCopy :: FilePath -> FilePath -> IO ()
|
||||||
renameOrCopy src dest = rename src dest `catchIO` \_ -> copyDir src dest
|
renameOrCopy src dest = rename src dest `catchIO` \_ -> copyDir src dest
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user