patch applied (cabal): "Fix withComponentsLBI and move Components to LocalBuildInfo module" and 1 others
Duncan Coutts
duncan.coutts at googlemail.com
Fri Jul 8 03:40:27 CEST 2011
Thu Jul 7 18:21:22 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Fix withComponentsLBI and move Components to LocalBuildInfo module
An annoyance of the current Simple build system is that each phase
(build, install, etc) can be passed additional HookedBuildInfo which
gets merged into the PackageDescription. This means that we cannot
process the PackageDescription up front at configure time and just
store and reuse it later, we have to work from it each time afresh.
The recent addition of Components (libs, exes, test suites) and a
topoligical sort of the components in the LocalBuildInfo fell foul
of this annoyance. The LocalBuildInfo stored the entire component
which meant they were not updated with the HookedBuildInfo. This
broke packages with custom Setup.hs scripts that took advantage of
the HookedBuildInfo feature, including those with configure scripts.
The solution is to store not the list of whole components but the
list of component names. Then withComponentsLBI retrieves the actual
components from the PackageDescription which thus includes the
HookedBuildInfo.
Also moved the Components into an internal module because (for the
moment at least) it is part of the Simple build system, not part of
the package description.
M ./cabal/Distribution/PackageDescription.hs -39 +10
M ./cabal/Distribution/Simple/Build.hs -4 +4
M ./cabal/Distribution/Simple/Configure.hs -6 +9
M ./cabal/Distribution/Simple/Haddock.hs -4 +4
M ./cabal/Distribution/Simple/LocalBuildInfo.hs -50 +110
M ./cabal/Distribution/Simple/PreProcess.hs -4 +4
M ./cabal/Distribution/Simple/SrcDist.hs -1 +1
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal;a=darcs_commitdiff;h=20110708012122-5c91e-ee815e3234506614d50826d320ee9c377b28c30d.gz
Thu Jul 7 18:30:12 PDT 2011 Duncan Coutts <duncan at community.haskell.org>
* Couple of trivial code changes
M ./cabal/Distribution/Simple.hs -1
M ./cabal/Distribution/Simple/PreProcess.hs -5 +3
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=cabal;a=darcs_commitdiff;h=20110708013012-5c91e-12182fb54b09396697098ce63099a9912fe926a6.gz
More information about the cabal-devel
mailing list