[GHC] #12052: Split ghc-boot so we have better dependency hygiene
GHC
ghc-devs at haskell.org
Thu May 12 19:55:27 UTC 2016
#12052: Split ghc-boot so we have better dependency hygiene
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: high | Milestone: 8.0.2
Component: Core Libraries | Version: 8.0.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by hvr):
It's not only `bytestring` `template-haskell` started to depend on:
In GHC 7.10.3 there were the following deps:
{{{
"template-haskell-2.10.0.0" -> "base-4.8.2.0"
"template-haskell-2.10.0.0" -> "pretty-1.1.2.0"
"pretty-1.1.2.0" -> "base-4.8.2.0"
"pretty-1.1.2.0" -> "deepseq-1.4.1.1"
"pretty-1.1.2.0" -> "ghc-prim-0.4.0.0"
"deepseq-1.4.1.1" -> "array-0.5.1.0"
"deepseq-1.4.1.1" -> "base-4.8.2.0"
}}}
whereas with GHC 8.0 we have now
{{{
"template-haskell-2.11.0.0" -> "base-4.9.0.0"
"template-haskell-2.11.0.0" -> "ghc-boot-8.0.0.20160511"
"template-haskell-2.11.0.0" -> "pretty-1.1.3.3"
"pretty-1.1.3.3" -> "base-4.9.0.0"
"pretty-1.1.3.3" -> "deepseq-1.4.2.0"
"pretty-1.1.3.3" -> "ghc-prim-0.5.0.0"
"deepseq-1.4.2.0" -> "array-0.5.1.1"
"deepseq-1.4.2.0" -> "base-4.9.0.0"
"ghc-boot-8.0.0.20160511" -> "base-4.9.0.0"
"ghc-boot-8.0.0.20160511" -> "binary-0.8.3.0"
"ghc-boot-8.0.0.20160511" -> "bytestring-0.10.8.0"
"ghc-boot-8.0.0.20160511" -> "directory-1.2.6.2"
"ghc-boot-8.0.0.20160511" -> "filepath-1.4.1.0"
"binary-0.8.3.0" -> "array-0.5.1.1"
"binary-0.8.3.0" -> "base-4.9.0.0"
"binary-0.8.3.0" -> "bytestring-0.10.8.0"
"binary-0.8.3.0" -> "containers-0.5.7.1"
"directory-1.2.6.2" -> "base-4.9.0.0"
"directory-1.2.6.2" -> "filepath-1.4.1.0"
"directory-1.2.6.2" -> "time-1.6.0.1"
"directory-1.2.6.2" -> "unix-2.7.2.0"
}}}
so effectively, `template-haskell` now transitively adds the following
dependencies (relative to GHC 7.10.3):
- `unix`
- `directory`
- `filepath`
- `containers`
- `bytestring`
- `binary`
this reduces a lot of flexibility from the cabal solver, and makes it
impossible to use newer versions of those packages (something I did
frequently in GHC 7.10.3) as soon as `template-haskell` enters install-
plans.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12052#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list