Skip to content
Snippets Groups Projects
Commit fac831fd authored by parcs's avatar parcs
Browse files

Revert "Respect the ordering of -package directives"

This commit was accidentally pushed.

This reverts commit 574ccfa2.
parent 574ccfa2
No related branches found
No related tags found
No related merge requests found
...@@ -59,7 +59,6 @@ import System.FilePath as FilePath ...@@ -59,7 +59,6 @@ import System.FilePath as FilePath
import qualified System.FilePath.Posix as FilePath.Posix import qualified System.FilePath.Posix as FilePath.Posix
import Control.Monad import Control.Monad
import Data.Char (isSpace) import Data.Char (isSpace)
import Data.Foldable (foldrM)
import Data.List as List import Data.List as List
import Data.Map (Map) import Data.Map (Map)
import qualified Data.Map as Map import qualified Data.Map as Map
...@@ -981,7 +980,7 @@ getPreloadPackagesAnd dflags pkgids = ...@@ -981,7 +980,7 @@ getPreloadPackagesAnd dflags pkgids =
preload = preloadPackages state preload = preloadPackages state
pairs = zip pkgids (repeat Nothing) pairs = zip pkgids (repeat Nothing)
in do in do
all_pkgs <- throwErr dflags (foldrM (add_package pkg_map ipid_map) preload pairs) all_pkgs <- throwErr dflags (foldM (add_package pkg_map ipid_map) preload pairs)
return (map (getPackageDetails state) all_pkgs) return (map (getPackageDetails state) all_pkgs)
-- Takes a list of packages, and returns the list with dependencies included, -- Takes a list of packages, and returns the list with dependencies included,
...@@ -1004,15 +1003,15 @@ closeDepsErr :: PackageConfigMap ...@@ -1004,15 +1003,15 @@ closeDepsErr :: PackageConfigMap
-> Map InstalledPackageId PackageId -> Map InstalledPackageId PackageId
-> [(PackageId,Maybe PackageId)] -> [(PackageId,Maybe PackageId)]
-> MaybeErr MsgDoc [PackageId] -> MaybeErr MsgDoc [PackageId]
closeDepsErr pkg_map ipid_map ps = foldrM (add_package pkg_map ipid_map) [] ps closeDepsErr pkg_map ipid_map ps = foldM (add_package pkg_map ipid_map) [] ps
-- internal helper -- internal helper
add_package :: PackageConfigMap add_package :: PackageConfigMap
-> Map InstalledPackageId PackageId -> Map InstalledPackageId PackageId
-> (PackageId,Maybe PackageId)
-> [PackageId] -> [PackageId]
-> (PackageId,Maybe PackageId)
-> MaybeErr MsgDoc [PackageId] -> MaybeErr MsgDoc [PackageId]
add_package pkg_db ipid_map (p, mb_parent) ps add_package pkg_db ipid_map ps (p, mb_parent)
| p `elem` ps = return ps -- Check if we've already added this package | p `elem` ps = return ps -- Check if we've already added this package
| otherwise = | otherwise =
case lookupPackage pkg_db p of case lookupPackage pkg_db p of
...@@ -1020,12 +1019,12 @@ add_package pkg_db ipid_map (p, mb_parent) ps ...@@ -1020,12 +1019,12 @@ add_package pkg_db ipid_map (p, mb_parent) ps
missingDependencyMsg mb_parent) missingDependencyMsg mb_parent)
Just pkg -> do Just pkg -> do
-- Add the package's dependents also -- Add the package's dependents also
ps' <- foldrM add_package_ipid ps (depends pkg) ps' <- foldM add_package_ipid ps (depends pkg)
return (p : ps') return (p : ps')
where where
add_package_ipid ipid@(InstalledPackageId str) ps add_package_ipid ps ipid@(InstalledPackageId str)
| Just pid <- Map.lookup ipid ipid_map | Just pid <- Map.lookup ipid ipid_map
= add_package pkg_db ipid_map (pid, Just p) ps = add_package pkg_db ipid_map ps (pid, Just p)
| otherwise | otherwise
= Failed (missingPackageMsg str <> missingDependencyMsg mb_parent) = Failed (missingPackageMsg str <> missingDependencyMsg mb_parent)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment