Ticket #668: lhc.dpatch

File lhc.dpatch, 9.2 KB (added by dmp, 3 years ago)
Line 
11 patch for repository http://darcs.haskell.org/cabal-branches/cabal-1.8:
2
3Thu Apr 29 14:29:15 CDT 2010  dmp@rice.edu
4  * Update the simple distribution for LHC
5 
6  This patch updates the simple LHC distribution. There are two changes.
7 
8  1) Change the hackRtsPackage to not fail with an error.
9  The hackRtsPackage function was previously throwing an error when
10  it found zero or more than one rts packages. The rts package is not
11  needed in lhc, so the error is now ignored. This change now matches the
12  behavior in the GHC distribution (Distribution/Simple/GHC.hs)
13 
14  2) Change the value passed to the odir for compiling C files.
15  The current code was doing a version check to catch a bug with GHC <
16  6.4. Since lhc is only version 0.9, it was also failing on the version
17  check and passing an incorrect value to odir. Changed to use the
18  correct value as with GHC > 6.4.
19 
20
21New patches:
22
23[Update the simple distribution for LHC
24dmp@rice.edu**20100429192915
25 Ignore-this: a2938423e54cb929710507c266cecce3
26 
27 This patch updates the simple LHC distribution. There are two changes.
28 
29 1) Change the hackRtsPackage to not fail with an error.
30 The hackRtsPackage function was previously throwing an error when
31 it found zero or more than one rts packages. The rts package is not
32 needed in lhc, so the error is now ignored. This change now matches the
33 behavior in the GHC distribution (Distribution/Simple/GHC.hs)
34 
35 2) Change the value passed to the odir for compiling C files.
36 The current code was doing a version check to catch a bug with GHC <
37 6.4. Since lhc is only version 0.9, it was also failing on the version
38 check and passing an incorrect value to odir. Changed to use the
39 correct value as with GHC > 6.4.
40 
41] {
42hunk ./Distribution/Simple/LHC.hs 254
43       case PackageIndex.lookupPackageName index (PackageName "rts") of
44         [(_,[rts])]
45            -> PackageIndex.insert (removeMingwIncludeDir rts) index
46-        _  -> error "No (or multiple) rts package is registered!!"
47+        _  -> index -- rts package not required for lhc
48 
49 checkPackageDbStack :: PackageDBStack -> IO ()
50 checkPackageDbStack (GlobalPackageDB:rest)
51hunk ./Distribution/Simple/LHC.hs 665
52 constructCcCmdLine :: LocalBuildInfo -> BuildInfo -> ComponentLocalBuildInfo
53                    -> FilePath -> FilePath -> Verbosity -> (FilePath,[String])
54 constructCcCmdLine lbi bi clbi pref filename verbosity
55-  =  let odir | compilerVersion (compiler lbi) >= Version [6,4,1] []  = pref
56-              | otherwise = pref </> takeDirectory filename
57-                        -- ghc 6.4.1 fixed a bug in -odir handling
58-                        -- for C compilations.
59+  -- lhc only works with GHC > 6.10, which it handles -odir for C properly
60+  =  let odir = pref
61      in
62         (odir,
63          ghcCcOptions lbi bi clbi odir
64}
65
66Context:
67
68[TAG 1.8.0.4
69Duncan Coutts <duncan@haskell.org>**20100331121116
70 Ignore-this: 7786aeb8500ba582e790bb83b9a4a49b
71]
72[Update changelog for 1.8.0.4
73Duncan Coutts <duncan@haskell.org>**20100331120004
74 Ignore-this: 93bc71d1364a83ac2f7d419a812695a1
75]
76[Bump version to 1.8.0.4
77Duncan Coutts <duncan@haskell.org>**20100331115230
78 Ignore-this: 24b1ed8671970519f09333aa372c690a
79]
80[Fix a duplicate import
81Ian Lynagh <igloo@earth.li>**20100325204420]
82[MERGE: Fix local inplace registration for ghc-6.12
83Duncan Coutts <duncan@haskell.org>**20100321110000
84 Ignore-this: 3f4ba5d7ae9658d119ca1319a7c2f787
85 Version of this patch for 1.8 branch that does not change external API.
86]
87[On windows, pick up ar.exe from the ghc install before looking on the $PATH
88Duncan Coutts <duncan@haskell.org>**20100320143643
89 Ignore-this: a3931cad3a8fd821a9b1ddd893db8c32
90 Some ar.exe versions floating around seem to have weird non-posix behaviour.
91]
92[Bump to 1.8.0.3
93Duncan Coutts <duncan@haskell.org>**20100320140930
94 Ignore-this: a6cc348410833a8b9cff92bdb0c82242
95 Intermediate version, the next release will be 1.8.0.4
96]
97[MERGED: Registering packages needs all the package dbs listed
98Duncan Coutts <duncan@haskell.org>**20100320135748
99 Ignore-this: 3ab3a5fcefa6c30a806790c370d25630
100 Special version for the 1.8 branch that does not change the external API
101 Duplicates some internal code instead.
102]
103[Cannot apply the registering packages fix in the 1.8 branch, it changes the API
104Duncan Coutts <duncan@haskell.org>**20100320095622
105 Ignore-this: e9f127f2526a6beedcc4fb133040d144
106 
107 rolling back:
108 
109 Fri Dec 11 13:32:33 GMT 2009  Duncan Coutts <duncan@haskell.org>
110   * Registering packages needs all the package dbs listed
111   Important for the case of registering inplace when we're using a
112   specific package db, e.g. when doing isolated builds.
113 
114     M ./Distribution/Simple/Build.hs -1 +2
115     M ./Distribution/Simple/Compiler.hs -1 +1
116     M ./Distribution/Simple/GHC.hs -9 +9
117     M ./Distribution/Simple/Program/HcPkg.hs -9 +23
118     M ./Distribution/Simple/Register.hs -21 +21
119]
120[Document the "manual" attribute of flags
121Ian Lynagh <igloo@earth.li>**20100317203744]
122[Tweak doc Makefile
123Ian Lynagh <igloo@earth.li>**20100317202418]
124[Registering packages needs all the package dbs listed
125Duncan Coutts <duncan@haskell.org>**20091211133233
126 Ignore-this: 249cc7ae1452bfa8e970f0ba24d4ff5f
127 Important for the case of registering inplace when we're using a
128 specific package db, e.g. when doing isolated builds.
129]
130[Tweak layout to work with alternative layout rule
131Ian Lynagh <igloo@earth.li>**20091129163614]
132[MERGED: Get the correct value of $topdir on Windows with GHC 6.12.1
133Ian Lynagh <igloo@earth.li>**20100204132938
134 Ian Lynagh <igloo@earth.li>**20091230204613
135 
136 This doesn't full merge the patch, as partly it changed an interface in
137 order to refactor.
138]
139[Fix mismatch between arch and os variables in D.S.InstallDirs interpolation
140Andrea Vezzosi <sanzhiyan@gmail.com>**20100119031642
141 Ignore-this: 3a66bd9771f294fc1f52be8824ca051b
142]
143[Revert the change to filter out deps of non-buildable components
144Duncan Coutts <duncan@haskell.org>**20091229222533
145 Ignore-this: 7f6f18997e28b843422d2c55a8bce302
146 It does not work as intended and gives inconsistent results between
147 cabal install and cabal configure. The problem with the approach was
148 that we were filtering out the dependencies of non-buildable components
149 at the end. But that does not help much since if one of the deps of
150 the non-buildable component were not available then we would have
151 failed earlier with a constraint failure. A proper solution would have
152 to tackle it from the beginning, not just as a filter at the end.
153 The meaning of build-depends and buildable: False needs more thought.
154]
155[Change preprocessModule to preprocessFile
156Duncan Coutts <duncan@haskell.org>**20091228190125
157 So we can stop pretending that "main-is: foo.hs" is a module name.
158 Also allows us to deprecate ModuleName.simple which bypasses the
159 ModuleName type invariant.
160]
161[Fix generating Paths_pkgname module with hugs
162Duncan Coutts <duncan@haskell.org>**20091228202618
163 In the case that the progsdir is not relative to the $prefix
164]
165[Fix priority of the two global hugs package dbs
166Duncan Coutts <duncan@haskell.org>**20091228024849]
167[Silence warning about unused paramater
168Duncan Coutts <duncan@haskell.org>**20091229211649]
169[Add parenthesis to macros in cabal_macros.h
170Antoine Latter <aslatter@gmail.com>**20091229023358
171 Ignore-this: 5c5e7244d10bcd82da2cbf4432b30a6d
172 Now this like "#if !MIN_VERSION_base(4,2,0)" will work
173]
174[Implement support for hugs and nhc98 package databases
175Duncan Coutts <duncan@haskell.org>**20091223233557
176 Ignore-this: aa12e2a278e89544ead82d7c8d3b325a
177 That is, work out which packages are installed for hugs and nhc98.
178 In both cases there is special support for the core packages.
179 In future both should use the standard method when they supply
180 proper installed package info files for the bundled libraries.
181]
182[Find the version of hugs
183Duncan Coutts <duncan@haskell.org>**20091222175415
184 This is really hard and rather nasty.
185]
186[Make the datadir follow the $prefix on Windows
187Duncan Coutts <duncan@haskell.org>**20091228165056
188 Ignore-this: ce33a328dbf2d1e419cf6e5047bff091
189 This is slightly experimental, we'll see how it goes. See ticket #466.
190]
191[Fixes for compiling Cabal with hugs
192Duncan Coutts <duncan@haskell.org>**20091223103916
193 Ignore-this: f49c719d33e3909996f391e80911c51c
194]
195[Make lack of language extensions an error not a warning
196Duncan Coutts <duncan@haskell.org>**20091216204505
197 Also improve the error message somewhat
198]
199[Make it so cabal passes the dylib-install-name when building dynamic libraries on Mac OS/X.
200Ian Lynagh <igloo@earth.li>**20091204144142
201 This is a rerecord of
202     Stephen Blackheath <oversensitive.pastors.stephen@blacksapphire.com>**20091001053101
203 to avoid conflicts.
204]
205[Switch a few distribution checks to build warnings
206Duncan Coutts <duncan@haskell.org>**20091202143549
207 Ignore-this: bbadf449113d009b51837bc1dd3488af
208 In particular the one about -prof since this leads to borked packages.
209]
210[Specify DOCTYPE when generating userguide html
211Duncan Coutts <duncan@haskell.org>**20091216035321
212 Ignore-this: 9d3b09e3c593a8d5f39b691ef2ceb377
213 Useless docbook tools.
214]
215[Note release number and date in changelog
216Duncan Coutts <duncan@haskell.org>**20091216031317
217 Ignore-this: b645542a479005d42ae7894602be83ca
218]
219[TAG Cabal 1.8.0.2 release
220Ian Lynagh <igloo@earth.li>**20091215124711]
221Patch bundle hash:
22208f3879a59709058b858f48220c88cc5a7deaf5f