diff --git a/cabal-install/Distribution/Client/ProjectPlanOutput.hs b/cabal-install/Distribution/Client/ProjectPlanOutput.hs index 06b0ac80adf..44ce17c364d 100644 --- a/cabal-install/Distribution/Client/ProjectPlanOutput.hs +++ b/cabal-install/Distribution/Client/ProjectPlanOutput.hs @@ -65,8 +65,7 @@ encodePlanAsJson elaboratedInstallPlan _elaboratedSharedConfig = J.object [ "type" J..= J.String "pre-existing" , "id" J..= jdisplay (installedUnitId ipi) - , "components" J..= J.object - [ "lib" J..= J.object [ "depends" J..= map jdisplay (installedDepends ipi) ] ] + , "depends" J..= map jdisplay (installedDepends ipi) ] -- pkg :: ElaboratedPackage @@ -75,11 +74,13 @@ encodePlanAsJson elaboratedInstallPlan _elaboratedSharedConfig = [ "type" J..= J.String "configured" , "id" J..= (jdisplay . installedUnitId) pkg , "components" J..= components + , "depends" J..= map (jdisplay . confInstId) flat_deps , "flags" J..= J.object [ fn J..= v | (PD.FlagName fn,v) <- pkgFlagAssignment pkg ] ] where + flat_deps = ordNub (ComponentDeps.flatDeps (pkgDependencies pkg)) components = J.object [ comp2str c J..= J.object [ "depends" J..= map (jdisplay . confInstId) v ] diff --git a/cabal-install/Distribution/Client/Types.hs b/cabal-install/Distribution/Client/Types.hs index d05c4e25396..756fea20b10 100644 --- a/cabal-install/Distribution/Client/Types.hs +++ b/cabal-install/Distribution/Client/Types.hs @@ -132,7 +132,7 @@ data ConfiguredId = ConfiguredId { confSrcId :: PackageId , confInstId :: ComponentId } - deriving (Eq, Generic) + deriving (Eq, Ord, Generic) instance Binary ConfiguredId