@@ -151,29 +151,27 @@ buildAndRegisterUnpackedPackage
151151 -> ElaboratedReadyPackage
152152 -> FilePath
153153 -> FilePath
154+ -> Maybe (FilePath )
155+ -- ^ The path to an /initialized/ log file
154156 -> (PackageBuildingPhase -> IO () )
155- -> IO (Maybe FilePath )
156- -- ^ Returns the path to the /initialized/ log file configured in
157- -- t'BuildTimeSettings' ('buildSettingLogFile'), if one exists.
157+ -> IO ()
158158buildAndRegisterUnpackedPackage
159159 verbosity
160160 distDirLayout@ DistDirLayout {distTempDirectory}
161161 maybe_semaphore
162- BuildTimeSettings {buildSettingNumJobs, buildSettingLogFile }
162+ BuildTimeSettings {buildSettingNumJobs}
163163 registerLock
164164 cacheLock
165165 pkgshared@ ElaboratedSharedConfig
166166 { pkgConfigCompiler = compiler
167167 , pkgConfigCompilerProgs = progdb
168- , pkgConfigPlatform = platform
169168 }
170169 plan
171170 rpkg@ (ReadyPackage pkg)
172171 srcdir
173172 builddir
173+ mlogFile
174174 delegate = do
175- initLogFile
176-
177175 -- Configure phase
178176 delegate $
179177 PBConfigurePhase $
@@ -238,10 +236,9 @@ buildAndRegisterUnpackedPackage
238236 annotateFailure mlogFile ReplFailed $
239237 setupInteractive replCommand replFlags replArgs
240238
241- return mlogFile
239+ return ()
242240 where
243241 uid = installedUnitId rpkg
244- pkgid = packageId rpkg
245242
246243 comp_par_strat = case maybe_semaphore of
247244 Just sem_name -> Cabal. toFlag (getSemaphoreName sem_name)
@@ -386,21 +383,6 @@ buildAndRegisterUnpackedPackage
386383 pkgConfDest
387384 setup Cabal. registerCommand registerFlags (const [] )
388385
389- mlogFile :: Maybe FilePath
390- mlogFile =
391- case buildSettingLogFile of
392- Nothing -> Nothing
393- Just mkLogFile -> Just (mkLogFile compiler platform pkgid uid)
394-
395- initLogFile :: IO ()
396- initLogFile =
397- case mlogFile of
398- Nothing -> return ()
399- Just logFile -> do
400- createDirectoryIfMissing True (takeDirectory logFile)
401- exists <- doesFileExist logFile
402- when exists $ removeFile logFile
403-
404386 withLogging :: (Maybe Handle -> IO r ) -> IO r
405387 withLogging action =
406388 case mlogFile of
@@ -459,7 +441,7 @@ buildInplaceUnpackedPackage
459441 buildResult :: BuildResultMisc
460442 buildResult = (docsResult, testsResult)
461443
462- mlogFile <- buildAndRegisterUnpackedPackage
444+ buildAndRegisterUnpackedPackage
463445 verbosity
464446 distDirLayout
465447 maybe_semaphore
@@ -471,6 +453,7 @@ buildInplaceUnpackedPackage
471453 rpkg
472454 srcdir
473455 builddir
456+ Nothing -- no log file for inplace builds!
474457 $ \ case
475458 PBConfigurePhase {runConfigure} -> do
476459 whenReConfigure $ do
@@ -572,7 +555,7 @@ buildInplaceUnpackedPackage
572555 BuildResult
573556 { buildResultDocs = docsResult
574557 , buildResultTests = testsResult
575- , buildResultLogFile = mlogFile
558+ , buildResultLogFile = Nothing
576559 }
577560 where
578561 dparams = elabDistDirParams pkgshared pkg
@@ -632,10 +615,13 @@ buildAndInstallUnpackedPackage
632615 { storePackageDBStack
633616 }
634617 maybe_semaphore
635- buildSettings@ BuildTimeSettings {buildSettingNumJobs}
618+ buildSettings@ BuildTimeSettings {buildSettingNumJobs, buildSettingLogFile }
636619 registerLock
637620 cacheLock
638- pkgshared@ ElaboratedSharedConfig {pkgConfigCompiler = compiler}
621+ pkgshared@ ElaboratedSharedConfig
622+ { pkgConfigCompiler = compiler
623+ , pkgConfigPlatform = platform
624+ }
639625 plan
640626 rpkg@ (ReadyPackage pkg)
641627 srcdir
@@ -653,7 +639,9 @@ buildAndInstallUnpackedPackage
653639 -- TODO: [required feature] docs and tests
654640 -- TODO: [required feature] sudo re-exec
655641
656- mlogFile <- buildAndRegisterUnpackedPackage
642+ initLogFile
643+
644+ buildAndRegisterUnpackedPackage
657645 verbosity
658646 distDirLayout
659647 maybe_semaphore
@@ -665,6 +653,7 @@ buildAndInstallUnpackedPackage
665653 rpkg
666654 srcdir
667655 builddir
656+ mlogFile
668657 $ \ case
669658 PBConfigurePhase {runConfigure} -> do
670659 noticeProgress ProgressStarting
@@ -758,6 +747,21 @@ buildAndInstallUnpackedPackage
758747 when (isParallelBuild buildSettingNumJobs) $
759748 progressMessage verbosity phase dispname
760749
750+ mlogFile :: Maybe FilePath
751+ mlogFile =
752+ case buildSettingLogFile of
753+ Nothing -> Nothing
754+ Just mkLogFile -> Just (mkLogFile compiler platform pkgid uid)
755+
756+ initLogFile :: IO ()
757+ initLogFile =
758+ case mlogFile of
759+ Nothing -> return ()
760+ Just logFile -> do
761+ createDirectoryIfMissing True (takeDirectory logFile)
762+ exists <- doesFileExist logFile
763+ when exists $ removeFile logFile
764+
761765-- | The copy part of the installation phase when doing build-and-install
762766copyPkgFiles
763767 :: Verbosity
0 commit comments