Skip to content

Commit e2b7b85

Browse files
committed
refactor(cabal-install): separate GenericReadyPackage from ReadyPackage
1 parent 1023f44 commit e2b7b85

File tree

6 files changed

+42
-35
lines changed

6 files changed

+42
-35
lines changed

cabal-install/cabal-install.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ library
221221
Distribution.Client.Types.ConfiguredId
222222
Distribution.Client.Types.ConfiguredPackage
223223
Distribution.Client.Types.Credentials
224+
Distribution.Client.Types.GenericReadyPackage
224225
Distribution.Client.Types.InstallMethod
225226
Distribution.Client.Types.OverwritePolicy
226227
Distribution.Client.Types.PackageLocation

cabal-install/src/Distribution/Client/Configure.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ import Distribution.Client.Targets
5252
, userToPackageConstraint
5353
)
5454
import Distribution.Client.Types as Source
55-
55+
import Distribution.Client.Types.ReadyPackage (ReadyPackage)
5656
import qualified Distribution.Solver.Types.ComponentDeps as CD
5757
import Distribution.Solver.Types.ConstraintSource
5858
import Distribution.Solver.Types.LabeledPackageConstraint

cabal-install/src/Distribution/Client/Install.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ import Distribution.Client.Tar (extractTarGzFile)
126126
import Distribution.Client.Targets
127127
import Distribution.Client.Types as Source
128128
import Distribution.Client.Types.OverwritePolicy (OverwritePolicy (..))
129+
import Distribution.Client.Types.ReadyPackage (ReadyPackage)
129130
import qualified Distribution.Client.Win32SelfUpgrade as Win32SelfUpgrade
130131
import qualified Distribution.InstalledPackageInfo as Installed
131132
import Distribution.Solver.Types.PackageFixedDeps

cabal-install/src/Distribution/Client/Types.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module Distribution.Client.Types
2222
, module Distribution.Client.Types.BuildResults
2323
, module Distribution.Client.Types.PackageLocation
2424
, module Distribution.Client.Types.PackageSpecifier
25-
, module Distribution.Client.Types.ReadyPackage
25+
, module Distribution.Client.Types.GenericReadyPackage
2626
, module Distribution.Client.Types.Repo
2727
, module Distribution.Client.Types.RepoName
2828
, module Distribution.Client.Types.SourcePackageDb
@@ -33,9 +33,9 @@ import Distribution.Client.Types.AllowNewer
3333
import Distribution.Client.Types.BuildResults
3434
import Distribution.Client.Types.ConfiguredId
3535
import Distribution.Client.Types.ConfiguredPackage
36+
import Distribution.Client.Types.GenericReadyPackage
3637
import Distribution.Client.Types.PackageLocation
3738
import Distribution.Client.Types.PackageSpecifier
38-
import Distribution.Client.Types.ReadyPackage
3939
import Distribution.Client.Types.Repo
4040
import Distribution.Client.Types.RepoName
4141
import Distribution.Client.Types.SourcePackageDb
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{-# LANGUAGE DeriveGeneric #-}
2+
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
3+
{-# LANGUAGE TypeFamilies #-}
4+
5+
module Distribution.Client.Types.GenericReadyPackage
6+
( GenericReadyPackage (..)
7+
) where
8+
9+
import Distribution.Client.Compat.Prelude
10+
import Prelude ()
11+
12+
import Distribution.Compat.Graph (IsNode (..))
13+
import Distribution.Package (HasMungedPackageId, HasUnitId, Package, PackageInstalled)
14+
15+
import Distribution.Solver.Types.PackageFixedDeps
16+
17+
-- | Like 'ConfiguredPackage', but with all dependencies guaranteed to be
18+
-- installed already, hence itself ready to be installed.
19+
newtype GenericReadyPackage srcpkg = ReadyPackage srcpkg -- see 'ConfiguredPackage'.
20+
deriving
21+
( Eq
22+
, Show
23+
, Generic
24+
, Package
25+
, PackageFixedDeps
26+
, HasMungedPackageId
27+
, HasUnitId
28+
, PackageInstalled
29+
, Binary
30+
)
31+
32+
-- Can't newtype derive this
33+
instance IsNode srcpkg => IsNode (GenericReadyPackage srcpkg) where
34+
type Key (GenericReadyPackage srcpkg) = Key srcpkg
35+
nodeKey (ReadyPackage spkg) = nodeKey spkg
36+
nodeNeighbors (ReadyPackage spkg) = nodeNeighbors spkg
Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,10 @@
1-
{-# LANGUAGE DeriveGeneric #-}
2-
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
3-
{-# LANGUAGE TypeFamilies #-}
4-
51
module Distribution.Client.Types.ReadyPackage
62
( GenericReadyPackage (..)
73
, ReadyPackage
84
) where
95

10-
import Distribution.Client.Compat.Prelude
11-
import Prelude ()
12-
13-
import Distribution.Compat.Graph (IsNode (..))
14-
import Distribution.Package (HasMungedPackageId, HasUnitId, Package, PackageInstalled)
15-
166
import Distribution.Client.Types.ConfiguredPackage (ConfiguredPackage)
7+
import Distribution.Client.Types.GenericReadyPackage (GenericReadyPackage (..))
178
import Distribution.Client.Types.PackageLocation (UnresolvedPkgLoc)
18-
import Distribution.Solver.Types.PackageFixedDeps
19-
20-
-- | Like 'ConfiguredPackage', but with all dependencies guaranteed to be
21-
-- installed already, hence itself ready to be installed.
22-
newtype GenericReadyPackage srcpkg = ReadyPackage srcpkg -- see 'ConfiguredPackage'.
23-
deriving
24-
( Eq
25-
, Show
26-
, Generic
27-
, Package
28-
, PackageFixedDeps
29-
, HasMungedPackageId
30-
, HasUnitId
31-
, PackageInstalled
32-
, Binary
33-
)
34-
35-
-- Can't newtype derive this
36-
instance IsNode srcpkg => IsNode (GenericReadyPackage srcpkg) where
37-
type Key (GenericReadyPackage srcpkg) = Key srcpkg
38-
nodeKey (ReadyPackage spkg) = nodeKey spkg
39-
nodeNeighbors (ReadyPackage spkg) = nodeNeighbors spkg
409

4110
type ReadyPackage = GenericReadyPackage (ConfiguredPackage UnresolvedPkgLoc)

0 commit comments

Comments
 (0)