From 9b3686fb7c2bc1b7b9ea735d23f32cfe47c22353 Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Thu, 14 May 2020 14:28:26 +0300 Subject: [PATCH] Add NonEmptySet and use it in Dependency --- Cabal/Cabal-QuickCheck/Cabal-QuickCheck.cabal | 3 + .../src/Test/QuickCheck/Instances/Cabal.hs | 17 + .../src/Distribution/Described.hs | 2 +- .../src/Data/TreeDiff/Instances/Cabal.hs | 13 +- Cabal/Cabal.cabal | 4 + .../Backpack/ConfiguredComponent.hs | 3 +- Cabal/Distribution/Compat/NonEmptySet.hs | 128 ++++++++ Cabal/Distribution/Compat/Prelude.hs | 2 + .../Distribution/PackageDescription/Check.hs | 2 +- .../PackageDescription/Configuration.hs | 31 +- Cabal/Distribution/Parsec.hs | 4 + Cabal/Distribution/Simple/Build.hs | 2 +- Cabal/Distribution/Simple/Configure.hs | 8 +- Cabal/Distribution/Types/Dependency.hs | 48 +-- Cabal/Distribution/Types/DependencyMap.hs | 8 +- .../Types/PackageVersionConstraint.hs | 8 +- Cabal/Distribution/Utils/MD5.hs | 25 ++ .../ParserTests/regressions/Octree-0.5.expr | 50 ++- .../ParserTests/regressions/anynone.expr | 5 +- .../regressions/common-conditional.expr | 52 ++- .../tests/ParserTests/regressions/common.expr | 10 +- .../ParserTests/regressions/common2.expr | 69 ++-- .../ParserTests/regressions/common3.expr | 20 +- Cabal/tests/ParserTests/regressions/elif.expr | 6 +- .../tests/ParserTests/regressions/elif2.expr | 12 +- .../ParserTests/regressions/encoding-0.8.expr | 9 +- .../ParserTests/regressions/generics-sop.expr | 64 ++-- .../regressions/hidden-main-lib.expr | 5 +- .../ParserTests/regressions/issue-5055.expr | 10 +- .../ParserTests/regressions/issue-5846.expr | 72 +++-- .../regressions/issue-6083-pkg-pkg.expr | 10 +- .../regressions/jaeger-flamegraph.expr | 75 ++--- .../regressions/leading-comma-2.expr | 30 +- .../regressions/leading-comma.expr | 30 +- .../tests/ParserTests/regressions/libpq1.expr | 26 +- .../tests/ParserTests/regressions/libpq2.expr | 26 +- .../ParserTests/regressions/mixin-1.expr | 15 +- .../ParserTests/regressions/mixin-2.expr | 15 +- .../ParserTests/regressions/mixin-3.expr | 15 +- .../ParserTests/regressions/monad-param.expr | 15 +- .../regressions/multiple-libs-2.expr | 10 +- .../ParserTests/regressions/noVersion.expr | 5 +- .../tests/ParserTests/regressions/shake.expr | 304 +++++++----------- .../regressions/th-lift-instances.expr | 95 +++--- .../ParserTests/regressions/version-sets.expr | 40 +-- .../regressions/wl-pprint-indef.expr | 25 +- .../Distribution/Utils/Structured.hs | 10 +- Makefile | 3 + cabal-install/Distribution/Client/CmdRepl.hs | 6 +- .../Distribution/Client/Dependency.hs | 3 +- .../Distribution/Client/Init/Command.hs | 7 +- .../Distribution/Client/Init/FileCreators.hs | 10 +- cabal-install/Distribution/Client/Install.hs | 6 +- cabal-install/Distribution/Client/Outdated.hs | 10 +- .../Distribution/Client/ProjectPlanning.hs | 8 +- .../Distribution/Solver/Modular/DSL.hs | 3 +- .../Distribution/Client/Init/FileCreators.hs | 11 +- .../PackageTests/MultipleLibraries/cabal.out | 2 +- 58 files changed, 731 insertions(+), 776 deletions(-) create mode 100644 Cabal/Distribution/Compat/NonEmptySet.hs diff --git a/Cabal/Cabal-QuickCheck/Cabal-QuickCheck.cabal b/Cabal/Cabal-QuickCheck/Cabal-QuickCheck.cabal index 19e67746737..c1dc1886cc7 100644 --- a/Cabal/Cabal-QuickCheck/Cabal-QuickCheck.cabal +++ b/Cabal/Cabal-QuickCheck/Cabal-QuickCheck.cabal @@ -15,6 +15,9 @@ library , Cabal ^>=3.3.0.0 , QuickCheck ^>=2.13.2 + if !impl(ghc >= 8.0) + build-depends: semigroups + exposed-modules: Test.QuickCheck.GenericArbitrary Test.QuickCheck.Instances.Cabal diff --git a/Cabal/Cabal-QuickCheck/src/Test/QuickCheck/Instances/Cabal.hs b/Cabal/Cabal-QuickCheck/src/Test/QuickCheck/Instances/Cabal.hs index a86aa38c544..59d367a6b83 100644 --- a/Cabal/Cabal-QuickCheck/src/Test/QuickCheck/Instances/Cabal.hs +++ b/Cabal/Cabal-QuickCheck/src/Test/QuickCheck/Instances/Cabal.hs @@ -6,10 +6,12 @@ module Test.QuickCheck.Instances.Cabal () where import Control.Applicative (liftA2) import Data.Char (isAlphaNum, isDigit) import Data.List (intercalate) +import Data.List.NonEmpty (NonEmpty (..)) import Distribution.Utils.Generic (lowercase) import Test.QuickCheck import Distribution.CabalSpecVersion +import Distribution.Compat.NonEmptySet (NonEmptySet) import Distribution.Compiler import Distribution.FieldGrammar.Newtypes import Distribution.ModuleName @@ -30,6 +32,8 @@ import Distribution.Version import Test.QuickCheck.GenericArbitrary +import qualified Distribution.Compat.NonEmptySet as NES + #if !MIN_VERSION_base(4,8,0) import Control.Applicative (pure, (<$>), (<*>)) #endif @@ -332,6 +336,19 @@ instance Arbitrary CompilerId where arbitrary = genericArbitrary shrink = genericShrink +------------------------------------------------------------------------------- +-- NonEmptySet +------------------------------------------------------------------------------- + +instance (Arbitrary a, Ord a) => Arbitrary (NonEmptySet a) where + arbitrary = mk <$> arbitrary <*> arbitrary where + mk x xs = NES.fromNonEmpty (x :| xs) + + shrink nes = case NES.toNonEmpty nes of + x :| xs -> map mk (shrink (x, xs)) + where + mk (x,xs) = NES.fromNonEmpty (x :| xs) + ------------------------------------------------------------------------------- -- Helpers ------------------------------------------------------------------------------- diff --git a/Cabal/Cabal-described/src/Distribution/Described.hs b/Cabal/Cabal-described/src/Distribution/Described.hs index 452383f1ddc..5957192e21e 100644 --- a/Cabal/Cabal-described/src/Distribution/Described.hs +++ b/Cabal/Cabal-described/src/Distribution/Described.hs @@ -372,7 +372,7 @@ instance Described Dependency where [ reChar '{' , RESpaces -- no leading or trailing comma - , REMunch reSpacedComma reUnqualComponent + , REMunch1 reSpacedComma reUnqualComponent , RESpaces , reChar '}' ] diff --git a/Cabal/Cabal-tree-diff/src/Data/TreeDiff/Instances/Cabal.hs b/Cabal/Cabal-tree-diff/src/Data/TreeDiff/Instances/Cabal.hs index 3efd1ee3f57..9cc6a65e682 100644 --- a/Cabal/Cabal-tree-diff/src/Data/TreeDiff/Instances/Cabal.hs +++ b/Cabal/Cabal-tree-diff/src/Data/TreeDiff/Instances/Cabal.hs @@ -20,7 +20,7 @@ import Distribution.CabalSpecVersion (CabalSpecVersion) import Distribution.Compiler (CompilerFlavor, CompilerId, PerCompilerFlavor) import Distribution.InstalledPackageInfo (AbiDependency, ExposedModule, InstalledPackageInfo) import Distribution.ModuleName (ModuleName) -import Distribution.Package (Dependency, PackageIdentifier, PackageName) +import Distribution.Package (PackageIdentifier, PackageName) import Distribution.PackageDescription import Distribution.Simple.Compiler (DebugInfoLevel, OptimisationLevel, ProfDetailLevel) import Distribution.Simple.Flag (Flag) @@ -31,6 +31,7 @@ import Distribution.System import Distribution.Types.AbiHash (AbiHash) import Distribution.Types.ComponentId (ComponentId) import Distribution.Types.CondTree +import Distribution.Types.Dependency (Dependency (..), mainLibSet) import Distribution.Types.ExecutableScope import Distribution.Types.ExeDependency import Distribution.Types.ForeignLib @@ -52,6 +53,8 @@ import Distribution.Utils.ShortText (ShortText, fromShortText) import Distribution.Verbosity import Distribution.Verbosity.Internal +import qualified Distribution.Compat.NonEmptySet as NES + ------------------------------------------------------------------------------- -- instances ------------------------------------------------------------------------------- @@ -61,9 +64,16 @@ instance (Show a, ToExpr b, ToExpr c, Show b, Show c, Eq a, Eq c, Eq b) => ToExp instance (Show a, ToExpr b, ToExpr c, Show b, Show c, Eq a, Eq c, Eq b) => ToExpr (CondBranch a b c) instance (ToExpr a) => ToExpr (NubList a) instance (ToExpr a) => ToExpr (Flag a) +instance ToExpr a => ToExpr (NES.NonEmptySet a) where + toExpr xs = App "NonEmptySet.fromNonEmpty" [toExpr $ NES.toNonEmpty xs] instance ToExpr a => ToExpr (PerCompilerFlavor a) +instance ToExpr Dependency where + toExpr d@(Dependency pn vr cs) + | cs == mainLibSet = App "Dependency" [toExpr pn, toExpr vr, App "mainLibSet" []] + | otherwise = genericToExpr d + instance ToExpr AbiDependency instance ToExpr AbiHash instance ToExpr Arch @@ -78,7 +88,6 @@ instance ToExpr CompilerId instance ToExpr ComponentId instance ToExpr DebugInfoLevel instance ToExpr DefUnitId -instance ToExpr Dependency instance ToExpr ExeDependency instance ToExpr Executable instance ToExpr ExecutableScope diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal index 73b51d75689..dd7556dd5ae 100644 --- a/Cabal/Cabal.cabal +++ b/Cabal/Cabal.cabal @@ -352,6 +352,7 @@ library Distribution.Compat.Graph Distribution.Compat.Internal.TempFile Distribution.Compat.Newtype + Distribution.Compat.NonEmptySet Distribution.Compat.ResponseFile Distribution.Compat.Prelude.Internal Distribution.Compat.Process @@ -693,6 +694,9 @@ test-suite unit-tests if !impl(ghc >= 7.10) build-depends: void + if !impl(ghc >= 8.0) + build-depends: semigroups + test-suite parser-tests type: exitcode-stdio-1.0 hs-source-dirs: tests diff --git a/Cabal/Distribution/Backpack/ConfiguredComponent.hs b/Cabal/Distribution/Backpack/ConfiguredComponent.hs index a2c0c3c47e9..296c1927acc 100644 --- a/Cabal/Distribution/Backpack/ConfiguredComponent.hs +++ b/Cabal/Distribution/Backpack/ConfiguredComponent.hs @@ -45,6 +45,7 @@ import Distribution.Utils.Generic import Control.Monad import qualified Data.Set as Set +import qualified Distribution.Compat.NonEmptySet as NonEmptySet import qualified Data.Map as Map import Distribution.Pretty import Text.PrettyPrint @@ -179,7 +180,7 @@ toConfiguredComponent pkg_descr this_cid lib_dep_map exe_dep_map component = do text "package" <+> pretty pn Just p -> return p -- Return all library components - forM (Set.toList sublibs) $ \lib -> + forM (NonEmptySet.toList sublibs) $ \lib -> let comp = CLibName lib in case Map.lookup (CLibName $ LSubLibName $ packageNameToUnqualComponentName name) pkg diff --git a/Cabal/Distribution/Compat/NonEmptySet.hs b/Cabal/Distribution/Compat/NonEmptySet.hs new file mode 100644 index 00000000000..451c7231409 --- /dev/null +++ b/Cabal/Distribution/Compat/NonEmptySet.hs @@ -0,0 +1,128 @@ +{-# LANGUAGE CPP #-} +{-# LANGUAGE DeriveDataTypeable #-} +module Distribution.Compat.NonEmptySet ( + NonEmptySet, + -- * Construction + singleton, + -- * Conversions + toNonEmpty, + fromNonEmpty, + toList, + -- * Query + member, + -- * Map + map, +) where + +import Prelude (Bool (..), Eq, Ord (..), Read, Show (..), String, error, return, showParen, showString, ($), (++), (.)) + +import Control.DeepSeq (NFData (..)) +import Data.Data (Data) +import Data.List.NonEmpty (NonEmpty (..)) +import Data.Semigroup (Semigroup (..)) +import Data.Typeable (Typeable) + +import qualified Data.Foldable as F +import qualified Data.Set as Set + +import Distribution.Compat.Binary (Binary (..)) +import Distribution.Utils.Structured + +#if MIN_VERSION_binary(0,6,0) +import Control.Applicative (empty) +#else +import Control.Monad (fail) +#endif + +newtype NonEmptySet a = NES (Set.Set a) + deriving (Eq, Ord, Typeable, Data, Read) + +------------------------------------------------------------------------------- +-- Instances +------------------------------------------------------------------------------- + +instance Show a => Show (NonEmptySet a) where + showsPrec d s = showParen (d > 10) + $ showString "fromNonEmpty " + . showsPrec 11 (toNonEmpty s) + +instance Binary a => Binary (NonEmptySet a) where + put (NES s) = put s + get = do + xs <- get + if Set.null xs +#if MIN_VERSION_binary(0,6,0) + then empty +#else + then fail "NonEmptySet: empty" +#endif + else return (NES xs) + +instance Structured a => Structured (NonEmptySet a) where + structure = containerStructure + +instance NFData a => NFData (NonEmptySet a) where + rnf (NES x) = rnf x + +-- | Note: there aren't @Monoid@ instance. +instance Ord a => Semigroup (NonEmptySet a) where + NES x <> NES y = NES (Set.union x y) + +instance F.Foldable NonEmptySet where + foldMap f (NES s) = F.foldMap f s + foldr f z (NES s) = F.foldr f z s + +#if MIN_VERSION_base(4,8,0) + toList = toList + null _ = False + length (NES s) = F.length s +#endif + +------------------------------------------------------------------------------- +-- Constructors +------------------------------------------------------------------------------- + +singleton :: a -> NonEmptySet a +singleton = NES . Set.singleton + +------------------------------------------------------------------------------- +-- Conversions +------------------------------------------------------------------------------- + +fromNonEmpty :: Ord a => NonEmpty a -> NonEmptySet a +fromNonEmpty (x :| xs) = NES (Set.fromList (x : xs)) + +toNonEmpty :: NonEmptySet a -> NonEmpty a +toNonEmpty (NES s) = case Set.toList s of + [] -> panic "toNonEmpty" + x:xs -> x :| xs + +toList :: NonEmptySet a -> [a] +toList (NES s) = Set.toList s + +------------------------------------------------------------------------------- +-- Query +------------------------------------------------------------------------------- + +member :: Ord a => a -> NonEmptySet a -> Bool +member x (NES xs) = Set.member x xs + +------------------------------------------------------------------------------- +-- Map +------------------------------------------------------------------------------- + +map + :: ( Ord b +#if !MIN_VERSION_containers(0,5,2) + , Ord a +#endif + ) + => (a -> b) -> NonEmptySet a -> NonEmptySet b +map f (NES x) = NES (Set.map f x) + +------------------------------------------------------------------------------- +-- Internal +------------------------------------------------------------------------------- + +panic :: String -> a +panic msg = error $ "NonEmptySet invariant violated: " ++ msg diff --git a/Cabal/Distribution/Compat/Prelude.hs b/Cabal/Distribution/Compat/Prelude.hs index 506737f194c..f1e00ef99c8 100644 --- a/Cabal/Distribution/Compat/Prelude.hs +++ b/Cabal/Distribution/Compat/Prelude.hs @@ -47,6 +47,7 @@ module Distribution.Compat.Prelude ( -- * Some types Map, Set, + NonEmptySet, Identity (..), Proxy (..), Void, @@ -171,6 +172,7 @@ import Text.Read (readMaybe) import qualified Text.PrettyPrint as Disp import Distribution.Utils.Structured (Structured) +import Distribution.Compat.NonEmptySet (NonEmptySet) -- | New name for 'Text.PrettyPrint.<>' (<<>>) :: Disp.Doc -> Disp.Doc -> Disp.Doc diff --git a/Cabal/Distribution/PackageDescription/Check.hs b/Cabal/Distribution/PackageDescription/Check.hs index 687246c3c89..44de045d5f8 100644 --- a/Cabal/Distribution/PackageDescription/Check.hs +++ b/Cabal/Distribution/PackageDescription/Check.hs @@ -594,7 +594,7 @@ checkFields pkg = , name `elem` map prettyShow knownLanguages ] testedWithImpossibleRanges = - [ Dependency (mkPackageName (prettyShow compiler)) vr Set.empty + [ Dependency (mkPackageName (prettyShow compiler)) vr mainLibSet | (compiler, vr) <- testedWith pkg , isNoVersion vr ] diff --git a/Cabal/Distribution/PackageDescription/Configuration.hs b/Cabal/Distribution/PackageDescription/Configuration.hs index 3d89501bfa9..54600577b8e 100644 --- a/Cabal/Distribution/PackageDescription/Configuration.hs +++ b/Cabal/Distribution/PackageDescription/Configuration.hs @@ -64,9 +64,7 @@ import Distribution.Types.CondTree import Distribution.Types.Condition import Distribution.Types.DependencyMap -import qualified Data.Map.Strict as Map.Strict import qualified Data.Map.Lazy as Map -import qualified Data.Set as Set import Data.Tree ( Tree(Node) ) ------------------------------------------------------------------------------ @@ -188,7 +186,7 @@ resolveWithFlags dom enabled os arch impl constrs trees checkDeps = either (Left . fromDepMapUnion) Right $ explore (build mempty dom) where extraConstrs = toDepMap - [ Dependency pn ver mempty + [ Dependency pn ver mainLibSet | PackageVersionConstraint pn ver <- constrs ] @@ -232,11 +230,7 @@ resolveWithFlags dom enabled os arch impl constrs trees checkDeps = mp :: Either DepMapUnion a -> Either DepMapUnion a -> Either DepMapUnion a mp m@(Right _) _ = m mp _ m@(Right _) = m - mp (Left xs) (Left ys) = - let union = Map.foldrWithKey (Map.Strict.insertWith combine) - (unDepMapUnion xs) (unDepMapUnion ys) - combine x y = (\(vr, cs) -> (simplifyVersionRange vr,cs)) $ unionVersionRanges' x y - in union `seq` Left (DepMapUnion union) + mp (Left xs) (Left ys) = Left (xs <> ys) -- `mzero' mz :: Either DepMapUnion a @@ -312,21 +306,24 @@ extractConditions f gpkg = ] --- | A map of dependencies that combines version ranges using 'unionVersionRanges'. -newtype DepMapUnion = DepMapUnion { unDepMapUnion :: Map PackageName (VersionRange, Set LibraryName) } +-- | A map of package constraints that combines version ranges using 'unionVersionRanges'. +newtype DepMapUnion = DepMapUnion { unDepMapUnion :: Map PackageName (VersionRange, NonEmptySet LibraryName) } --- An union of versions should correspond to an intersection of the components. --- The intersection may not be necessary. -unionVersionRanges' :: (VersionRange, Set LibraryName) - -> (VersionRange, Set LibraryName) - -> (VersionRange, Set LibraryName) -unionVersionRanges' (vra, csa) (vrb, csb) = - (unionVersionRanges vra vrb, Set.intersection csa csb) +instance Semigroup DepMapUnion where + DepMapUnion x <> DepMapUnion y = DepMapUnion $ + Map.unionWith unionVersionRanges' x y + +unionVersionRanges' + :: (VersionRange, NonEmptySet LibraryName) + -> (VersionRange, NonEmptySet LibraryName) + -> (VersionRange, NonEmptySet LibraryName) +unionVersionRanges' (vr, cs) (vr', cs') = (unionVersionRanges vr vr', cs <> cs') toDepMapUnion :: [Dependency] -> DepMapUnion toDepMapUnion ds = DepMapUnion $ Map.fromListWith unionVersionRanges' [ (p,(vr,cs)) | Dependency p vr cs <- ds ] + fromDepMapUnion :: DepMapUnion -> [Dependency] fromDepMapUnion m = [ Dependency p vr cs | (p,(vr,cs)) <- Map.toList (unDepMapUnion m) ] diff --git a/Cabal/Distribution/Parsec.hs b/Cabal/Distribution/Parsec.hs index b7f53fc901c..a3601823585 100644 --- a/Cabal/Distribution/Parsec.hs +++ b/Cabal/Distribution/Parsec.hs @@ -39,6 +39,7 @@ module Distribution.Parsec ( parsecQuoted, parsecMaybeQuoted, parsecCommaList, + parsecCommaNonEmpty, parsecLeadingCommaList, parsecLeadingCommaNonEmpty, parsecOptCommaList, @@ -293,6 +294,9 @@ parsecStandard f = do parsecCommaList :: CabalParsing m => m a -> m [a] parsecCommaList p = P.sepBy (p <* P.spaces) (P.char ',' *> P.spaces P. "comma") +parsecCommaNonEmpty :: CabalParsing m => m a -> m (NonEmpty a) +parsecCommaNonEmpty p = P.sepByNonEmpty (p <* P.spaces) (P.char ',' *> P.spaces P. "comma") + -- | Like 'parsecCommaList' but accept leading or trailing comma. -- -- @ diff --git a/Cabal/Distribution/Simple/Build.hs b/Cabal/Distribution/Simple/Build.hs index f92affc0fd9..eb891a7d288 100644 --- a/Cabal/Distribution/Simple/Build.hs +++ b/Cabal/Distribution/Simple/Build.hs @@ -549,7 +549,7 @@ testSuiteLibV09AsLibAndExe pkg_descr testLibDep = Dependency pkgName' (thisVersion $ pkgVersion $ package pkg_descr) - (Set.singleton LMainLibName) + mainLibSet exe = Executable { exeName = mkUnqualComponentName $ stubName test, modulePath = stubFilePath test, diff --git a/Cabal/Distribution/Simple/Configure.hs b/Cabal/Distribution/Simple/Configure.hs index 7c93c3b4696..3f7b53f61ce 100644 --- a/Cabal/Distribution/Simple/Configure.hs +++ b/Cabal/Distribution/Simple/Configure.hs @@ -146,7 +146,7 @@ import Text.PrettyPrint import Distribution.Compat.Environment ( lookupEnv ) import Distribution.Compat.Exception ( catchExit, catchIO ) -import qualified Data.Set as Set +import qualified Distribution.Compat.NonEmptySet as NonEmptySet type UseExternalInternalDeps = Bool @@ -936,7 +936,7 @@ dependencySatisfiable then True else -- Backward compatibility for the old sublibrary syntax - (sublibs == Set.singleton LMainLibName + (sublibs == mainLibSet && Map.member (pn, CLibName $ LSubLibName $ packageNameToUnqualComponentName depName) @@ -1291,10 +1291,10 @@ selectDependency pkgid internalIndex installedIndex requiredDepsMap case Map.lookup dep_pkgname internalIndex of Just cname -> if use_external_internal_deps - then do_external (Just $ maybeToLibraryName cname) <$> Set.toList libs + then do_external (Just $ maybeToLibraryName cname) <$> NonEmptySet.toList libs else do_internal _ -> - do_external Nothing <$> Set.toList libs + do_external Nothing <$> NonEmptySet.toList libs where -- It's an internal library, and we're not per-component build diff --git a/Cabal/Distribution/Types/Dependency.hs b/Cabal/Distribution/Types/Dependency.hs index b6dbf542a39..2e4a115d25e 100644 --- a/Cabal/Distribution/Types/Dependency.hs +++ b/Cabal/Distribution/Types/Dependency.hs @@ -7,14 +7,14 @@ module Distribution.Types.Dependency , depVerRange , depLibraries , simplifyDependency + , mainLibSet ) where import Distribution.Compat.Prelude import Prelude () -import Distribution.Version - (VersionRange, anyVersion, simplifyVersionRange ) import Distribution.Types.VersionRange (isAnyVersionLight) +import Distribution.Version (VersionRange, anyVersion, simplifyVersionRange) import Distribution.CabalSpecVersion import Distribution.Compat.CharParsing (char, spaces) @@ -26,8 +26,8 @@ import Distribution.Types.PackageName import Distribution.Types.UnqualComponentName import Text.PrettyPrint ((<+>)) -import qualified Data.Set as Set -import qualified Text.PrettyPrint as PP +import qualified Distribution.Compat.NonEmptySet as NonEmptySet +import qualified Text.PrettyPrint as PP -- | Describes a dependency on a source package (API) -- @@ -37,7 +37,7 @@ import qualified Text.PrettyPrint as PP data Dependency = Dependency PackageName VersionRange - (Set LibraryName) + (NonEmptySet LibraryName) -- ^ The set of libraries required from the package. -- Only the selected libraries will be built. -- It does not affect the cabal-install solver yet. @@ -49,7 +49,7 @@ depPkgName (Dependency pn _ _) = pn depVerRange :: Dependency -> VersionRange depVerRange (Dependency _ vr _) = vr -depLibraries :: Dependency -> Set LibraryName +depLibraries :: Dependency -> NonEmptySet LibraryName depLibraries (Dependency _ _ cs) = cs -- | Smart constructor of 'Dependency'. @@ -59,8 +59,8 @@ depLibraries (Dependency _ _ cs) = cs -- -- @since 3.4.0.0 -- -mkDependency :: PackageName -> VersionRange -> Set LibraryName -> Dependency -mkDependency pn vr lb = Dependency pn vr (Set.map conv lb) +mkDependency :: PackageName -> VersionRange -> NonEmptySet LibraryName -> Dependency +mkDependency pn vr lb = Dependency pn vr (NonEmptySet.map conv lb) where pn' = packageNameToUnqualComponentName pn @@ -80,10 +80,10 @@ instance Pretty Dependency where | otherwise = pretty ver withSubLibs doc - | sublibs == mainLib = doc + | sublibs == mainLibSet = doc | otherwise = doc <<>> PP.colon <<>> PP.braces prettySublibs - prettySublibs = PP.hsep $ PP.punctuate PP.comma $ prettySublib <$> Set.toList sublibs + prettySublibs = PP.hsep $ PP.punctuate PP.comma $ prettySublib <$> NonEmptySet.toList sublibs prettySublib LMainLibName = PP.text $ unPackageName name prettySublib (LSubLibName un) = PP.text $ unUnqualComponentName un @@ -91,24 +91,24 @@ instance Pretty Dependency where -- | -- -- >>> simpleParsec "mylib:sub" :: Maybe Dependency --- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromList [LSubLibName (UnqualComponentName "sub")])) +-- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromNonEmpty (LSubLibName (UnqualComponentName "sub") :| []))) -- -- >>> simpleParsec "mylib:{sub1,sub2}" :: Maybe Dependency --- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromList [LSubLibName (UnqualComponentName "sub1"),LSubLibName (UnqualComponentName "sub2")])) +-- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromNonEmpty (LSubLibName (UnqualComponentName "sub1") :| [LSubLibName (UnqualComponentName "sub2")]))) -- -- >>> simpleParsec "mylib:{ sub1 , sub2 }" :: Maybe Dependency --- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromList [LSubLibName (UnqualComponentName "sub1"),LSubLibName (UnqualComponentName "sub2")])) +-- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromNonEmpty (LSubLibName (UnqualComponentName "sub1") :| [LSubLibName (UnqualComponentName "sub2")]))) -- -- >>> simpleParsec "mylib:{ sub1 , sub2 } ^>= 42" :: Maybe Dependency --- Just (Dependency (PackageName "mylib") (MajorBoundVersion (mkVersion [42])) (fromList [LSubLibName (UnqualComponentName "sub1"),LSubLibName (UnqualComponentName "sub2")])) +-- Just (Dependency (PackageName "mylib") (MajorBoundVersion (mkVersion [42])) (fromNonEmpty (LSubLibName (UnqualComponentName "sub1") :| [LSubLibName (UnqualComponentName "sub2")]))) -- -- >>> simpleParsec "mylib:{ } ^>= 42" :: Maybe Dependency --- Just (Dependency (PackageName "mylib") (MajorBoundVersion (mkVersion [42])) (fromList [])) +-- Nothing -- -- >>> traverse_ print (map simpleParsec ["mylib:mylib", "mylib:{mylib}", "mylib:{mylib,sublib}" ] :: [Maybe Dependency]) --- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromList [LMainLibName])) --- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromList [LMainLibName])) --- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromList [LMainLibName,LSubLibName (UnqualComponentName "sublib")])) +-- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromNonEmpty (LMainLibName :| []))) +-- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromNonEmpty (LMainLibName :| []))) +-- Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromNonEmpty (LMainLibName :| [LSubLibName (UnqualComponentName "sublib")]))) -- -- Spaces around colon are not allowed: -- @@ -118,17 +118,17 @@ instance Pretty Dependency where -- Sublibrary syntax is accepted since @cabal-version: 3.0@ -- -- >>> map (`simpleParsec'` "mylib:sub") [CabalSpecV2_4, CabalSpecV3_0] :: [Maybe Dependency] --- [Nothing,Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromList [LSubLibName (UnqualComponentName "sub")]))] +-- [Nothing,Just (Dependency (PackageName "mylib") (OrLaterVersion (mkVersion [0])) (fromNonEmpty (LSubLibName (UnqualComponentName "sub") :| [])))] -- instance Parsec Dependency where parsec = do name <- parsec - libs <- option mainLib $ do + libs <- option mainLibSet $ do _ <- char ':' versionGuardMultilibs parsecWarning PWTExperimental "colon specifier is experimental feature (issue #5660)" - Set.singleton <$> parseLib <|> parseMultipleLibs + NonEmptySet.singleton <$> parseLib <|> parseMultipleLibs spaces -- https://github.com/haskell/cabal/issues/5846 @@ -139,7 +139,7 @@ instance Parsec Dependency where parseMultipleLibs = between (char '{' *> spaces) (spaces *> char '}') - (Set.fromList <$> parsecCommaList parseLib) + (NonEmptySet.fromNonEmpty <$> parsecCommaNonEmpty parseLib) versionGuardMultilibs :: CabalParsing m => m () versionGuardMultilibs = do @@ -152,8 +152,8 @@ versionGuardMultilibs = do ] -- | Library set with main library. -mainLib :: Set LibraryName -mainLib = Set.singleton LMainLibName +mainLibSet :: NonEmptySet LibraryName +mainLibSet = NonEmptySet.singleton LMainLibName -- | Simplify the 'VersionRange' expression in a 'Dependency'. -- See 'simplifyVersionRange'. diff --git a/Cabal/Distribution/Types/DependencyMap.hs b/Cabal/Distribution/Types/DependencyMap.hs index 4c01818b5e4..3e89b8ffd04 100644 --- a/Cabal/Distribution/Types/DependencyMap.hs +++ b/Cabal/Distribution/Types/DependencyMap.hs @@ -17,7 +17,7 @@ import qualified Data.Map.Lazy as Map -- | A map of dependencies. Newtyped since the default monoid instance is not -- appropriate. The monoid instance uses 'intersectVersionRanges'. -newtype DependencyMap = DependencyMap { unDependencyMap :: Map PackageName (VersionRange, Set LibraryName) } +newtype DependencyMap = DependencyMap { unDependencyMap :: Map PackageName (VersionRange, NonEmptySet LibraryName) } deriving (Show, Read) instance Monoid DependencyMap where @@ -28,9 +28,9 @@ instance Semigroup DependencyMap where (DependencyMap a) <> (DependencyMap b) = DependencyMap (Map.unionWith intersectVersionRangesAndJoinComponents a b) -intersectVersionRangesAndJoinComponents :: (VersionRange, Set LibraryName) - -> (VersionRange, Set LibraryName) - -> (VersionRange, Set LibraryName) +intersectVersionRangesAndJoinComponents :: (VersionRange, NonEmptySet LibraryName) + -> (VersionRange, NonEmptySet LibraryName) + -> (VersionRange, NonEmptySet LibraryName) intersectVersionRangesAndJoinComponents (va, ca) (vb, cb) = (intersectVersionRanges va vb, ca <> cb) diff --git a/Cabal/Distribution/Types/PackageVersionConstraint.hs b/Cabal/Distribution/Types/PackageVersionConstraint.hs index 6723a9665b9..0f3e8b72329 100644 --- a/Cabal/Distribution/Types/PackageVersionConstraint.hs +++ b/Cabal/Distribution/Types/PackageVersionConstraint.hs @@ -3,6 +3,7 @@ module Distribution.Types.PackageVersionConstraint ( PackageVersionConstraint(..), thisPackageVersionConstraint, + simplifyPackageVersionConstraint, ) where import Distribution.Compat.Prelude @@ -10,10 +11,11 @@ import Prelude () import Distribution.Parsec import Distribution.Pretty -import Distribution.Types.PackageName import Distribution.Types.PackageId +import Distribution.Types.PackageName import Distribution.Types.Version import Distribution.Types.VersionRange.Internal +import Distribution.Version (simplifyVersionRange) import qualified Distribution.Compat.CharParsing as P import Text.PrettyPrint ((<+>)) @@ -66,3 +68,7 @@ instance Parsec PackageVersionConstraint where thisPackageVersionConstraint :: PackageIdentifier -> PackageVersionConstraint thisPackageVersionConstraint (PackageIdentifier pn vr) = PackageVersionConstraint pn (thisVersion vr) + +simplifyPackageVersionConstraint :: PackageVersionConstraint -> PackageVersionConstraint +simplifyPackageVersionConstraint (PackageVersionConstraint pn vr) = + PackageVersionConstraint pn (simplifyVersionRange vr) diff --git a/Cabal/Distribution/Utils/MD5.hs b/Cabal/Distribution/Utils/MD5.hs index da34959317e..323fbc05023 100644 --- a/Cabal/Distribution/Utils/MD5.hs +++ b/Cabal/Distribution/Utils/MD5.hs @@ -2,6 +2,8 @@ module Distribution.Utils.MD5 ( MD5, showMD5, md5, + -- * Helpers + md5FromInteger, -- * Binary binaryPutMD5, binaryGetMD5, @@ -10,6 +12,7 @@ module Distribution.Utils.MD5 ( import Data.Binary (Get, Put) import Data.Binary.Get (getWord64le) import Data.Binary.Put (putWord64le) +import Data.Bits (complement, shiftR, (.&.)) import Foreign.Ptr (castPtr) import GHC.Fingerprint (Fingerprint (..), fingerprintData) import Numeric (showHex) @@ -52,3 +55,25 @@ binaryGetMD5 = do a <- getWord64le b <- getWord64le return (Fingerprint a b) + +-- | +-- +-- >>> showMD5 $ md5FromInteger 0x37eff01866ba3f538421b30b7cbefcac +-- "37eff01866ba3f538421b30b7cbefcac" +-- +-- Note: the input is truncated: +-- +-- >>> showMD5 $ md5FromInteger 0x1230000037eff01866ba3f538421b30b7cbefcac +-- "37eff01866ba3f538421b30b7cbefcac" +-- +-- Yet, negative numbers are not a problem... +-- +-- >>> showMD5 $ md5FromInteger (-1) +-- "ffffffffffffffffffffffffffffffff" +-- +-- @since 3.4.0.0 +md5FromInteger :: Integer -> MD5 +md5FromInteger i = Fingerprint hi lo where + mask = complement 0 + lo = mask .&. fromInteger i + hi = mask .&. fromInteger (i `shiftR` 64) diff --git a/Cabal/tests/ParserTests/regressions/Octree-0.5.expr b/Cabal/tests/ParserTests/regressions/Octree-0.5.expr index 551853cfe5e..bc734f304b1 100644 --- a/Cabal/tests/ParserTests/regressions/Octree-0.5.expr +++ b/Cabal/tests/ParserTests/regressions/Octree-0.5.expr @@ -10,15 +10,15 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 0])) (EarlierVersion (mkVersion [4, 7]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "AC-Vector") (OrLaterVersion (mkVersion [2, 3, 0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") (OrLaterVersion (mkVersion [2, 4, 0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Data.Octree"], libBuildInfo = BuildInfo @@ -75,24 +75,21 @@ GenericPackageDescription (EarlierVersion (mkVersion [4, 7]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "AC-Vector") (OrLaterVersion (mkVersion [2, 3, 0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") (OrLaterVersion (mkVersion [2, 4, 0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -109,15 +106,15 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 0])) (EarlierVersion (mkVersion [4, 7]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "AC-Vector") (OrLaterVersion (mkVersion [2, 3, 0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") (OrLaterVersion (mkVersion [2, 4, 0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -176,8 +173,7 @@ GenericPackageDescription (mkVersion [4, 7]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "AC-Vector") @@ -186,8 +182,7 @@ GenericPackageDescription [2, 3, 0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") @@ -196,8 +191,7 @@ GenericPackageDescription [2, 4, 0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) @@ -212,19 +206,19 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 0])) (EarlierVersion (mkVersion [4, 7]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "AC-Vector") (OrLaterVersion (mkVersion [2, 3, 0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") (OrLaterVersion (mkVersion [2, 4, 0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "markdown-unlit") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -286,8 +280,7 @@ GenericPackageDescription (mkVersion [4, 7]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "AC-Vector") @@ -296,8 +289,7 @@ GenericPackageDescription [2, 3, 0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") @@ -306,16 +298,14 @@ GenericPackageDescription [2, 4, 0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "markdown-unlit") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "README.lhs", diff --git a/Cabal/tests/ParserTests/regressions/anynone.expr b/Cabal/tests/ParserTests/regressions/anynone.expr index 596ba8b4551..a2bef24f55f 100644 --- a/Cabal/tests/ParserTests/regressions/anynone.expr +++ b/Cabal/tests/ParserTests/regressions/anynone.expr @@ -8,7 +8,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "AnyNone"], libBuildInfo = BuildInfo @@ -59,8 +59,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/common-conditional.expr b/Cabal/tests/ParserTests/regressions/common-conditional.expr index e32de8b5f1c..d4320b2bb6a 100644 --- a/Cabal/tests/ParserTests/regressions/common-conditional.expr +++ b/Cabal/tests/ParserTests/regressions/common-conditional.expr @@ -19,8 +19,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -79,8 +78,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -99,16 +97,14 @@ GenericPackageDescription (mkVersion [4, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -173,16 +169,14 @@ GenericPackageDescription (mkVersion [4, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -192,7 +186,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "ghc-prim") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf"], libBuildInfo = BuildInfo @@ -243,8 +237,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -336,8 +329,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -395,8 +387,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteUnsupported (TestTypeUnknown @@ -416,8 +407,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -475,8 +465,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteUnsupported (TestTypeUnknown @@ -497,16 +486,14 @@ GenericPackageDescription (mkVersion [4, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -570,16 +557,14 @@ GenericPackageDescription (mkVersion [4, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteUnsupported (TestTypeUnknown @@ -591,7 +576,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "HUnit") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -644,8 +629,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "Tests.hs", diff --git a/Cabal/tests/ParserTests/regressions/common.expr b/Cabal/tests/ParserTests/regressions/common.expr index fd01c6b74c8..6a9f0775cd5 100644 --- a/Cabal/tests/ParserTests/regressions/common.expr +++ b/Cabal/tests/ParserTests/regressions/common.expr @@ -8,7 +8,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "ghc-prim") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf"], libBuildInfo = BuildInfo @@ -59,8 +59,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -75,7 +74,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "HUnit") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -128,8 +127,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "Tests.hs", diff --git a/Cabal/tests/ParserTests/regressions/common2.expr b/Cabal/tests/ParserTests/regressions/common2.expr index 352fbe0afca..910d988eaaa 100644 --- a/Cabal/tests/ParserTests/regressions/common2.expr +++ b/Cabal/tests/ParserTests/regressions/common2.expr @@ -15,8 +15,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -75,8 +74,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -88,15 +86,15 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 10])) (EarlierVersion (mkVersion [4, 11]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc-prim") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf"], libBuildInfo = BuildInfo @@ -152,24 +150,21 @@ GenericPackageDescription (mkVersion [4, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc-prim") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -190,8 +185,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -250,8 +244,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LSubLibName @@ -265,15 +258,15 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 10])) (EarlierVersion (mkVersion [4, 11]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc-prim") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf2"], libBuildInfo = BuildInfo @@ -333,24 +326,21 @@ GenericPackageDescription (mkVersion [4, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc-prim") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LSubLibName @@ -372,8 +362,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -431,8 +420,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteUnsupported (TestTypeUnknown @@ -452,8 +440,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -511,8 +498,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteUnsupported (TestTypeUnknown @@ -592,15 +578,15 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 10])) (EarlierVersion (mkVersion [4, 11]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "HUnit") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -659,24 +645,21 @@ GenericPackageDescription (mkVersion [4, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "HUnit") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "Tests.hs", diff --git a/Cabal/tests/ParserTests/regressions/common3.expr b/Cabal/tests/ParserTests/regressions/common3.expr index f1bafbf14d1..b992101f09f 100644 --- a/Cabal/tests/ParserTests/regressions/common3.expr +++ b/Cabal/tests/ParserTests/regressions/common3.expr @@ -8,7 +8,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "ghc-prim") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf"], libBuildInfo = BuildInfo @@ -59,8 +59,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -77,15 +76,15 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 10])) (EarlierVersion (mkVersion [4, 11]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "HUnit") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -144,24 +143,21 @@ GenericPackageDescription (mkVersion [4, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "HUnit") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "Tests.hs", diff --git a/Cabal/tests/ParserTests/regressions/elif.expr b/Cabal/tests/ParserTests/regressions/elif.expr index 502a7012143..2e5d560ba0c 100644 --- a/Cabal/tests/ParserTests/regressions/elif.expr +++ b/Cabal/tests/ParserTests/regressions/elif.expr @@ -15,8 +15,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -75,8 +74,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/elif2.expr b/Cabal/tests/ParserTests/regressions/elif2.expr index eae40a4eae7..82c44eb45c8 100644 --- a/Cabal/tests/ParserTests/regressions/elif2.expr +++ b/Cabal/tests/ParserTests/regressions/elif2.expr @@ -81,8 +81,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -141,8 +140,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -217,8 +215,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -277,8 +274,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/encoding-0.8.expr b/Cabal/tests/ParserTests/regressions/encoding-0.8.expr index b82093f5232..3e9595d99f7 100644 --- a/Cabal/tests/ParserTests/regressions/encoding-0.8.expr +++ b/Cabal/tests/ParserTests/regressions/encoding-0.8.expr @@ -10,7 +10,7 @@ GenericPackageDescription (UnionVersionRanges (LaterVersion (mkVersion [4, 4])) (ThisVersion (mkVersion [4, 4]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Data.Encoding"], libBuildInfo = BuildInfo @@ -71,8 +71,7 @@ GenericPackageDescription (ThisVersion (mkVersion [4, 4]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -114,11 +113,11 @@ GenericPackageDescription setupDepends = [Dependency (PackageName "base") (EarlierVersion (mkVersion [5])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc-prim") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])]}, + mainLibSet]}, sourceRepos = [], specVersion = CabalSpecV1_12, stability = "", diff --git a/Cabal/tests/ParserTests/regressions/generics-sop.expr b/Cabal/tests/ParserTests/regressions/generics-sop.expr index f8bda78fd0f..0a5c481ac0c 100644 --- a/Cabal/tests/ParserTests/regressions/generics-sop.expr +++ b/Cabal/tests/ParserTests/regressions/generics-sop.expr @@ -21,8 +21,7 @@ GenericPackageDescription (mkVersion [0, 9]))) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -87,8 +86,7 @@ GenericPackageDescription (mkVersion [0, 9]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -112,8 +110,7 @@ GenericPackageDescription (mkVersion [0, 6]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") @@ -126,8 +123,7 @@ GenericPackageDescription (mkVersion [0, 6]))) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -192,8 +188,7 @@ GenericPackageDescription (mkVersion [0, 6]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") @@ -206,8 +201,7 @@ GenericPackageDescription (mkVersion [0, 6]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -351,25 +345,25 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 7])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "template-haskell") (IntersectVersionRanges (OrLaterVersion (mkVersion [2, 8])) (EarlierVersion (mkVersion [2, 13]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc-prim") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 3])) (EarlierVersion (mkVersion [0, 6]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (IntersectVersionRanges (OrLaterVersion (mkVersion [1, 3])) (EarlierVersion (mkVersion [1, 5]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Generics.SOP", ModuleName "Generics.SOP.GGP", @@ -482,8 +476,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [5]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "template-haskell") @@ -495,8 +488,7 @@ GenericPackageDescription (mkVersion [2, 13]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc-prim") @@ -507,8 +499,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [0, 6]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") @@ -519,8 +510,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [1, 5]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -535,13 +525,13 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "doctest") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 13])) (EarlierVersion (mkVersion [0, 14]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -598,8 +588,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "doctest") @@ -612,8 +601,7 @@ GenericPackageDescription (mkVersion [0, 14]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "doctests.hs", @@ -627,11 +615,11 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 6])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "generics-sop") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -691,16 +679,14 @@ GenericPackageDescription (EarlierVersion (mkVersion [5]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "generics-sop") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "Example.hs", @@ -764,11 +750,11 @@ GenericPackageDescription setupDepends = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "Cabal") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "cabal-doctest") (IntersectVersionRanges @@ -776,7 +762,7 @@ GenericPackageDescription (mkVersion [1, 0, 2])) (EarlierVersion (mkVersion [1, 1]))) - (Set.fromList [LMainLibName])]}, + mainLibSet]}, sourceRepos = [SourceRepo {repoBranch = Nothing, repoKind = RepoHead, diff --git a/Cabal/tests/ParserTests/regressions/hidden-main-lib.expr b/Cabal/tests/ParserTests/regressions/hidden-main-lib.expr index c75fa40d46e..9ebf8601a03 100644 --- a/Cabal/tests/ParserTests/regressions/hidden-main-lib.expr +++ b/Cabal/tests/ParserTests/regressions/hidden-main-lib.expr @@ -8,7 +8,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf"], libBuildInfo = BuildInfo @@ -59,8 +59,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/issue-5055.expr b/Cabal/tests/ParserTests/regressions/issue-5055.expr index 1ce785c1247..5d422d43161 100644 --- a/Cabal/tests/ParserTests/regressions/issue-5055.expr +++ b/Cabal/tests/ParserTests/regressions/issue-5055.expr @@ -9,7 +9,7 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 8])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -64,8 +64,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [5]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "flag-test-exe", exeScope = ExecutablePublic, @@ -147,7 +146,7 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 8])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -205,8 +204,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [5]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "SecondMain.hs", diff --git a/Cabal/tests/ParserTests/regressions/issue-5846.expr b/Cabal/tests/ParserTests/regressions/issue-5846.expr index 827244b2c22..62c7873a92d 100644 --- a/Cabal/tests/ParserTests/regressions/issue-5846.expr +++ b/Cabal/tests/ParserTests/regressions/issue-5846.expr @@ -8,25 +8,29 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "lib1") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LSubLibName (UnqualComponentName "a"), - LSubLibName (UnqualComponentName "b")]), + (NonEmptySet.fromNonEmpty + (NE.fromList + [LSubLibName (UnqualComponentName "a"), + LSubLibName (UnqualComponentName "b")])), Dependency (PackageName "lib2") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LSubLibName (UnqualComponentName "c")]), + (NonEmptySet.fromNonEmpty + (NE.fromList + [LSubLibName (UnqualComponentName "c")])), Dependency (PackageName "lib3") (OrLaterVersion (mkVersion [1])) - (Set.fromList - [LSubLibName (UnqualComponentName "d")]), + (NonEmptySet.fromNonEmpty + (NE.fromList + [LSubLibName (UnqualComponentName "d")])), Dependency (PackageName "lib4") (OrLaterVersion (mkVersion [1])) - (Set.fromList - [LSubLibName (UnqualComponentName "a"), - LSubLibName (UnqualComponentName "b")])], + (NonEmptySet.fromNonEmpty + (NE.fromList + [LSubLibName (UnqualComponentName "a"), + LSubLibName (UnqualComponentName "b")]))], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -77,46 +81,50 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LSubLibName - (UnqualComponentName - "a"), - LSubLibName - (UnqualComponentName - "b")]), + (NonEmptySet.fromNonEmpty + (NE.fromList + [LSubLibName + (UnqualComponentName + "a"), + LSubLibName + (UnqualComponentName + "b")])), Dependency (PackageName "lib2") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LSubLibName - (UnqualComponentName - "c")]), + (NonEmptySet.fromNonEmpty + (NE.fromList + [LSubLibName + (UnqualComponentName + "c")])), Dependency (PackageName "lib3") (OrLaterVersion (mkVersion [1])) - (Set.fromList - [LSubLibName - (UnqualComponentName - "d")]), + (NonEmptySet.fromNonEmpty + (NE.fromList + [LSubLibName + (UnqualComponentName + "d")])), Dependency (PackageName "lib4") (OrLaterVersion (mkVersion [1])) - (Set.fromList - [LSubLibName - (UnqualComponentName - "a"), - LSubLibName - (UnqualComponentName - "b")])], + (NonEmptySet.fromNonEmpty + (NE.fromList + [LSubLibName + (UnqualComponentName + "a"), + LSubLibName + (UnqualComponentName + "b")]))], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr b/Cabal/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr index b226642cb52..46316d6ff1c 100644 --- a/Cabal/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr +++ b/Cabal/tests/ParserTests/regressions/issue-6083-pkg-pkg.expr @@ -8,11 +8,11 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "freetype") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "freetype") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -63,16 +63,14 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "freetype") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/jaeger-flamegraph.expr b/Cabal/tests/ParserTests/regressions/jaeger-flamegraph.expr index c5086c5ced0..179815c87f9 100644 --- a/Cabal/tests/ParserTests/regressions/jaeger-flamegraph.expr +++ b/Cabal/tests/ParserTests/regressions/jaeger-flamegraph.expr @@ -10,35 +10,35 @@ GenericPackageDescription (MajorBoundVersion (mkVersion [4, 11, 1, 0])) (MajorBoundVersion (mkVersion [4, 12, 0, 0]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "jaeger-flamegraph") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (MajorBoundVersion (mkVersion [0, 10, 8, 2])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (MajorBoundVersion (mkVersion [0, 6, 0, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "extra") (MajorBoundVersion (mkVersion [1, 6, 13])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "aeson") (MajorBoundVersion (mkVersion [1, 4, 1, 0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "optparse-applicative") (MajorBoundVersion (mkVersion [0, 14, 3, 0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "text") (MajorBoundVersion (mkVersion [1, 2, 3, 1])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -102,16 +102,14 @@ GenericPackageDescription 12, 0, 0]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "jaeger-flamegraph") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") @@ -121,8 +119,7 @@ GenericPackageDescription 10, 8, 2])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") @@ -132,8 +129,7 @@ GenericPackageDescription 6, 0, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "extra") @@ -142,8 +138,7 @@ GenericPackageDescription [1, 6, 13])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "aeson") @@ -153,8 +148,7 @@ GenericPackageDescription 4, 1, 0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "optparse-applicative") @@ -164,8 +158,7 @@ GenericPackageDescription 14, 3, 0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "text") @@ -175,8 +168,7 @@ GenericPackageDescription 2, 3, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "jaeger-flamegraph", exeScope = ExecutablePublic, @@ -190,11 +182,11 @@ GenericPackageDescription (UnionVersionRanges (MajorBoundVersion (mkVersion [4, 11, 1, 0])) (MajorBoundVersion (mkVersion [4, 12, 0, 0]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") (MajorBoundVersion (mkVersion [2, 12, 6, 1])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Interval"], libBuildInfo = BuildInfo @@ -258,8 +250,7 @@ GenericPackageDescription 12, 0, 0]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") @@ -269,8 +260,7 @@ GenericPackageDescription 12, 6, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -287,23 +277,23 @@ GenericPackageDescription (UnionVersionRanges (MajorBoundVersion (mkVersion [4, 11, 1, 0])) (MajorBoundVersion (mkVersion [4, 12, 0, 0]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "jaeger-flamegraph") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "tasty") (MajorBoundVersion (mkVersion [1, 1, 0, 4])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "tasty-hspec") (MajorBoundVersion (mkVersion [1, 1, 5])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "tasty-quickcheck") (MajorBoundVersion (mkVersion [0, 10])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -380,16 +370,14 @@ GenericPackageDescription 12, 0, 0]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "jaeger-flamegraph") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "tasty") @@ -399,8 +387,7 @@ GenericPackageDescription 1, 0, 4])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "tasty-hspec") @@ -409,8 +396,7 @@ GenericPackageDescription [1, 1, 5])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "tasty-quickcheck") @@ -418,8 +404,7 @@ GenericPackageDescription (mkVersion [0, 10])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "Driver.hs", diff --git a/Cabal/tests/ParserTests/regressions/leading-comma-2.expr b/Cabal/tests/ParserTests/regressions/leading-comma-2.expr index 58ed74452e5..5ac5c358b9e 100644 --- a/Cabal/tests/ParserTests/regressions/leading-comma-2.expr +++ b/Cabal/tests/ParserTests/regressions/leading-comma-2.expr @@ -8,27 +8,27 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "LeadingComma", ModuleName "LeadingComma2", @@ -86,48 +86,42 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/leading-comma.expr b/Cabal/tests/ParserTests/regressions/leading-comma.expr index fa6aadbd15e..a48271ab3dc 100644 --- a/Cabal/tests/ParserTests/regressions/leading-comma.expr +++ b/Cabal/tests/ParserTests/regressions/leading-comma.expr @@ -8,27 +8,27 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "LeadingComma"], libBuildInfo = BuildInfo @@ -79,48 +79,42 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/libpq1.expr b/Cabal/tests/ParserTests/regressions/libpq1.expr index 36692e4f48c..94fc94e0753 100644 --- a/Cabal/tests/ParserTests/regressions/libpq1.expr +++ b/Cabal/tests/ParserTests/regressions/libpq1.expr @@ -23,8 +23,7 @@ GenericPackageDescription (mkVersion [2, 8]))) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -91,8 +90,7 @@ GenericPackageDescription (mkVersion [2, 8]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -118,8 +116,7 @@ GenericPackageDescription (mkVersion [2, 7]))) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -186,8 +183,7 @@ GenericPackageDescription (mkVersion [2, 7]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -526,13 +522,13 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 3])) (EarlierVersion (mkVersion [4, 13]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 9, 1, 0])) (EarlierVersion (mkVersion [0, 11]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Database.PostgreSQL.LibPQ", ModuleName @@ -593,8 +589,7 @@ GenericPackageDescription (mkVersion [4, 13]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") @@ -609,8 +604,7 @@ GenericPackageDescription (mkVersion [0, 11]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -667,7 +661,7 @@ GenericPackageDescription (mkVersion [4, 3])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "Cabal") (IntersectVersionRanges @@ -675,7 +669,7 @@ GenericPackageDescription (mkVersion [1, 10])) (EarlierVersion (mkVersion [2, 5]))) - (Set.fromList [LMainLibName])]}, + mainLibSet]}, sourceRepos = [], specVersion = CabalSpecV1_8, stability = "", diff --git a/Cabal/tests/ParserTests/regressions/libpq2.expr b/Cabal/tests/ParserTests/regressions/libpq2.expr index dd073b6db87..b6882e00c9b 100644 --- a/Cabal/tests/ParserTests/regressions/libpq2.expr +++ b/Cabal/tests/ParserTests/regressions/libpq2.expr @@ -23,8 +23,7 @@ GenericPackageDescription (mkVersion [2, 8]))) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -91,8 +90,7 @@ GenericPackageDescription (mkVersion [2, 8]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -118,8 +116,7 @@ GenericPackageDescription (mkVersion [2, 7]))) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -186,8 +183,7 @@ GenericPackageDescription (mkVersion [2, 7]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -522,13 +518,13 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 3])) (EarlierVersion (mkVersion [4, 13]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 9, 1, 0])) (EarlierVersion (mkVersion [0, 11]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Database.PostgreSQL.LibPQ", ModuleName @@ -593,8 +589,7 @@ GenericPackageDescription (mkVersion [4, 13]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") @@ -609,8 +604,7 @@ GenericPackageDescription (mkVersion [0, 11]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -668,7 +662,7 @@ GenericPackageDescription (mkVersion [4, 3])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "Cabal") (IntersectVersionRanges @@ -676,7 +670,7 @@ GenericPackageDescription (mkVersion [1, 10])) (EarlierVersion (mkVersion [2, 5]))) - (Set.fromList [LMainLibName])]}, + mainLibSet]}, sourceRepos = [], specVersion = CabalSpecV3_0, stability = "", diff --git a/Cabal/tests/ParserTests/regressions/mixin-1.expr b/Cabal/tests/ParserTests/regressions/mixin-1.expr index 1949564b767..9e350ff2173 100644 --- a/Cabal/tests/ParserTests/regressions/mixin-1.expr +++ b/Cabal/tests/ParserTests/regressions/mixin-1.expr @@ -7,15 +7,15 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "str-string") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "str-bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -86,24 +86,21 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "str-string") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "str-bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "str-example", exeScope = ExecutablePublic, diff --git a/Cabal/tests/ParserTests/regressions/mixin-2.expr b/Cabal/tests/ParserTests/regressions/mixin-2.expr index 9148402162d..afade09f0c7 100644 --- a/Cabal/tests/ParserTests/regressions/mixin-2.expr +++ b/Cabal/tests/ParserTests/regressions/mixin-2.expr @@ -7,15 +7,15 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "str-string") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "str-bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -86,24 +86,21 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "str-string") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "str-bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "str-example", exeScope = ExecutablePublic, diff --git a/Cabal/tests/ParserTests/regressions/mixin-3.expr b/Cabal/tests/ParserTests/regressions/mixin-3.expr index 9f5d11ebc7d..cb590f069a8 100644 --- a/Cabal/tests/ParserTests/regressions/mixin-3.expr +++ b/Cabal/tests/ParserTests/regressions/mixin-3.expr @@ -7,15 +7,15 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "str-string") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "str-bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -72,24 +72,21 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "str-string") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "str-bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "str-example", exeScope = ExecutablePublic, diff --git a/Cabal/tests/ParserTests/regressions/monad-param.expr b/Cabal/tests/ParserTests/regressions/monad-param.expr index dbffa5e6bcb..4667db1c99b 100644 --- a/Cabal/tests/ParserTests/regressions/monad-param.expr +++ b/Cabal/tests/ParserTests/regressions/monad-param.expr @@ -8,15 +8,15 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "mtl") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "stm") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Control.Monad.Parameterized"], libBuildInfo = BuildInfo @@ -82,24 +82,21 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "mtl") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "stm") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/multiple-libs-2.expr b/Cabal/tests/ParserTests/regressions/multiple-libs-2.expr index 08d24e6b97c..d383e9d51d3 100644 --- a/Cabal/tests/ParserTests/regressions/multiple-libs-2.expr +++ b/Cabal/tests/ParserTests/regressions/multiple-libs-2.expr @@ -8,7 +8,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf"], libBuildInfo = BuildInfo @@ -59,8 +59,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -74,7 +73,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf2"], libBuildInfo = BuildInfo @@ -128,8 +127,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LSubLibName (UnqualComponentName "public"), diff --git a/Cabal/tests/ParserTests/regressions/noVersion.expr b/Cabal/tests/ParserTests/regressions/noVersion.expr index 61f921f9519..aae902b1eb3 100644 --- a/Cabal/tests/ParserTests/regressions/noVersion.expr +++ b/Cabal/tests/ParserTests/regressions/noVersion.expr @@ -8,7 +8,7 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "bad-package") (EarlierVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "ElseIf"], libBuildInfo = BuildInfo @@ -59,8 +59,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/shake.expr b/Cabal/tests/ParserTests/regressions/shake.expr index b412c690acd..f063e1ff7b9 100644 --- a/Cabal/tests/ParserTests/regressions/shake.expr +++ b/Cabal/tests/ParserTests/regressions/shake.expr @@ -84,8 +84,7 @@ GenericPackageDescription [2, 5, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -145,8 +144,7 @@ GenericPackageDescription [2, 5, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "shake", @@ -222,8 +220,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -281,8 +278,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "shake", @@ -357,8 +353,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -416,8 +411,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "shake", @@ -428,71 +422,71 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "hashable") (OrLaterVersion (mkVersion [1, 1, 2, 3])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "binary") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "process") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "unordered-containers") (OrLaterVersion (mkVersion [0, 2, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "utf8-string") (OrLaterVersion (mkVersion [0, 3])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "time") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "random") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "js-jquery") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "js-flot") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0, 2])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "extra") (OrLaterVersion (mkVersion [1, 4, 8])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "primitive") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -658,16 +652,14 @@ GenericPackageDescription (EarlierVersion (mkVersion [5]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "hashable") @@ -677,32 +669,28 @@ GenericPackageDescription 1, 2, 3])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "binary") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "process") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "unordered-containers") @@ -711,64 +699,56 @@ GenericPackageDescription [0, 2, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "utf8-string") (OrLaterVersion (mkVersion [0, 3])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "time") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "random") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "js-jquery") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "js-flot") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0, 2])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "extra") @@ -777,24 +757,21 @@ GenericPackageDescription [1, 4, 8])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "primitive") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "shake", exeScope = ExecutablePublic, @@ -819,8 +796,7 @@ GenericPackageDescription [2, 5, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -881,8 +857,7 @@ GenericPackageDescription [2, 5, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -961,8 +936,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -1021,8 +995,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -1100,8 +1073,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -1160,8 +1132,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -1171,67 +1142,67 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [4, 5])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "hashable") (OrLaterVersion (mkVersion [1, 1, 2, 3])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "binary") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "process") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "unordered-containers") (OrLaterVersion (mkVersion [0, 2, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "utf8-string") (OrLaterVersion (mkVersion [0, 3])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "time") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "random") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "js-jquery") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "js-flot") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0, 2])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "extra") (OrLaterVersion (mkVersion [1, 4, 8])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Development.Shake", ModuleName "Development.Shake.Classes", @@ -1371,16 +1342,14 @@ GenericPackageDescription (OrLaterVersion (mkVersion [4, 5])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "hashable") @@ -1390,112 +1359,98 @@ GenericPackageDescription 1, 2, 3])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "binary") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "process") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "unordered-containers") (OrLaterVersion (mkVersion [0, 2, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "utf8-string") (OrLaterVersion (mkVersion [0, 3])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "time") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "random") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "js-jquery") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "js-flot") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0, 2])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "extra") (OrLaterVersion (mkVersion [1, 4, 8])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -1655,8 +1610,7 @@ GenericPackageDescription [2, 5, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -1716,8 +1670,7 @@ GenericPackageDescription [2, 5, 1])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteUnsupported (TestTypeUnknown @@ -1799,8 +1752,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -1858,8 +1810,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteUnsupported (TestTypeUnknown @@ -1940,8 +1891,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -1999,8 +1949,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteUnsupported (TestTypeUnknown @@ -2014,71 +1963,71 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "hashable") (OrLaterVersion (mkVersion [1, 1, 2, 3])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "binary") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "process") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "unordered-containers") (OrLaterVersion (mkVersion [0, 2, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "utf8-string") (OrLaterVersion (mkVersion [0, 3])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "time") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "random") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "js-jquery") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "js-flot") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") (OrLaterVersion (mkVersion [0, 2])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") (OrLaterVersion (mkVersion [1, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "extra") (OrLaterVersion (mkVersion [1, 4, 8])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") (OrLaterVersion (mkVersion [2, 0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -2328,16 +2277,14 @@ GenericPackageDescription (EarlierVersion (mkVersion [5]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "hashable") @@ -2347,24 +2294,21 @@ GenericPackageDescription 1, 2, 3])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "binary") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "process") @@ -2372,8 +2316,7 @@ GenericPackageDescription (mkVersion [1, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "unordered-containers") @@ -2382,16 +2325,14 @@ GenericPackageDescription [0, 2, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "utf8-string") @@ -2399,40 +2340,35 @@ GenericPackageDescription (mkVersion [0, 3])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "time") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "random") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "js-jquery") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "js-flot") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "transformers") @@ -2440,8 +2376,7 @@ GenericPackageDescription (mkVersion [0, 2])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "deepseq") @@ -2449,8 +2384,7 @@ GenericPackageDescription (mkVersion [1, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "extra") @@ -2459,8 +2393,7 @@ GenericPackageDescription [1, 4, 8])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") @@ -2468,8 +2401,7 @@ GenericPackageDescription (mkVersion [2, 0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "Test.hs", diff --git a/Cabal/tests/ParserTests/regressions/th-lift-instances.expr b/Cabal/tests/ParserTests/regressions/th-lift-instances.expr index 72a61734a74..1760b591549 100644 --- a/Cabal/tests/ParserTests/regressions/th-lift-instances.expr +++ b/Cabal/tests/ParserTests/regressions/th-lift-instances.expr @@ -10,39 +10,39 @@ GenericPackageDescription (IntersectVersionRanges (OrLaterVersion (mkVersion [4, 4])) (EarlierVersion (mkVersion [5]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "template-haskell") (EarlierVersion (mkVersion [2, 10])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "th-lift") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 4])) (EarlierVersion (mkVersion [0, 6]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "vector") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 9])) (EarlierVersion (mkVersion [0, 11]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "text") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 11])) (EarlierVersion (mkVersion [1, 3]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 9])) (EarlierVersion (mkVersion [0, 11]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Instances.TH.Lift"], libBuildInfo = BuildInfo @@ -99,24 +99,21 @@ GenericPackageDescription (EarlierVersion (mkVersion [5]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "template-haskell") (EarlierVersion (mkVersion [2, 10])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "th-lift") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") @@ -127,8 +124,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [0, 6]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "vector") @@ -140,8 +136,7 @@ GenericPackageDescription (mkVersion [0, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "text") @@ -152,8 +147,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [1, 3]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") @@ -165,8 +159,7 @@ GenericPackageDescription (mkVersion [0, 11]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, @@ -181,45 +174,45 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "template-haskell") (EarlierVersion (mkVersion [2, 10])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 4])) (EarlierVersion (mkVersion [0, 6]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "vector") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 9])) (EarlierVersion (mkVersion [0, 11]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "text") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 11])) (EarlierVersion (mkVersion [1, 2]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") (IntersectVersionRanges (OrLaterVersion (mkVersion [0, 9])) (EarlierVersion (mkVersion [0, 11]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "th-lift-instances") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") (IntersectVersionRanges (OrLaterVersion (mkVersion [2, 6])) (EarlierVersion (mkVersion [2, 8]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -273,8 +266,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "template-haskell") @@ -282,8 +274,7 @@ GenericPackageDescription (mkVersion [2, 10])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "containers") @@ -296,8 +287,7 @@ GenericPackageDescription (mkVersion [0, 6]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "vector") @@ -310,8 +300,7 @@ GenericPackageDescription (mkVersion [0, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "text") @@ -324,8 +313,7 @@ GenericPackageDescription (mkVersion [1, 2]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "bytestring") @@ -338,16 +326,14 @@ GenericPackageDescription (mkVersion [0, 11]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "th-lift-instances") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "QuickCheck") @@ -360,8 +346,7 @@ GenericPackageDescription (mkVersion [2, 8]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "Main.hs", @@ -438,19 +423,19 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") (OrLaterVersion (mkVersion [1, 0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "doctest") (OrLaterVersion (mkVersion [0, 9, 1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = TestSuite {testBuildInfo = BuildInfo {asmOptions = [], @@ -505,8 +490,7 @@ GenericPackageDescription (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "directory") @@ -514,8 +498,7 @@ GenericPackageDescription (mkVersion [1, 0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "doctest") @@ -524,16 +507,14 @@ GenericPackageDescription [0, 9, 1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "filepath") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, testInterface = TestSuiteExeV10 (mkVersion [1, 0]) "doctests.hs", diff --git a/Cabal/tests/ParserTests/regressions/version-sets.expr b/Cabal/tests/ParserTests/regressions/version-sets.expr index 2c5fb194c0d..8a513edd991 100644 --- a/Cabal/tests/ParserTests/regressions/version-sets.expr +++ b/Cabal/tests/ParserTests/regressions/version-sets.expr @@ -8,31 +8,31 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "network") (MajorBoundVersion (mkVersion [0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "base") (ThisVersion (mkVersion [1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "base") (ThisVersion (mkVersion [1])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "base") (UnionVersionRanges (ThisVersion (mkVersion [1])) (ThisVersion (mkVersion [2]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "base") (ThisVersion (mkVersion [1, 2])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "base") (UnionVersionRanges (ThisVersion (mkVersion [1, 2])) (ThisVersion (mkVersion [3, 4]))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc") (UnionVersionRanges @@ -52,13 +52,13 @@ GenericPackageDescription (mkVersion [7, 6, 3])) (ThisVersion (mkVersion [7, 4, 2]))))))))) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "Cabal") (UnionVersionRanges (MajorBoundVersion (mkVersion [2, 4, 1, 1])) (MajorBoundVersion (mkVersion [2, 2, 0, 0]))) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [], libBuildInfo = BuildInfo @@ -109,24 +109,21 @@ GenericPackageDescription (MajorBoundVersion (mkVersion [0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "base") (ThisVersion (mkVersion [1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "base") (ThisVersion (mkVersion [1])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "base") @@ -137,16 +134,14 @@ GenericPackageDescription (ThisVersion (mkVersion [2]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "base") (ThisVersion (mkVersion [1, 2])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "base") @@ -157,8 +152,7 @@ GenericPackageDescription (ThisVersion (mkVersion [3, 4]))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "ghc") @@ -209,8 +203,7 @@ GenericPackageDescription [7, 4, 2]))))))))) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "Cabal") @@ -227,8 +220,7 @@ GenericPackageDescription 2, 0, 0]))) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/ParserTests/regressions/wl-pprint-indef.expr b/Cabal/tests/ParserTests/regressions/wl-pprint-indef.expr index c83da7a01d9..c5e72f5a1be 100644 --- a/Cabal/tests/ParserTests/regressions/wl-pprint-indef.expr +++ b/Cabal/tests/ParserTests/regressions/wl-pprint-indef.expr @@ -7,15 +7,15 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (EarlierVersion (mkVersion [5])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "str-string") (OrLaterVersion (mkVersion [0, 1, 0, 0])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "wl-pprint-indef") (OrLaterVersion (mkVersion [0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Executable {buildInfo = BuildInfo {asmOptions = [], @@ -66,8 +66,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [5])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "str-string") @@ -77,16 +76,14 @@ GenericPackageDescription 1, 0, 0])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "wl-pprint-indef") (OrLaterVersion (mkVersion [0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, exeName = UnqualComponentName "wl-pprint-string-example", @@ -99,11 +96,11 @@ GenericPackageDescription condTreeConstraints = [Dependency (PackageName "base") (EarlierVersion (mkVersion [5])) - (Set.fromList [LMainLibName]), + mainLibSet, Dependency (PackageName "str-sig") (OrLaterVersion (mkVersion [0, 1, 0, 0])) - (Set.fromList [LMainLibName])], + mainLibSet], condTreeData = Library {exposedModules = [ModuleName "Text.PrettyPrint.Leijen"], libBuildInfo = BuildInfo @@ -154,8 +151,7 @@ GenericPackageDescription (EarlierVersion (mkVersion [5])) - (Set.fromList - [LMainLibName]), + mainLibSet, Dependency (PackageName "str-sig") @@ -165,8 +161,7 @@ GenericPackageDescription 1, 0, 0])) - (Set.fromList - [LMainLibName])], + mainLibSet], virtualModules = []}, libExposed = True, libName = LMainLibName, diff --git a/Cabal/tests/UnitTests/Distribution/Utils/Structured.hs b/Cabal/tests/UnitTests/Distribution/Utils/Structured.hs index c873143f1ec..419d9203b71 100644 --- a/Cabal/tests/UnitTests/Distribution/Utils/Structured.hs +++ b/Cabal/tests/UnitTests/Distribution/Utils/Structured.hs @@ -2,8 +2,8 @@ module UnitTests.Distribution.Utils.Structured (tests) where import Data.Proxy (Proxy (..)) +import Distribution.Utils.MD5 (md5FromInteger) import Distribution.Utils.Structured (structureHash) -import GHC.Fingerprint (Fingerprint (..)) import Test.Tasty (TestTree, testGroup) import Test.Tasty.HUnit (testCase, (@?=)) @@ -20,11 +20,11 @@ import UnitTests.Orphans () tests :: TestTree tests = testGroup "Distribution.Utils.Structured" -- This test also verifies that structureHash doesn't loop. - [ testCase "VersionRange" $ structureHash (Proxy :: Proxy VersionRange) @?= Fingerprint 0x39396fc4f2d751aa 0xa1f94e6d843f03bd - , testCase "SPDX.License" $ structureHash (Proxy :: Proxy License) @?= Fingerprint 0xd3d4a09f517f9f75 0xbc3d16370d5a853a + [ testCase "VersionRange" $ structureHash (Proxy :: Proxy VersionRange) @?= md5FromInteger 0x39396fc4f2d751aaa1f94e6d843f03bd + , testCase "SPDX.License" $ structureHash (Proxy :: Proxy License) @?= md5FromInteger 0xd3d4a09f517f9f75bc3d16370d5a853a -- The difference is in encoding of newtypes #if MIN_VERSION_base(4,7,0) - , testCase "GenericPackageDescription" $ structureHash (Proxy :: Proxy GenericPackageDescription) @?= Fingerprint 0xcaf11323731bfb4a 0xdfda6dfccb716a3f - , testCase "LocalBuildInfo" $ structureHash (Proxy :: Proxy LocalBuildInfo) @?= Fingerprint 0x5a476529cf81643a 0x874574ad4ae0adbf + , testCase "GenericPackageDescription" $ structureHash (Proxy :: Proxy GenericPackageDescription) @?= md5FromInteger 0xf85c3579a0c9396821086624821832d8 + , testCase "LocalBuildInfo" $ structureHash (Proxy :: Proxy LocalBuildInfo) @?= md5FromInteger 0xadb15a4ec2ab6f1c967683f9195c69ec #endif ] diff --git a/Makefile b/Makefile index 77fad985f21..2b257930649 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,9 @@ exe : $(LEXER_HS) lib-ghc-7.6 : $(CABALBUILD) --project-file=cabal.project.libonly --with-compiler=ghc-7.6.3 Cabal:libs +lib-ghc-7.8 : + $(CABALBUILD) --project-file=cabal.project.libonly --with-compiler=ghc-7.8.4 Cabal:libs + # source generation: Lexer LEXER_HS:=Cabal/Distribution/Fields/Lexer.hs diff --git a/cabal-install/Distribution/Client/CmdRepl.hs b/cabal-install/Distribution/Client/CmdRepl.hs index a4b9f750ec4..d907b9bf66b 100644 --- a/cabal-install/Distribution/Client/CmdRepl.hs +++ b/cabal-install/Distribution/Client/CmdRepl.hs @@ -72,11 +72,9 @@ import Distribution.Types.ComponentName import Distribution.Types.CondTree ( CondTree(..), traverseCondTreeC ) import Distribution.Types.Dependency - ( Dependency(..) ) + ( Dependency(..), mainLibSet ) import Distribution.Types.GenericPackageDescription ( emptyGenericPackageDescription ) -import Distribution.Types.LibraryName - ( LibraryName(..) ) import Distribution.Types.PackageDescription ( PackageDescription(..), emptyPackageDescription ) import Distribution.Types.PackageName.Magic @@ -387,7 +385,7 @@ withoutProject config verbosity extraArgs = do { targetBuildDepends = [baseDep] , defaultLanguage = Just Haskell2010 } - baseDep = Dependency "base" anyVersion (Set.singleton LMainLibName) + baseDep = Dependency "base" anyVersion mainLibSet pkgId = fakePackageId writeGenericPackageDescription (tempDir "fake-package.cabal") genericPackageDescription diff --git a/cabal-install/Distribution/Client/Dependency.hs b/cabal-install/Distribution/Client/Dependency.hs index 3b8da413a60..e7efaab9bd0 100644 --- a/cabal-install/Distribution/Client/Dependency.hs +++ b/cabal-install/Distribution/Client/Dependency.hs @@ -658,8 +658,7 @@ standardInstallPolicy installedPkgIndex sourcePkgDb pkgSpecifiers -- Force Cabal >= 1.24 dep when the package is affected by #3199. mkDefaultSetupDeps :: UnresolvedSourcePackage -> Maybe [Dependency] mkDefaultSetupDeps srcpkg | affected = - Just [Dependency (mkPackageName "Cabal") - (orLaterVersion $ mkVersion [1,24]) (Set.singleton PD.LMainLibName)] + Just [Dependency (mkPackageName "Cabal") (orLaterVersion $ mkVersion [1,24]) mainLibSet] | otherwise = Nothing where gpkgdesc = packageDescription srcpkg diff --git a/cabal-install/Distribution/Client/Init/Command.hs b/cabal-install/Distribution/Client/Init/Command.hs index 9ff88fe43f7..12b4dd60799 100644 --- a/cabal-install/Distribution/Client/Init/Command.hs +++ b/cabal-install/Distribution/Client/Init/Command.hs @@ -35,7 +35,6 @@ import qualified Data.List.NonEmpty as NE import Data.Function ( on ) import qualified Data.Map as M -import qualified Data.Set as Set import Control.Monad ( (>=>), join, mapM ) import Control.Arrow @@ -54,8 +53,6 @@ import Distribution.InstalledPackageInfo ( InstalledPackageInfo, exposed ) import qualified Distribution.Package as P import qualified Distribution.SPDX as SPDX -import Distribution.Types.LibraryName - ( LibraryName(..) ) import Language.Haskell.Extension ( Language(..) ) import Distribution.Client.Init.Defaults @@ -698,14 +695,14 @@ chooseDep flags (m, Just ps) toDep :: NonEmpty P.PackageIdentifier -> IO P.Dependency -- If only one version, easy. We change e.g. 0.4.2 into 0.4.* - toDep (pid:|[]) = return $ P.Dependency (P.pkgName pid) (pvpize desugar . P.pkgVersion $ pid) (Set.singleton LMainLibName) --TODO sublibraries + toDep (pid:|[]) = return $ P.Dependency (P.pkgName pid) (pvpize desugar . P.pkgVersion $ pid) P.mainLibSet --TODO sublibraries -- Otherwise, choose the latest version and issue a warning. toDep pids = do message flags ("\nWarning: multiple versions of " ++ prettyShow (P.pkgName . NE.head $ pids) ++ " provide " ++ prettyShow m ++ ", choosing the latest.") return $ P.Dependency (P.pkgName . NE.head $ pids) (pvpize desugar . maximum . fmap P.pkgVersion $ pids) - (Set.singleton LMainLibName) --TODO take into account sublibraries + P.mainLibSet --TODO take into account sublibraries -- | Given a version, return an API-compatible (according to PVP) version range. -- diff --git a/cabal-install/Distribution/Client/Init/FileCreators.hs b/cabal-install/Distribution/Client/Init/FileCreators.hs index d3a4cf1835f..963428174cf 100644 --- a/cabal-install/Distribution/Client/Init/FileCreators.hs +++ b/cabal-install/Distribution/Client/Init/FileCreators.hs @@ -34,12 +34,8 @@ import Distribution.Client.Compat.Prelude hiding (empty) import System.FilePath ( (), (<.>), takeExtension ) -import qualified Data.Set as Set - -import Distribution.Pretty (Pretty, pretty) +import Distribution.Pretty (Pretty, pretty, prettyShow) import Distribution.Types.Dependency -import Distribution.Types.LibraryName - ( LibraryName(LMainLibName) ) import Distribution.Types.VersionRange @@ -84,8 +80,6 @@ import Distribution.Simple.Utils ( toUTF8BS ) import Distribution.Fields.Pretty ( PrettyField(..), showFields' ) -import Distribution.Pretty - ( prettyShow ) import qualified Distribution.SPDX as SPDX @@ -481,7 +475,7 @@ generateCabalFile fileName c = myLibDep = if exposedModules c' == Just [myLibModule] && buildType == ExecBuild then case packageName c' of Flag pkgName -> - [mkDependency pkgName anyVersion (Set.singleton LMainLibName)] + [mkDependency pkgName anyVersion mainLibSet] _ -> [] else [] diff --git a/cabal-install/Distribution/Client/Install.hs b/cabal-install/Distribution/Client/Install.hs index 88bde492c90..32c7843644a 100644 --- a/cabal-install/Distribution/Client/Install.hs +++ b/cabal-install/Distribution/Client/Install.hs @@ -35,7 +35,6 @@ import Distribution.Utils.Generic(safeLast) import qualified Data.List.NonEmpty as NE import qualified Data.Map as Map -import qualified Data.Set as Set import Control.Exception as Exception ( Exception(toException), bracket, catches , Handler(Handler), handleJust, IOException, SomeException ) @@ -142,8 +141,7 @@ import Distribution.Package , Package(..), HasMungedPackageId(..), HasUnitId(..) , UnitId ) import Distribution.Types.Dependency - ( Dependency (..) ) -import Distribution.Types.LibraryName (LibraryName (..)) + ( Dependency (..), mainLibSet ) import Distribution.Types.GivenComponent ( GivenComponent(..) ) import Distribution.Pretty ( prettyShow ) @@ -832,7 +830,7 @@ postInstallActions verbosity unless oneShot $ World.insert verbosity worldFile --FIXME: does not handle flags - [ World.WorldPkgInfo (Dependency pn vr (Set.singleton LMainLibName)) mempty + [ World.WorldPkgInfo (Dependency pn vr mainLibSet) mempty | UserTargetNamed (PackageVersionConstraint pn vr) <- targets ] let buildReports = BuildReports.fromInstallPlan platform (compilerId comp) diff --git a/cabal-install/Distribution/Client/Outdated.hs b/cabal-install/Distribution/Client/Outdated.hs index 55bd3fca0c4..10e0e6685eb 100644 --- a/cabal-install/Distribution/Client/Outdated.hs +++ b/cabal-install/Distribution/Client/Outdated.hs @@ -45,11 +45,11 @@ import Distribution.Types.Dependency import Distribution.Verbosity (Verbosity, silent) import Distribution.Version (Version, VersionRange, LowerBound(..), UpperBound(..) - ,asVersionIntervals, majorBoundVersion, simplifyVersionRange) + ,asVersionIntervals, majorBoundVersion) import Distribution.PackageDescription.Parsec (readGenericPackageDescription) import Distribution.Types.PackageVersionConstraint - (PackageVersionConstraint (..)) + (PackageVersionConstraint (..), simplifyPackageVersionConstraint) import qualified Data.Set as S import System.Directory (getCurrentDirectory) @@ -181,7 +181,7 @@ listOutdated :: [PackageVersionConstraint] -> ListOutdatedSettings -> [(PackageVersionConstraint, Version)] listOutdated deps pkgIndex (ListOutdatedSettings ignorePred minorPred) = - mapMaybe isOutdated $ map simplifyPVC deps + mapMaybe isOutdated $ map simplifyPackageVersionConstraint deps where isOutdated :: PackageVersionConstraint -> Maybe (PackageVersionConstraint, Version) isOutdated dep@(PackageVersionConstraint pname vr) @@ -214,7 +214,3 @@ listOutdated deps pkgIndex (ListOutdatedSettings ignorePred minorPred) = case upper of NoUpperBound -> vr UpperBound _v1 _ -> majorBoundVersion v0 - -simplifyPVC :: PackageVersionConstraint -> PackageVersionConstraint -simplifyPVC (PackageVersionConstraint pn vr) = - PackageVersionConstraint pn (simplifyVersionRange vr) diff --git a/cabal-install/Distribution/Client/ProjectPlanning.hs b/cabal-install/Distribution/Client/ProjectPlanning.hs index 62a0c65c0b8..f2621a9106d 100644 --- a/cabal-install/Distribution/Client/ProjectPlanning.hs +++ b/cabal-install/Distribution/Client/ProjectPlanning.hs @@ -3047,9 +3047,9 @@ defaultSetupDeps compiler platform pkg = -- of other packages. SetupCustomImplicitDeps -> Just $ - [ Dependency depPkgname anyVersion (Set.singleton LMainLibName) + [ Dependency depPkgname anyVersion mainLibSet | depPkgname <- legacyCustomSetupPkgs compiler platform ] ++ - [ Dependency cabalPkgname cabalConstraint (Set.singleton LMainLibName) + [ Dependency cabalPkgname cabalConstraint mainLibSet | packageName pkg /= cabalPkgname ] where -- The Cabal dep is slightly special: @@ -3072,8 +3072,8 @@ defaultSetupDeps compiler platform pkg = -- external Setup.hs, it'll be one of the simple ones that only depends -- on Cabal and base. SetupNonCustomExternalLib -> - Just [ Dependency cabalPkgname cabalConstraint (Set.singleton LMainLibName) - , Dependency basePkgname anyVersion (Set.singleton LMainLibName)] + Just [ Dependency cabalPkgname cabalConstraint mainLibSet + , Dependency basePkgname anyVersion mainLibSet] where cabalConstraint = orLaterVersion (csvToVersion (PD.specVersion pkg)) diff --git a/cabal-install/solver-dsl/UnitTests/Distribution/Solver/Modular/DSL.hs b/cabal-install/solver-dsl/UnitTests/Distribution/Solver/Modular/DSL.hs index 1697793ae28..ed1e7ec10bd 100644 --- a/cabal-install/solver-dsl/UnitTests/Distribution/Solver/Modular/DSL.hs +++ b/cabal-install/solver-dsl/UnitTests/Distribution/Solver/Modular/DSL.hs @@ -46,7 +46,6 @@ import Distribution.Utils.Generic import Control.Arrow (second) import Data.Either (partitionEithers) import qualified Data.Map as Map -import qualified Data.Set as Set -- Cabal import qualified Distribution.CabalSpecVersion as C @@ -552,7 +551,7 @@ exAvSrcPkg ex = } mkDirect :: (ExamplePkgName, C.VersionRange) -> C.Dependency - mkDirect (dep, vr) = C.Dependency (C.mkPackageName dep) vr (Set.singleton C.LMainLibName) + mkDirect (dep, vr) = C.Dependency (C.mkPackageName dep) vr C.mainLibSet mkFlagged :: (ExampleFlagName, Dependencies, Dependencies) -> DependencyComponent C.BuildInfo diff --git a/cabal-install/tests/UnitTests/Distribution/Client/Init/FileCreators.hs b/cabal-install/tests/UnitTests/Distribution/Client/Init/FileCreators.hs index 0548eba5f9c..1ef746f8b3d 100644 --- a/cabal-install/tests/UnitTests/Distribution/Client/Init/FileCreators.hs +++ b/cabal-install/tests/UnitTests/Distribution/Client/Init/FileCreators.hs @@ -12,7 +12,6 @@ import System.FilePath ( () ) import qualified Data.ByteString.Lazy as BS import qualified Data.ByteString.Lazy.Char8 as BS8 -import qualified Data.Set as Set import Distribution.Client.Init.Types ( InitFlags(..), PackageType(..), defaultInitFlags ) @@ -22,9 +21,7 @@ import Distribution.Simple.Setup import Distribution.CabalSpecVersion ( CabalSpecVersion(CabalSpecV2_4) ) import Distribution.Types.Dependency - ( Dependency, mkDependency ) -import Distribution.Types.LibraryName - ( LibraryName(LMainLibName) ) + ( Dependency, mkDependency, mainLibSet ) import Distribution.Types.PackageName ( mkPackageName ) import Distribution.Types.VersionRange @@ -175,13 +172,13 @@ testDependencies = [ mkDependency (mkPackageName "base") (majorBoundVersion (mkVersion [4,13,0,0])) - (Set.singleton LMainLibName) + mainLibSet , mkDependency (mkPackageName "containers") (majorBoundVersion (mkVersion [5,7,0,0])) - (Set.singleton LMainLibName) + mainLibSet , mkDependency (mkPackageName "unordered-containers") (majorBoundVersion (mkVersion [2,7,0,0])) - (Set.singleton LMainLibName) + mainLibSet ] diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/cabal.out b/cabal-testsuite/PackageTests/MultipleLibraries/cabal.out index 1cb30898b58..e65ff4bb627 100644 --- a/cabal-testsuite/PackageTests/MultipleLibraries/cabal.out +++ b/cabal-testsuite/PackageTests/MultipleLibraries/cabal.out @@ -11,4 +11,4 @@ Building library 'privatelib' for d-0.1.0.0.. Warning: p.cabal:6:20: colon specifier is experimental feature (issue #5660) Configuring library for p-0.1.0.0.. cabal: Encountered missing or private dependencies: - d:{privatelib} ==0.1.0.0 + d:{d, privatelib} ==0.1.0.0