Skip to content

Commit

Permalink
Merge pull request #3941 from bgamari/sort-freeze-constraints
Browse files Browse the repository at this point in the history
PackageEnvironment: Sort constraints in produced freeze file
  • Loading branch information
bgamari committed Oct 5, 2016
2 parents b858bed + f8aa4db commit fc26cef
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions cabal-install/Distribution/Client/Sandbox/PackageEnvironment.hs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ import Distribution.Client.ParseUtils ( parseFields, ppFields, ppSection )
import Distribution.Client.Setup ( GlobalFlags(..), ConfigExFlags(..)
, InstallFlags(..)
, defaultSandboxLocation )
import Distribution.Utils.NubList ( toNubList )
import Distribution.Client.Targets ( userConstraintPackageName )
import Distribution.Utils.NubList ( toNubList )
import Distribution.Simple.Compiler ( Compiler, PackageDB(..)
, compilerFlavor, showCompilerIdWithAbi )
import Distribution.Simple.InstallDirs ( InstallDirs(..), PathTemplate
Expand All @@ -60,8 +61,9 @@ import Distribution.ParseUtils ( FieldDescr(..), ParseResult(..)
import Distribution.System ( Platform )
import Distribution.Verbosity ( Verbosity, normal )
import Control.Monad ( foldM, liftM2, when, unless )
import Data.List ( partition )
import Data.List ( partition, sortBy )
import Data.Maybe ( isJust )
import Data.Ord ( comparing )
import Distribution.Compat.Exception ( catchIO )
import Distribution.Compat.Semigroup
import System.Directory ( doesDirectoryExist, doesFileExist
Expand Down Expand Up @@ -399,7 +401,7 @@ pkgEnvFieldDescrs src = [

, commaNewLineListField "constraints"
(Text.disp . fst) ((\pc -> (pc, src)) `fmap` Text.parse)
(configExConstraints . savedConfigureExFlags . pkgEnvSavedConfig)
(sortConstraints . configExConstraints . savedConfigureExFlags . pkgEnvSavedConfig)
(\v pkgEnv -> updateConfigureExFlags pkgEnv
(\flags -> flags { configExConstraints = v }))

Expand Down Expand Up @@ -434,6 +436,8 @@ pkgEnvFieldDescrs src = [
}
}

sortConstraints = sortBy (comparing $ userConstraintPackageName . fst)

-- | Read the package environment file.
readPackageEnvironmentFile :: ConstraintSource -> PackageEnvironment -> FilePath
-> IO (Maybe (ParseResult PackageEnvironment))
Expand Down

0 comments on commit fc26cef

Please sign in to comment.