From 768777d0313e00787ff5964d86d357ebe7dbcfce Mon Sep 17 00:00:00 2001 From: Rodrigo Mesquita Date: Wed, 7 Aug 2024 12:22:41 +0100 Subject: [PATCH] Actually... --- .../src/Distribution/Client/ProjectConfig.hs | 67 +++++++++---------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/cabal-install/src/Distribution/Client/ProjectConfig.hs b/cabal-install/src/Distribution/Client/ProjectConfig.hs index 7bb3bd1ed23..5c07e8277d9 100644 --- a/cabal-install/src/Distribution/Client/ProjectConfig.hs +++ b/cabal-install/src/Distribution/Client/ProjectConfig.hs @@ -1165,57 +1165,54 @@ fetchAndReadSourcePackages distDirLayout projectConfigShared projectConfigBuildOnly - pkgLocations = do - pkgsLocalDirectory <- - concurrentRebuildActions + pkgLocations = + concat <$> + concurrentRebuildActions + [ + -- pkgsLocalDirectory + sequenceA [ readSourcePackageLocalDirectory verbosity dir cabalFile | location <- pkgLocations , (dir, cabalFile) <- projectPackageLocal location ] - pkgsLocalTarball <- - concurrentRebuildActions + , -- pkgsLocalTarball + sequenceA [ readSourcePackageLocalTarball verbosity path | ProjectPackageLocalTarball path <- pkgLocations ] - pkgsRemoteTarball <- do - getTransport <- - delayInitSharedResource $ - configureTransport + , -- pkgsRemoteTarball + do + getTransport <- + delayInitSharedResource $ + configureTransport + verbosity + progPathExtra + preferredHttpTransport + sequenceA $ + [ fetchAndReadSourcePackageRemoteTarball verbosity - progPathExtra - preferredHttpTransport - concurrentRebuildActions - [ fetchAndReadSourcePackageRemoteTarball + distDirLayout + getTransport + uri + | ProjectPackageRemoteTarball uri <- pkgLocations + ] + + -- pkgsRemoteRepo + , syncAndReadSourcePackagesRemoteRepos verbosity distDirLayout - getTransport - uri - | ProjectPackageRemoteTarball uri <- pkgLocations - ] - - pkgsRemoteRepo <- - syncAndReadSourcePackagesRemoteRepos - verbosity - distDirLayout - projectConfigShared - (fromFlag (projectConfigOfflineMode projectConfigBuildOnly)) - [repo | ProjectPackageRemoteRepo repo <- pkgLocations] + projectConfigShared + (fromFlag (projectConfigOfflineMode projectConfigBuildOnly)) + [repo | ProjectPackageRemoteRepo repo <- pkgLocations] - let pkgsNamed = + , -- pkgsNamed + pure [ NamedPackage pkgname [PackagePropertyVersion verrange] | ProjectPackageNamed (PackageVersionConstraint pkgname verrange) <- pkgLocations ] - - return $ - concat - [ pkgsLocalDirectory - , pkgsLocalTarball - , pkgsRemoteTarball - , pkgsRemoteRepo - , pkgsNamed - ] + ] where projectPackageLocal (ProjectPackageLocalDirectory dir file) = [(dir, file)] projectPackageLocal (ProjectPackageLocalCabalFile file) = [(dir, file)]