Ticket #525: issue-525.dpatch

File issue-525.dpatch, 73.0 KB (added by np, 4 years ago)

Patch bundle on top of cabal-1.6 (but commute nicely to cabal-HEAD)

Line 
1Tue Mar 17 11:15:45 CET 2009  Nicolas Pouillard <nicolas.pouillard@gmail.com>
2  * Avoid coping N executables N times (Ticket #525)
3
4Tue Mar 17 11:18:13 CET 2009  Nicolas Pouillard <nicolas.pouillard@gmail.com>
5  * Rename 'withExe' as 'withExes', export the old one as deprecated.
6
7Tue Mar 17 11:18:19 CET 2009  Nicolas Pouillard <nicolas.pouillard@gmail.com>
8  * Use 'hasLib' instead of 'withLib' in Install.
9
10New patches:
11
12[Avoid coping N executables N times (Ticket #525)
13Nicolas Pouillard <nicolas.pouillard@gmail.com>**20090317101545
14 Ignore-this: df195c1daed38005bca165df9a6da880
15] hunk ./Distribution/Simple/Install.hs 161
16   case compilerFlavor (compiler lbi) of
17      GHC  -> do withLib pkg_descr () $ \_ ->
18                   GHC.installLib flags lbi libPref dynlibPref buildPref pkg_descr
19-                withExe pkg_descr $ \_ ->
20+                when (hasExes pkg_descr) $
21                   GHC.installExe flags lbi installDirs pretendInstallDirs buildPref (progPrefixPref, progSuffixPref) pkg_descr
22      JHC  -> do withLib pkg_descr () $ JHC.installLib verbosity libPref buildPref pkg_descr
23                 withExe pkg_descr $ JHC.installExe verbosity binPref buildPref (progPrefixPref, progSuffixPref) pkg_descr
24[Rename 'withExe' as 'withExes', export the old one as deprecated.
25Nicolas Pouillard <nicolas.pouillard@gmail.com>**20090317101813
26 Ignore-this: 9e87e338c7b5b2e0b3df9828d81b3177
27] {
28replace ./Distribution/PackageDescription.hs [A-Za-z_0-9] withExe withExes
29hunk ./Distribution/PackageDescription.hs 70
30         Executable(..),
31         emptyExecutable,
32         withExes,
33+        withExe, -- DEPRECATED
34         hasExes,
35         exeModules,
36 
37hunk ./Distribution/PackageDescription.hs 311
38 withExes pkg_descr f =
39   sequence_ [f exe | exe <- executables pkg_descr, buildable (buildInfo exe)]
40 
41+{-# DEPRECATED withExe "Use withExes instead" #-}
42+-- | This function is now deprecated, use wihtExes instead.
43+withExe :: PackageDescription -> (Executable -> IO a) -> IO ()
44+withExe = withExes
45+
46 -- |Get all the module names from the exes in this package
47 exeModules :: PackageDescription -> [ModuleName]
48 exeModules PackageDescription{executables=execs}
49replace ./Distribution/Simple/GHC.hs [A-Za-z_0-9] withExe withExes
50replace ./Distribution/Simple/Haddock.hs [A-Za-z_0-9] withExe withExes
51replace ./Distribution/Simple/Hugs.hs [A-Za-z_0-9] withExe withExes
52replace ./Distribution/Simple/Install.hs [A-Za-z_0-9] withExe withExes
53replace ./Distribution/Simple/JHC.hs [A-Za-z_0-9] withExe withExes
54replace ./Distribution/Simple/NHC.hs [A-Za-z_0-9] withExe withExes
55replace ./Distribution/Simple/PreProcess.hs [A-Za-z_0-9] withExe withExes
56replace ./Distribution/Simple/SrcDist.hs [A-Za-z_0-9] withExe withExes
57}
58[Use 'hasLib' instead of 'withLib' in Install.
59Nicolas Pouillard <nicolas.pouillard@gmail.com>**20090317101819
60 Ignore-this: 820a063b84a8642030b01ac39be9c986
61] hunk ./Distribution/Simple/Install.hs 159
62   when (hasLibs pkg_descr) $ installIncludeFiles verbosity pkg_descr incPref
63 
64   case compilerFlavor (compiler lbi) of
65-     GHC  -> do withLib pkg_descr () $ \_ ->
66+     GHC  -> do when (hasLibs pkg_descr) $
67                   GHC.installLib flags lbi libPref dynlibPref buildPref pkg_descr
68                 when (hasExes pkg_descr) $
69                   GHC.installExe flags lbi installDirs pretendInstallDirs buildPref (progPrefixPref, progSuffixPref) pkg_descr
70
71Context:
72
73[TAG 1.6.0.2
74Duncan Coutts <duncan@haskell.org>**20090219021450]
75[Fix sdist so that it preserves executable permissions
76Duncan Coutts <duncan@haskell.org>**20090219020656
77 Needed for ./configure scripts etc.
78]
79[Compat fixes for ghc-6.4.x
80Duncan Coutts <duncan@haskell.org>**20090219004303]
81[Check for ghc-options: -threaded in libraries
82Duncan Coutts <duncan@haskell.org>**20090125161226
83 It's totally unnecessary and messes up profiling in older ghc versions.
84]
85[Validate the docbook xml before processing.
86Duncan Coutts <duncan@haskell.org>**20090213134136
87 Apparently xsltproc does not validate against the dtd.
88 This should stop errors creaping back in.
89]
90[Folly the directions for docbook-xsl
91Samuel Bronson <naesten@gmail.com>**20090213022615
92 As it says in http://docbook.sourceforge.net/release/xsl/current/README:
93 
94   - Use the base canonical URI in combination with one of the
95     pathnames below. For example, for "chunked" HTML, output:
96 
97     http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl
98 
99]
100[Fix message suggesting the --executables flag
101Samuel Bronson <naesten@gmail.com>**20090201010708]
102[Make documentation validate
103Samuel Bronson <naesten@gmail.com>**20090212235057]
104[Typo in docs for source-repository
105Joachim Breitner <mail@joachim-breitner.de>**20090121220747]
106[Specify a temp output file for the header/lib checks
107Duncan Coutts <duncan@haskell.org>**20090218233928
108 Otherwise we litter the current dir with a.out and *.o files.
109]
110[Update versions mentioned in the README
111Duncan Coutts <duncan@haskell.org>**20090218222235]
112[Final changelog updates for 1.6.0.2
113Duncan Coutts <duncan@haskell.org>**20090218222144]
114[Use more cc options when checking for header files and libs
115Duncan Coutts <duncan@haskell.org>**20090218110520
116 Use -I. to simulate the search path that gets used when we tell ghc
117 to -#include something. Also use the include dirs and cc options of
118 dependent packages. These two changes fix about 3 packages each.
119]
120[Only print message about ignoring -threaded if its actually present
121Duncan Coutts <duncan@haskell.org>**20090206174707]
122[Filter ghc-options -threaded for libs too
123Duncan Coutts <duncan@haskell.org>**20090125145035]
124[Don't build ghci lib if we're not making vanilla libs
125Duncan Coutts <duncan@haskell.org>**20090206173914
126 As the .o files will not exist.
127]
128[Correct docdir -> mandir in InstallDirs
129Samuel Bronson <naesten@gmail.com>**20090203043338]
130[Fix compat functions for setting file permissions on windows
131Duncan Coutts <duncan@haskell.org>**20090205224415
132 Spotted by Dominic Steinitz
133]
134[Improve the error message for missing foreign libs and make it fatal
135Duncan Coutts <duncan@haskell.org>**20090131184813
136 The check should now be accurate enough that we can make it an
137 error rather than just a warning.
138]
139[Use the cc, cpp and ld options when checking foreign headers and libs
140Duncan Coutts <duncan@haskell.org>**20090131184016
141 In partiular this is needed for packages that use ./configure
142 scripts to write .buildinfo files since they typically do not
143 split the cpp/cc/ldoptions into the more specific fields.
144]
145[#262 iterative tests for foreign dependencies
146Gleb Alexeyev <gleb.alexeev@gmail.com>**20090130120228
147 Optimize for succesful case. First try all libs and includes in one command,
148 proceed with further tests only if the first test fails. The same goes for libs
149 and headers: look for an offending one only when overall test fails.
150 
151]
152[Do the check for foreign libs after running configure
153Duncan Coutts <duncan@haskell.org>**20090131182213
154 This lets us pick up build info discovered by the ./configure script
155]
156[Warn if C dependencies not found (kind of fixes #262)
157gleb.alexeev@gmail.com**20090126185832
158 
159 This is just a basic check - generate a sample program and check if it compiles and links with relevant flags. Error messages (warning messages,
160 actually) could use some improvement.
161]
162[move imports outside ifdef GHC
163Ross Paterson <ross@soi.city.ac.uk>**20090130153505]
164[Make the Compat.CopyFile module with with old and new ghc
165Duncan Coutts <duncan@haskell.org>**20090129225423]
166[Export setFileOrdinary and setFileExecutable from Compat.CopyFile
167Duncan Coutts <duncan@haskell.org>**20090129173413]
168[Use copyOrdinaryFile and copyExecutableFile instead of copyFile
169Duncan Coutts <duncan@haskell.org>**20090128194143
170 This is a minimal patch for the Cabal-1.6 branch only.
171]
172[Add Distribution.Compat.CopyFile module
173Duncan Coutts <duncan@haskell.org>**20090128181115
174 This is to work around the file permissions problems with the
175 standard System.Directory.copyFile function. When installing
176 files we do not want to copy permissions or attributes from the
177 source files. On unix we want to use specific permissions and
178 on windows we want to inherit default permissions. On unix:
179 copyOrdinaryFile   sets the permissions to -rw-r--r--
180 copyExecutableFile sets the permissions to -rwxr-xr-x
181]
182[Update changelog for 1.6.0.2
183Duncan Coutts <duncan@haskell.org>**20090123175629]
184[Fix installIncludeFiles to create target directories properly
185Duncan Coutts <duncan@haskell.org>**20090122004836
186 Previously for 'install-includes: subdir/blah.h' we would not
187 create the subdir in the target location.
188]
189[filter -threaded when profiling is on
190Duncan Coutts <duncan@haskell.org>**20090122014425
191 Fixes #317. Based on a patch by gleb.alexeev@gmail.com
192]
193[Fix openNewBinaryFile on Windows with ghc-6.6
194Duncan Coutts <duncan@haskell.org>**20090122172100
195 fdToHandle calls fdGetMode which does not work with ghc-6.6 on
196 windows, the workaround is not to call fdToHandle, but call
197 openFd directly. Bug reported by Alistair Bayley, ticket #473.
198]
199[Make 'ghc-options: -O0' a warning rather than an error
200Duncan Coutts <duncan@haskell.org>**20090118141949]
201[Improve runE parse error message
202Duncan Coutts <duncan@haskell.org>**20090116133214
203 Only really used in parsing config files derived from command line flags.
204]
205[Ban ghc-options: --make
206Duncan Coutts <duncan@haskell.org>**20081223170621
207 I dunno, some people...
208]
209[Update changelog for 1.6.0.2 release
210Duncan Coutts <duncan@haskell.org>**20081211142202]
211[Fix configCompilerAux to consider user-supplied program flags
212Duncan Coutts <duncan@haskell.org>**20081209193320
213 This fixes a bug in cabal-install
214]
215[Swap the order of global usage messages
216Duncan Coutts <duncan@haskell.org>**20090113191810
217 Put the more important one first.
218]
219[Enable the global command usage to be set
220Duncan Coutts <duncan@haskell.org>**20090113181303
221 extend it rather than overriding it.
222 Also rearrange slightly the default global --help output.
223]
224[Bump version number to 1.6.0.2
225Duncan Coutts <duncan@haskell.org>**20081210231021]
226[Fake support for NamedFieldPuns in ghc-6.8
227Duncan Coutts <duncan@haskell.org>**20081208180018
228 Implement it in terms of the -XRecordPuns which was accidentally
229 added in ghc-6.8 and deprecates in 6.10 in favor of NamedFieldPuns
230 So this is for compatability so we can tell package authors always
231 to use NamedFieldPuns instead.
232]
233[Make getting ghc supported language extensions its own function
234Duncan Coutts <duncan@haskell.org>**20081208175815]
235[Distributing a package with no synopsis and no description is inexcusable
236Duncan Coutts <duncan@haskell.org>**20081205160719
237 Previously if one or the other or both were missing we only warned.
238 Now if neither are given it's an error. We still warn about either
239 missing.
240]
241[Remove accidentally added bianry file
242Duncan Coutts <duncan@haskell.org>**20081203000824]
243[Fix #396 and add let .Haddock find autogen modules
244Andrea Vezzosi <sanzhiyan@gmail.com>**20081201114853]
245[Fix the date in the LICENSE file
246Duncan Coutts <duncan@haskell.org>**20081202161457]
247[Improve the error on invalid file globs slightly
248Duncan Coutts <duncan@haskell.org>**20081202135335]
249[Update changelog for 1.6.0.x fixes
250Duncan Coutts <duncan@haskell.org>**20081122145758]
251[TAG GHC 6.10 fork
252Ian Lynagh <igloo@earth.li>**20080919005020]
253[Make auto-generated *_paths.hs module warning-free.
254Thomas Schilling <nominolo@googlemail.com>**20081106142734
255 
256 On newer GHCs using {-# OPTIONS_GHC -fffi #-} gives a warning which
257 can lead to a compile failure when -Werror is activated.  We therefore
258 emit this option if we know that the LANGUAGE pragma is supported
259 (ghc >= 6.6.1).
260]
261[Escape ld-options with the -optl prefix when passing them to ghc
262Duncan Coutts <duncan@haskell.org>**20081103151931
263 Fixes ticket #389
264]
265[Simplify previous pkg-config fix
266Duncan Coutts <duncan@haskell.org>**20081101200309]
267[Fix bug where we'd try to configure an empty set of pkg-config packages
268Duncan Coutts <duncan@haskell.org>**20081101195512
269 This happened when the lib used pkg-config but the exe did not.
270 It cropped up in hsSqlite3-0.0.5.
271]
272[Add GHC 6.10.1's extensions to the list in Language.Haskell.Extension
273Ian Lynagh <igloo@earth.li>**20081019141408]
274[Ensure that the lib target directory is present when installing
275Duncan Coutts <duncan@haskell.org>**20081017004437
276 Variant on a patch from Bryan O'Sullivan
277]
278[Release kind is now rc
279Duncan Coutts <duncan@haskell.org>**20081011183201]
280[TAG 1.6.0.1
281Duncan Coutts <duncan@haskell.org>**20081011182516]
282[Bump version to 1.6.0.1
283Duncan Coutts <duncan@haskell.org>**20081011182459]
284[Do not use the new meta-data fields yet
285Duncan Coutts <duncan@haskell.org>**20081011182307
286 Avoid chicken and egg problem. We cannot upload Cabsl-1.6 to
287 hackage until hackage is using Cabal-1.6 if it uses features
288 that are introduced in 1.6. So just comment them out for now.
289]
290[Export a compat function for older Setup.hs scripts
291Duncan Coutts <duncan@haskell.org>**20081011182131
292 Makes it possible for alex and happy to work with cabal-1.2 -> 1.6
293]
294[Fix instructions in README for building with 6.6 and filepath
295Duncan Coutts <duncan@haskell.org>**20081011002819]
296[Update release procedure in Makefile
297Duncan Coutts <duncan@haskell.org>**20081010181445
298 Building the haddock docs requires building first. Arguably this is
299 a Cabal bug. It should probably generate the "autogen" files for
300 haddock and not just for build.
301]
302[TAG 1.6.0.0
303Duncan Coutts <duncan@haskell.org>**20081010061435]
304[Bump version number to 1.6.0.0
305Duncan Coutts <duncan@haskell.org>**20081010052409]
306[Update changelog
307Duncan Coutts <duncan@haskell.org>**20081010052354]
308[Remove the releaseNotes file
309Duncan Coutts <duncan@haskell.org>**20081010052101
310 It did not actually contain any release notes and just
311 duplicated information in the README which was confusing.
312]
313[Merge the info from the releaseNotes file into the README file
314Duncan Coutts <duncan@haskell.org>**20081010052020]
315[Fix haddock comment for haddock-0.8
316Duncan Coutts <duncan@haskell.org>**20081010050913]
317[Fix parsing of ld,cc,cpp-options for flags containing ','
318Duncan Coutts <duncan@haskell.org>**20081010050829
319 The ',' character is not used as a separator and is allowed
320 within flag tokens. Fixes at least HsPerl5.
321]
322[Update versions in regression check script
323Duncan Coutts <duncan@haskell.org>**20081009223429]
324[Bump devel version number to 1.5.6
325Duncan Coutts <duncan@haskell.org>**20081009223350
326 To make easier to track recent Cabal / cabal-install changes
327]
328[Update changelog
329Duncan Coutts <duncan@haskell.org>**20081009223330]
330[Update the README
331Duncan Coutts <duncan@haskell.org>**20081009221851]
332[Make sdist work for libs that use the Paths_pkgname module
333Duncan Coutts <duncan@haskell.org>**20081009214507
334 Do it by just filtering that module out of the package
335 description before running sdist etc. This isn't lovely
336 because it steals that module name from the module namespace
337 but at least it now works. Thanks to Jean-Philippe Bernardy
338 for the first iteration of this patch.
339]
340[xargs -s breaks solaris
341Duncan Coutts <duncan@haskell.org>**20081008185041
342 Hopefully we can figure out a better fix for recent cygwin
343 versions of xargs which are apparently broken.
344 
345 rolling back:
346 
347 Wed Oct  8 08:44:10 PDT 2008  Clemens Fruhwirth <clemens@endorphin.org>
348   * Also respect the max. command line size in Makefile driven builds
349 
350     M ./Distribution/Simple/GHC.hs -7 +13
351     M ./Distribution/Simple/GHC/Makefile.hs -1 +1
352     M ./Distribution/Simple/GHC/Makefile.in -1 +1
353]
354[Also respect the max. command line size in Makefile driven builds
355Clemens Fruhwirth <clemens@endorphin.org>**20081008154410]
356[add missing exeExtension when stripping an executable
357Simon Marlow <marlowsd@gmail.com>**20081007134757]
358[Add a few type sigs to help hugs and as documentation
359Duncan Coutts <duncan@haskell.org>**20081007214120
360 Thanks to Dimitry and Ross for identifying the problem.
361]
362[Add -no-auto-link-packages also to Makefile driven build
363Clemens Fruhwirth <clemens@endorphin.org>**20081007095454]
364[Also install dynamically linked executable (when present)
365Clemens Fruhwirth <clemens@endorphin.org>**20081006095107]
366[Use "-no-auto-link-packages" when using GHC to link
367Ian Lynagh <igloo@earth.li>**20081004111103
368 When making packages like ghc-prim we need GHC to not automatically
369 try to link with base and haskell98.
370]
371[Relax dependencyInconsistencies to allow the base-3,4 thing
372Duncan Coutts <duncan@haskell.org>**20081002074142
373 Previously we said a package graph was inconsistent if two
374 dependencies on the same package name specified different
375 versions. Now we say that two such dependencies on different
376 versions are ok if there is a direct dependency between those
377 two package versions. So if your package graph ends up with
378 both base 3 and base 4 in it, then that's ok because base 3
379 directly depends on base 4, so we declare it not to be an
380 inconsistency. This removes the scary warnings at configure
381 time (fixing ticket #366) and also adjusts the invariant and
382 assertion of the InstallPlan ADT in cabal-install.
383]
384[Document the bug-reports field
385Duncan Coutts <duncan@haskell.org>**20081001042635]
386[Add bug-reports field to Cabal.cabal
387Duncan Coutts <duncan@haskell.org>**20081001035605]
388[Add bug-reports url field
389Duncan Coutts <duncan@haskell.org>**20081001035516
390 Ticket #323
391]
392[Update the package description a bit
393Duncan Coutts <duncan@haskell.org>**20081001034350]
394[Specify a source repository for Cabal in Cabal.cabal
395Duncan Coutts <duncan@haskell.org>**20081001034325]
396[Document the source-repository stuff
397Duncan Coutts <duncan@haskell.org>**20081001033928]
398[Add some checks on the repository sections
399Duncan Coutts <duncan@haskell.org>**20081001033755]
400[Use unknown rather than specific other repo kinds
401Duncan Coutts <duncan@haskell.org>**20081001033637
402 We can still add more as necessary
403]
404[Add support for specifying source repos in .cabal files
405Duncan Coutts <duncan@haskell.org>**20080930222708
406 Ticket #58. Does not yet include checking.
407]
408[Simplify parsing sections in the .cabal file
409Duncan Coutts <duncan@haskell.org>**20080930215509
410 Allow flags, lib and exes in any order and handle unknown sections better.
411]
412[Treat "cabal --flag command" as "cabal command --flag"
413Duncan Coutts <duncan@haskell.org>**20080928070627
414 eg "cabal -v configure" to mean "cabal configure -v"
415 For flags that are not recognised as global flags,
416 pass them on to the sub-command.
417]
418[Fix how Cabal makes the value for __GLASGOW_HASKELL__
419Ian Lynagh <igloo@earth.li>**20080920212207
420 6.10.x was giving us 601 rather than 610.
421]
422[Update the version number in the Makefile
423Ian Lynagh <igloo@earth.li>**20080920175306]
424[Correct the version number in the Makefile
425Ian Lynagh <igloo@earth.li>**20080920175105]
426[Update build-deps
427Ian Lynagh <igloo@earth.li>**20080920175053]
428[Fix building with GHC 6.6
429Ian Lynagh <igloo@earth.li>**20080920162927]
430[TAG 6.10 branch has been forked
431Ian Lynagh <igloo@earth.li>**20080919123438]
432[Rename --distdir flag to --builddir
433Duncan Coutts <duncan@haskell.org>**20080920180326
434 Old aliases kept for compatibility
435]
436[TAG 1.5.5
437Duncan Coutts <duncan@haskell.org>**20080919142307]
438[Bump version number to 1.5.5
439Duncan Coutts <duncan@haskell.org>**20080919140130
440 Ready to make the 1.6 branch
441]
442[filter mingw include directories out of rts's installDirs
443Ian Lynagh <igloo@earth.li>**20080918142958
444 GHC < 6.10 put "$topdir/include/mingw" in rts's installDirs. This
445 breaks when you want to use a different gcc, so we need to filter
446 it out.
447]
448[Tell gcc on Windows where include/mingw is
449Ian Lynagh <igloo@earth.li>**20080918135718
450 We need to tell the gcc bundled with GHC on Windows where its mingw
451 include directory is
452]
453[On windows, fail if ghc's gcc or ld are not found
454Duncan Coutts <duncan@haskell.org>**20080917235745]
455[Allow addKnownProgram to be used as an update, not just insert
456Duncan Coutts <duncan@haskell.org>**20080917225856
457 ie preserves any existing user-supplied path and args
458]
459[Cope with gcc.exe and ld.exe not being where ex expect on Windows
460Ian Lynagh <igloo@earth.li>**20080917221228]
461[Implement openNewBinaryFile in a Compat module
462Ian Lynagh <igloo@earth.li>**20080917171257
463 This is like openBinaryTempFile except it doesn't mark the permissions
464 with 600. This means datafailes get the right permissions when they are
465 installed.
466 
467 This should really be in the base package.
468]
469[Generalise the type of onException
470Ian Lynagh <igloo@earth.li>**20080917171233
471 Now it matches Control.Exception's type
472]
473[Yet another go at making gcc -B work properly on windows
474Duncan Coutts <duncan@haskell.org>**20080916232553
475 This time it should work on linux too! But more significantly
476 it should work when the user specifies a particular gcc. It
477 would be very bad if the user gave an alternative gcc but we
478 still gave it -B for the lib files of ghc's gcc. This go is
479 rather cleaner as it uses the new program post-conf system.
480]
481[Pass any additional gcc options through to gcc when calling hsc2hs
482Duncan Coutts <duncan@haskell.org>**20080916232502]
483[Add an additional program post-conf action
484Duncan Coutts <duncan@haskell.org>**20080916210642
485 The post-conf action gets given the configured program and is
486 allowed to do more IO and can add any extra required program
487 args. Should make it easier to do the gcc -B thing or ld -x
488]
489[Make the new permissions compat module compile
490Duncan Coutts <duncan@haskell.org>**20080916210550
491 Needs cpp pragma as it has to work with just ghc --make
492 Did I ever mention I that hate cpp and compat modules?
493]
494[Fix the env var names used in the Paths module
495Duncan Coutts <duncan@haskell.org>**20080916093525
496 Convert any '-' in the package name to '_' when generating the
497 path env var as most shells do not allow '-' in env var names.
498]
499[Check for -optl-s as well as an alias of the more common -optl-Wl,-s
500Duncan Coutts <duncan@haskell.org>**20080913005432]
501[pass -B flag to help gcc find libraries on Windows
502dias@eecs.harvard.edu**20080827124436]
503[workaround for nhc98, which does not have System.Posix.Internals
504Malcolm.Wallace@cs.york.ac.uk**20080915092747]
505[Set GHCI_LIB to "" in "Setup makefile" if GHC libs are disabled
506Ian Lynagh <igloo@earth.li>**20080913144040]
507[In "Setup makefile", don't build the vanilla way if it's disabled
508Ian Lynagh <igloo@earth.li>**20080913143132
509 This needs a bit of a kludge, as the vanilla way doesn't really exist
510 as far as the build system is concerned. It's just the absence of way.
511]
512[Fix the permission that we give wrapper scripts
513Ian Lynagh <igloo@earth.li>**20080913124445]
514[Documentation only: more typos/punctuation
515Tim Chevalier <chevalier@alum.wellesley.edu>**20080914051331]
516[Documentation only: grammar fix in comment
517Tim Chevalier <chevalier@alum.wellesley.edu>**20080914051008]
518[Documentation only: fix typo in comment
519Tim Chevalier <chevalier@alum.wellesley.edu>**20080913214843]
520[Remove unused 'breaks' util function
521Duncan Coutts <duncan@haskell.org>**20080910235804]
522[follow library changes
523Ian Lynagh <igloo@earth.li>**20080903223608]
524[Fix to compile with base-1.0:Data.List
525Duncan Coutts <duncan@haskell.org>**20080904233126
526 which did not have isInfixOf
527]
528[Fix cabal_macros.h for package names containing '-'
529Duncan Coutts <duncan@haskell.org>**20080903220116
530 As with the Paths_pkgname module, we map '-' to '_' as the
531 former is not a valid character in cpp macro identifiers.
532 Fixes cpp redefinition warnings. First reported by gwern.
533]
534[Pass the interfaces for the transitive set of dependencies to haddock
535Ian Lynagh <igloo@earth.li>**20080903123813
536 Otherwise we don't get links to types from packages that we don't
537 directly depend on.
538]
539[Update CPP-Options in Cabal.cabal to define CABAL_VERSION=1,5,4
540Ian Lynagh <igloo@earth.li>**20080902170348
541 It was still defining CABAL_VERSION=1,5,3
542]
543[Add more detail to the -Werror and -fvia-C checks
544Duncan Coutts <duncan@haskell.org>**20080902171413
545 Also, ban rather than just warn about the -optl-Wl,-s hack
546 now that Cabal strips exes by default.
547]
548[Haddock 2: #include <cabal_macros.h>
549Simon Marlow <marlowsd@gmail.com>**20080901145843]
550[package concurrent not available in nhc98
551Malcolm.Wallace@cs.york.ac.uk**20080902092802]
552[Display the right message for sdist --snapshot
553Duncan Coutts <duncan@haskell.org>**20080831221756]
554[Bump the version number to 1.5.4
555Duncan Coutts <duncan@haskell.org>**20080831220418
556 due to the PackageSet/Index api changes
557]
558[Use a hopefully more robust method of determining the gcc version
559Duncan Coutts <duncan@haskell.org>**20080831220145]
560[Simplify the handling of --with-prog= in build/haddock commands.
561Duncan Coutts <duncan@haskell.org>**20080831215551
562 We allow extra rgs and the location of programs to be given to
563 the build and haddock commands, not just at configure time. The
564 code to do this is now simpler and more general. This should not
565 be the default use mode however since it involves configuring
566 the programs each time where as doing it at configure time allows
567 it to be done once and saved. Further, specifying a different
568 version of the program at build time than at configure time is
569 likely to fail, especially for the compiler programs. Changing
570 the compiler really requires reconfiguring.
571]
572[Update the haddock command help text
573Duncan Coutts <duncan@haskell.org>**20080831215325
574 The haddock command now supports --haddock-options=
575]
576[Add flags to build command for specifying program paths
577Duncan Coutts <duncan@haskell.org>**20080831215135
578 So we're going to allow --with-PROG for the build and haddock
579 commands, in addition to the existing --PROG-options= flags.
580]
581[Use the new Program utils to simplify code in Configure
582Duncan Coutts <duncan@haskell.org>**20080831215054]
583[Add some more handy Program utils
584Duncan Coutts <duncan@haskell.org>**20080831214813
585 Mostly for dealing with lists of programs so that client
586 code doesn't need quite to much flip foldl' (flip thing)
587 Add specific helpers for reconfiguring programs and
588 restoring a full ProgramConfiguration after usign read.
589]
590[Don't redundantly pass programArgs in when calling programs.
591Duncan Coutts <duncan@haskell.org>**20080831212526
592 That's already done by the Program framework so we were passing
593 those extra args in twice.
594]
595[Merge PackageSet and PackageIndex
596Duncan Coutts <duncan@haskell.org>**20080830130250
597 Have just a single module that provides both the case sensitive and
598 insensitive operations. Turns out we hardly use the case insensitive
599 operations, and the places where we do are not performance sensitive
600 at all. So we use the PackageSet implementation which stores the
601 packages case sensitively and tack on the case insensitive operations
602 but with linear time implementations rather than log time. For the
603 merged module/type name use PackageIndex because that is what older
604 released versions exported, so less needless client breakage.
605]
606[Add checkPackageFileNames function to check portability of file names
607Duncan Coutts <duncan@haskell.org>**20080827082349
608 Windows has restrictions on names of files and portable
609 tar archives have some weird length restrictions too.
610 Not yet used but should be used in sdist and hackage.
611]
612[In wrappers, $executablename needs to expand to something with DESTDIR
613Ian Lynagh <igloo@earth.li>**20080828155554
614 The installed wrapper needs to call the executable in its final place,
615 not inside the DESTDIR where we are constructing a package.
616]
617[Allow passing haddock's location and options to "Setup haddock"
618Ian Lynagh <igloo@earth.li>**20080828142424]
619[We need to pass the CPP options to haddock 2
620Ian Lynagh <igloo@earth.li>**20080828142303]
621[Add support for manually en/disabled flags
622Ian Lynagh <igloo@earth.li>**20080827170105
623 The immediate use for these is so that, in haddock, we can require
624 ghc-paths normally, but in the GHC build we can manually turn off a flag
625 so that this dependency isn't needed. We can't use a normal flag, or
626 in the normal build Cabal would infer that the flag needs to be turned
627 off if ghc-paths isn't available.
628]
629[Add release date of 1.4.0.2
630Duncan Coutts <duncan@haskell.org>**20080826204810]
631[Ban package names that are not valid windows file names
632Duncan Coutts <duncan@haskell.org>**20080826005502
633 At least for the purposes of distribution. So if you're on unix
634 then you can call your package 'LPT1' if you feel you must, but
635 you cannot distribute a package with this name.
636]
637[Separate out and export installDirsOptions
638Duncan Coutts <duncan@haskell.org>**20080826003240
639 The InstallDirs is a separate type so it's handy to have the
640 command line and config file options for it available
641 separately. It'd be useful in cabal-install for one thing.
642]
643[Note the per-user install path on Windows in the README
644Duncan Coutts <duncan@haskell.org>**20080824203923]
645[More changelog updates for 1.4.0.2
646Duncan Coutts <duncan@haskell.org>**20080824203744]
647[Teach Cabal about the PackageImports extension
648Ian Lynagh <igloo@earth.li>**20080825132352]
649[Rename --distpref to --distdir
650Duncan Coutts <duncan@haskell.org>**20080825164258
651 It's more consistent with the other flag names for dirs.
652 Kept the old name too, but it's not shown by --help.
653]
654[We now depend on concurrent (split off from base)
655Ian Lynagh <igloo@earth.li>**20080824135145]
656[Bump version number to 1.5.3
657Duncan Coutts <duncan@haskell.org>**20080822160918]
658[Update changelog for recent 1.5.x changes
659Duncan Coutts <duncan@haskell.org>**20080822160828]
660[Update changelog
661Duncan Coutts <duncan@haskell.org>**20080802135452]
662[Fix for #333, "Setup sdist --snapshot fails"
663Duncan Coutts <duncan@haskell.org>**20080821154913
664 Credit to Spencer Janssen. This is just a slight alternative
665 to the fix he proposed. It simplifies prepareSnapshotTree.
666]
667[Don't pass cc-options to Haskell compilations
668Simon Marlow <marlowsd@gmail.com>**20080821133421
669 This has no effect with GHC 6.9, and with earlier GHC's it was a
670 misuse of cc-options.
671]
672[Don't propagate cc-options to the InstalledPackageInfo
673Simon Marlow <marlowsd@gmail.com>**20080821132551
674 cc-options is for options to be passed to C compilations in the
675 current package.  If we propagate those options to the
676 InstalledPackageInfo, they get passed to C compilations in any package
677 that depends on this one, which could be disastrous.  I've seen
678 cc-options like these:
679 
680    cc-options:      -optc-std=c99
681    cc-options:         -D_FILE_OFFSET_BITS=64
682    Cc-options:      -Wall
683 
684 these are all clearly intended to be local, but are in fact currently
685 propagated to all dependent packages.
686]
687[Fix spelling of compatibility
688Duncan Coutts <duncan@haskell.org>**20080818194951
689 At request of gwern who found that it was driving him nuts.
690]
691[Minor info and help message improvements
692Duncan Coutts <duncan@haskell.org>**20080813124957]
693[unbreak for non-GHC
694Malcolm.Wallace@cs.york.ac.uk**20080814182558]
695[Catch exit exceptions as well as IO exceptions after running programs
696Ian Lynagh <igloo@earth.li>**20080813213035
697 We need to catch IO exceptions for things like "couldn't find the program",
698 but we also need to catch exit exceptions as Cabal uses them to signal
699 what the program returned.
700]
701[Move Paths_pkgname and cabal_macros.h generation into their own modules
702Duncan Coutts <duncan@haskell.org>**20080813193245]
703[Add util rewriteFile :: FilePath -> String -> IO ()
704Duncan Coutts <duncan@haskell.org>**20080813192017
705 Write a file but only if it would have new content.
706 If we would be writing the same as the existing content
707 then leave the file as is so that we do not update the
708 file's modification time.
709]
710[fix imports for nhc98
711Malcolm.Wallace@cs.york.ac.uk**20080813132112]
712[Don't warn about missing strip.exe on Windows
713Duncan Coutts <duncan@haskell.org>**20080812220415
714 We don't expect Windows systems to have the strip program anyway.
715]
716[Flush stdout when printing debugging messages
717Duncan Coutts <duncan@haskell.org>**20080812212236]
718[Fix warnings in Windows Paths_pkgname module
719Duncan Coutts <duncan@haskell.org>**20080812211349]
720[Fix the config-file field name of the install command's packagedb option
721Duncan Coutts <duncan@haskell.org>**20080812171207]
722[Add alias type PackageId = PackageIdentifier
723Duncan Coutts <duncan@haskell.org>**20080812171006]
724[Add data Platform = Platform Arch OS
725Duncan Coutts <duncan@haskell.org>**20080812160941
726 Since we tend to pass them around together rather a lot.
727 Also add a Text instance with a format like "i386-linux"
728]
729[Don't use tab characters in the generated Paths module
730Duncan Coutts <duncan@haskell.org>**20080812160731]
731[Add auto-generated CPP macros for package version testing
732Simon Marlow <marlowsd@gmail.com>**20080811173016
733 
734 Now when using CPP you get
735 
736    MIN_VERSION_<package>(A,B,C)
737 
738 for each <package> in build-depends, which is true if the version of
739 <package> in use is >= A.B.C, using the normal ordering on version
740 numbers.
741 
742 This is done by auto-generating a header file
743 dist/build/autogen/cabal_macros.h, and passing a -include flag when
744 running CPP.
745]
746[allow Cabal to use base-4
747Simon Marlow <marlowsd@gmail.com>**20080806130512]
748[Make binary-dist do nothing in doc/Makefile, for now
749Ian Lynagh <igloo@earth.li>**20080810005135]
750[When running "Setup makefile", put "default: all" at the top of the Makefile
751Ian Lynagh <igloo@earth.li>**20080809211148
752 This make "make" work even if Makefile.local contains any targets.
753]
754[Use 'ghc-pkg dump' instead of 'ghc-pkg describe *'
755David Waern**20080807190307
756 
757 Does not implement lazy parsing of the output of ghc-pkg dump, so this
758 is only a partial fix of #311.
759   
760 For more information about why we want to use ghc-pkg dump, see GHC
761 ticket #2201.
762]
763[Simplify InstalledPackageInfo parser and pretty printer
764Duncan Coutts <duncan@haskell.org>**20080806122807
765 Using the new utils in ParseUtils.
766]
767[Add parsse utils for simple flat formats.
768Duncan Coutts <duncan@haskell.org>**20080806122613
769 Should help to simplify the InstalledPackageInfo parser
770 and also for similar formats in cabal-install.
771]
772[Tidy up the ppFields function and uses
773Duncan Coutts <duncan@haskell.org>**20080806121315
774 Put the arguments in a more sensible order:
775 ppFields :: [FieldDescr a] -> a -> Doc
776 and make the implementation clearer.
777 clean up the use of it in the PackageDescription.Parse module
778]
779[Windows fixes
780Ian Lynagh <igloo@earth.li>**20080803201253]
781[setup makefile: put the source-dir suffix rules after the distdir suffix rules
782Simon Marlow <marlowsd@gmail.com>**20080806130309
783 This matches the behaviour of 'setup build' works, and is robust to
784 people accidentally having old preprocessed sources lying around in the
785 source dir.
786]
787[Generalise checkPackageFiles to any monad, not just IO
788Duncan Coutts <duncan@haskell.org>**20080806001547
789 This is to let us use the same checks for virtual or
790 in-memory file systems, like tarball contents.
791]
792[Move parseFreeText into ParseUtils and use it more widely
793Duncan Coutts <duncan@haskell.org>**20080806001352]
794[Document and refactor 'parsePackageDescription'.
795Thomas Schilling <nominolo@googlemail.com>**20080804190324
796 
797 Hopefully this makes this function more understandable and easier to
798 modify.
799]
800[Adjust registration to allow packages with no modules or objects
801Duncan Coutts <duncan@haskell.org>**20080804155826
802 So ghc-pkg does not complain about missing files and dirs.
803]
804[Don't try to install libHSfoo.a if the lib had no object files
805Duncan Coutts <duncan@haskell.org>**20080804143817
806 To allow meta-packages.
807]
808[Fix instance Monoid ConfigFlags for configStripExes
809Duncan Coutts <duncan@haskell.org>**20080802002045]
810[Document the "exposed" .cabal file field
811Duncan Coutts <duncan@haskell.org>**20080731162807]
812[Fix the Windows build
813Ian Lynagh <igloo@earth.li>**20080731194841]
814[Remove unused imports
815Ian Lynagh <igloo@earth.li>**20080730194526]
816[Make Cabal compatible with extensible exceptions
817Ian Lynagh <igloo@earth.li>**20080730183910
818 The code is now also more correct, e.g. when we are ignoring IO exceptions
819 while trying to delete something, we don't also ignore timeout exceptions.
820]
821[Remove unused imports
822Duncan Coutts <duncan@haskell.org>**20080730182957]
823[Remove unused inDir util function
824Duncan Coutts <duncan@haskell.org>**20080730165031]
825[Add an "exposed" field to the .cabal file library section
826Duncan Coutts <duncan@haskell.org>**20080730164516
827 It's a bool flag that says if by default the library should
828 be registered with the compiler as exposed/unhidden (for
829 compilers which have such a concept, ie ghc). You might want
830 to do this for packages which would otherwise pollute the
831 module namespace or clash with other common packages.
832 It should be very rarely used. The only current examples we
833 know of are the ghc api package and the dph packages.
834]
835[Rearrange the Monoid instances for Library, Executable, BuildInfo
836Duncan Coutts <duncan@haskell.org>**20080730163432
837 No functional change, just moving code about.
838 We now define the Monoid methods directly rather than in
839 terms of emptyLibrary, unionLibrary etc.
840]
841[Do the ghc rts ldOptions hack in a slightly more hygenic way
842Duncan Coutts <duncan@haskell.org>**20080729195714]
843[Fix uses of verbosity > deafening to use >=
844Duncan Coutts <duncan@haskell.org>**20080729191855
845 The maximum verbosity value is deafening so >= the correct test.
846 This primarily affected haddock.
847]
848[Do not use ',' as a list separator for the cpp/cc/ld-options fields
849Duncan Coutts <duncan@haskell.org>**20080729170556
850 It breaks for some options like "ld-options: -Wl,-z,now"
851 No existing .cabal files on hackage were using ',' as a
852 list separator so this should not break anything.
853]
854[Pass the right -F and --framework flags when running hsc2hs on OS X
855Ian Lynagh <igloo@earth.li>**20080729172757]
856[Tweak a test to not go via the pretty printer
857Ian Lynagh <igloo@earth.li>**20080729172750]
858[Fix linking with hsc2hs on OS X
859Ian Lynagh <igloo@earth.li>**20080729170215
860 We don't tell hsc2hs to link the actual Haskell packages, so with GHC's
861 rts package we need to also filter out the -u flags.
862]
863[Tweak whitespace
864Ian Lynagh <igloo@earth.li>**20080729163729]
865[Move docs for build-depends into the build information section
866Duncan Coutts <duncan@haskell.org>**20080729162024
867 Since it is shared between libs and exes. Extend the documentation
868 to describe the syntax of version constraints, including the new
869 version range syntax "build-depends: foo ==1.2.*".
870]
871[Remove references to cabal-setup from the documentation
872Duncan Coutts <duncan@haskell.org>**20080729160950
873 Change to runhaskell Setup or cabal-install as appropriate.
874]
875[Move the docs for the buildable field to a better place.
876Duncan Coutts <duncan@haskell.org>**20080729160808
877 It doesn't need to be right up near the top.
878]
879[Document more clearly that every modules must be listed
880Duncan Coutts <duncan@haskell.org>**20080729160308
881 in one of the fields exposed-modules, other-modules or main-is
882 Add an extra note to the section on the Paths_pkgname module
883 as the fact that it's automatically generated confuses people.
884]
885[Document the wildcard behaviour in data-files and extra-source-files fields
886Duncan Coutts <duncan@haskell.org>**20080729155920]
887[Document the $os and $arch install path vars
888Duncan Coutts <duncan@haskell.org>**20080729155654]
889[File globs must match at least one file or it's an error.
890Duncan Coutts <duncan@haskell.org>**20080729154050]
891[Fix the semantics of the simple file globbing to be sane
892Duncan Coutts <duncan@haskell.org>**20080729152624
893 I realised when I started to document it that the behaviour
894 was not terribly consistent or sensible. The meaning now is:
895   The limitation is that * wildcards are only allowed in
896   place of the file name, not in the directory name or
897   file extension. In particular, wildcards do not include
898   directories contents recursively. Furthermore, if a
899   wildcard is used it must be used with an extension, so
900   "data-files: data/*" is not allowed. When matching a
901   wildcard plus extension, a file's full extension must
902   match exactly, so "*.gz" matches "foo.gz" but not
903   "foo.tar.gz".
904 The reason for providing only a very limited form of wildcard
905 is to concisely express the common case of a large number of
906 related files of the same file type without making it too easy
907 to accidentally include unwanted files.
908]
909[Allow $arch and $os in install paths.
910Duncan Coutts <duncan@haskell.org>**20080729151952
911 Fixes ticket #312. For example a user could use:
912   cabal configure --libsubdir="$pkgid/$compiler/$arch"
913 if they wanted to have packages for multiple architectures
914 co-exist in the same filestore area.
915]
916[Use "pkg == 1.2.*" as the version wildcard syntax
917Duncan Coutts <duncan@haskell.org>**20080729151612
918 Rather than "pkg ~ 1.2.*". This seemed to be the consensus.
919 The syntax "pkg == 1.2.*" means "pkg >= 1.2 && < 1.3" and it
920 is to encourage people to put upper bounds on api versions.
921]
922[Pass -no-user-package-conf to ghc when not using UserPackageDB
923Duncan Coutts <duncan@haskell.org>**20080729145040
924 Should eliminate the corner case where we're doing a global
925 install but the user package db contains the exact same
926 version as in the global package db. Perhaps we should warn
927 in that case anyway since it's likely to go wrong later.
928]
929[disambiguate Control.Exception.catch for nhc98
930Malcolm.Wallace@cs.york.ac.uk**20080728164506]
931[more import qualification to help nhc98
932Malcolm.Wallace@cs.york.ac.uk**20080728153629]
933[help nhc98's module disambiguator a bit
934Malcolm.Wallace@cs.york.ac.uk**20080724165753]
935[Substitute for $topdir when we read GHC's InstalledPackageInfo's
936Ian Lynagh <igloo@earth.li>**20080723112232]
937[Fix the location of gcc.exe in a Windows GHC installation
938Ian Lynagh <igloo@earth.li>**20080723101848]
939[Don't need the complex code in detecting hsc2hs anymore
940Duncan Coutts <duncan@haskell.org>**20080720234019
941 Since we do not need to know if hsc2hs uses ghc or gcc as cc
942 by default since in either case we now tell it to use gcc.
943]
944[Always use gcc as cc with hsc2hs
945Duncan Coutts <duncan@haskell.org>**20080720233759
946 Lookup what flags to use from the package index. Previously this
947 was done by calling ghc as cc and passing -package flags to ghc.
948 ghc would then lookup what extra flags to pass to gcc. We now do
949 that ourselves directly and it's a good deal simpler and it's
950 portable to the other haskell implementations. This is only a
951 first go, the flags may not all be exactly right. Needs testing.
952]
953[Add gccProgram
954Duncan Coutts <duncan@haskell.org>**20080720232818
955 on Windows we have to find ghc's private copy of gcc.exe
956]
957[Add PackageSet.topologicalOrder and reverseTopologicalOrder
958Duncan Coutts <duncan@haskell.org>**20080720223731
959 with type :: PackageFixedDeps pkg => PackageSet pkg -> [pkg]
960]
961[Change some PackageSet functions to return the package rather than the id
962Duncan Coutts <duncan@haskell.org>**20080720221702
963 dependencyGraph and reverseDependencyClosure now return the
964 full package rather than just the PackageIdentifier
965]
966[Convert from PackageIndex to PackageSet
967Duncan Coutts <duncan@haskell.org>**20080720194924
968 Turns out the feature to do case-insensitive lookups was only
969 needed in cabal-install (and only in one little part) and
970 elsewhere it causes problems. So use PackageSet instead.
971]
972[If we have GHC >= 6.9 then use the new -optdep replacement flags
973Ian Lynagh <igloo@earth.li>**20080722163346]
974[And exitcode of 2 from ghc-pkg when doing describe '*' means no packages
975Ian Lynagh <igloo@earth.li>**20080722125759
976 This is a bit of a kludge around GHC's #2201, until Cabal is updated to
977 use ghc-pkg dump.
978]
979[Fix warnings and add a comment explaining why we pass -x to strip on OS X
980Ian Lynagh <igloo@earth.li>**20080720220851]
981[Pass -x to strip on OSX
982Duncan Coutts <duncan@haskell.org>**20080720204609]
983[Generate expanded makefile rules directly, rather than using $(eval ...)
984Ian Lynagh <igloo@earth.li>**20080720194801
985 We used to do this with $(eval ...) and $(call ...) in the
986 Makefile, but make 3.79.1 (which is what comes with msys)
987 doesn't understand $(eval ...), so now we just stick the
988 expanded loop directly into the Makefile we generate.
989]
990[Put GHC's programArgs in GHC_OPTS when making a Makefile
991Ian Lynagh <igloo@earth.li>**20080715132429]
992[Pass -package-conf foo when using GHC as CC
993Ian Lynagh <igloo@earth.li>**20080713123958]
994[If we are using ghc as hsc2hs's cc, then tell it where package.conf is
995Ian Lynagh <igloo@earth.li>**20080713110548
996 if we have been told to use a specific one with --package-db
997]
998[Fix installing datafiles
999Ian Lynagh <igloo@earth.li>**20080712173934
1000 If datadir is foo and the datafile is bar then we should install it to
1001 $datadir/bar, not $datadir/foo/bar.
1002]
1003[Fix the "Setup makefile" rules for C files
1004Ian Lynagh <igloo@earth.li>**20080712173851]
1005[If install is given a distPref, pass it on to copy and register
1006Ian Lynagh <igloo@earth.li>**20080712121916]
1007[derive Eq for ConfiguredProgram
1008Duncan Coutts <duncan@haskell.org>**20080711160138
1009 a request from Saizan
1010]
1011[Simplify ghc version test slightly
1012Duncan Coutts <duncan@haskell.org>**20080711142026]
1013[Add a hack to copy .hs-boot files into dist/...
1014Ian Lynagh <igloo@earth.li>**20080711000826
1015 When a preprocessor generates a .hs file we need to put the .hs-boot
1016 file next to it so that GHC can find it.
1017]
1018[Teach "Setup makefile" how to cope with multiple hs-source-dirs
1019Ian Lynagh <igloo@earth.li>**20080711000726]
1020[Fix some whitespace in Makefile.in
1021Ian Lynagh <igloo@earth.li>**20080710231519]
1022[In Makefile.in, put all the rules that mentions srcdir together
1023Ian Lynagh <igloo@earth.li>**20080710231415]
1024[Fix haddocking (with old haddocks?)
1025Ian Lynagh <igloo@earth.li>**20080703154714]
1026[Correct the order of args given by --PROG-options
1027Duncan Coutts <duncan@haskell.org>**20080710181437
1028 They were getting reversed. Problem located by Igloo.
1029]
1030[Remove the need for a compat Data.Map module
1031Duncan Coutts <duncan@haskell.org>**20080710154600
1032 Stop using Map.alter, use the same solution as the PackageIndex module.
1033]
1034[fix #if __GLASGOW_HASKELL__ test
1035Ross Paterson <ross@soi.city.ac.uk>**20080705105048
1036 
1037 The problem is that
1038 
1039 #if __GLASGOW_HASKELL__ < NNN
1040 
1041 is also true for non-GHC.  It should be
1042 
1043 #if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < NNN
1044]
1045[help nhc98's import overlap resolver
1046Malcolm.Wallace@cs.york.ac.uk**20080704140613]
1047[massage a pattern-with-context around nhc98's typechecker
1048Malcolm.Wallace@cs.york.ac.uk**20080704140541]
1049[Fix using specified package databases
1050Ian Lynagh <igloo@earth.li>**20080703001216
1051 If we are using a specified package database, we need to tell GHC what
1052 it is when building
1053]
1054[Fix the build with GHC 6.4.2: Data.Map.alter doesn't exist
1055Ian Lynagh <igloo@earth.li>**20080703001151]
1056[Allow installing executables in-place, and using shell script wrappers
1057Ian Lynagh <igloo@earth.li>**20080629164939
1058 GHC-only currently.
1059]
1060[haddock typo
1061Ian Lynagh <igloo@earth.li>**20080629114342]
1062[Fix a haddock typo
1063Ian Lynagh <igloo@earth.li>**20080629114239]
1064[Update .darcs-boring
1065Ian Lynagh <igloo@earth.li>**20080627182013]
1066[TAG 2008-05-28
1067Ian Lynagh <igloo@earth.li>**20080528004259]
1068[Remove the SetupWrapper module
1069Duncan Coutts <duncan@haskell.org>**20080628173010
1070 It's not used in Cabal itself and while cabal-install used
1071 it previously, it now has its own extended implementation.
1072]
1073[Update module headers
1074Duncan Coutts <duncan@haskell.org>**20080628172550
1075 Use cabal-devel@haskell.org as the maintainer in most cases except for
1076 a few which were pre-existing modules copied from elsewhere or modules
1077 like L.H.Extension which really belong to libraries@haskell.org
1078 Remove the useless stability module. We have more detailed information
1079 on stability elsewhere (in the version number and user guide).
1080 Add more top level module documentation, taken from the source guide.
1081]
1082[Whitespace changes, convert tabs to spaces
1083Duncan Coutts <duncan@haskell.org>**20080626200933]
1084[Remove a couple old deprecated empty modules
1085Duncan Coutts <duncan@haskell.org>**20080626195204]
1086[Add ModuleName as a new type instead of using String everywhere
1087Duncan Coutts <duncan@haskell.org>**20080626192939]
1088[Tweaks to the readme, hopefully will reduce confusion
1089Duncan Coutts <duncan@haskell.org>**20080625232051]
1090[Add compat InstalledPackageInfo types for older GHCs
1091Duncan Coutts <duncan@haskell.org>**20080621013727
1092 We need these types for their Read instances so that we
1093 can still read older GHCs package db files when we make
1094 changes to the current InstalledPackageInfo type, or the
1095 types contained in it, like PackageIdentifier or License.
1096]
1097[Add simple file name globbing (*) to data-files and extra-source-files
1098Duncan Coutts <duncan@haskell.org>**20080626171424]
1099[Use conservative render style for display
1100Duncan Coutts <duncan@haskell.org>**20080619222258]
1101[Include trailing newline in hscolour command description
1102Duncan Coutts <duncan@haskell.org>**20080619220940]
1103[Add PackageSet, like PackageIndex but case sensitive
1104Duncan Coutts <duncan@haskell.org>**20080614003705
1105 Actually it turns out that we don't need case insensitivity in many
1106 cases, mosty just for simple lookups in the UI. For everything else
1107 the ordinary Ord instance is much simpler. The fact that listing the
1108 contents of a PackageIndex doesn't come out in Ord order actually
1109 causes real problems in cabal-install and necessitates re-sorting.
1110 So we should move to using PackageSet in most cases and just leave
1111 the search and lookup operations in PackageIndex.
1112]
1113[Add PackageName as a newtype
1114Duncan Coutts <duncan@haskell.org>**20080614002926]
1115[No more need for the distinction between null and emptyBuildInfo
1116Duncan Coutts <duncan@haskell.org>**20080614001654
1117 Now that we have removed the hsSourceDirs = [currentDir] default
1118 from emptyBuildInfo it is now equal to nullBuildInfo.
1119]
1120[Add version wildcard syntax
1121Duncan Coutts <duncan@haskell.org>**20080619175006
1122   build-depends: foo ~1.2.*
1123 means:
1124   build-depends: foo >=1.2 && <1.3
1125 It's also valid everywhere else version ranges are used.
1126]
1127[haddock-2.2 and later do now support the --hoogle flag
1128Duncan Coutts <duncan@haskell.org>**20080613205445]
1129['.' should not always be in hs-source dirs
1130Duncan Coutts <duncan@haskell.org>**20080613230352
1131 We changed the parsing of list fields in the .cabal file so that it
1132 adds to the current value rather than replacing it. This allows you
1133 to put multiple entries for a list field and they all get
1134 concatenated. However that means that the '.' in the hsSourceDirs of
1135 emptyBuildInfo is always added to and not replaced like we did
1136 previously. That's not what we want in this case. We want to use '.'
1137 for hsSourceDirs *only* if hsSourceDirs is otherwise null. As it
1138 happens, due to the way the configurations code works, we're already
1139 filling in the default if it'd otherwise be null so we do not need
1140 '.' in the emptyBuildInfo at all.
1141]
1142[Fix css location in generation of user guide
1143Duncan Coutts <duncan@haskell.org>**20080617133811]
1144[Update changelog for 1.4.0.1
1145Duncan Coutts <duncan@haskell.org>**20080617130434]
1146[Makefile tweak, setup depends on Setup.hs
1147Duncan Coutts <duncan@haskell.org>**20080616175446]
1148[construct InstalledPackageInfo from scratch rather than by overriding
1149Duncan Coutts <duncan@haskell.org>**20080616171505
1150 It means we catch any fields that get added. As it happens we were
1151 missing a field, though its value is supposed to be just [] which is
1152 the same value as we got from the default emptyInstalledPackageInfo.
1153]
1154[force results inside withHaskellFile
1155Ross Paterson <ross@soi.city.ac.uk>**20080614160707
1156 
1157 withUTF8FileContents now closes the file, so we need to force what we're
1158 computing from the contents before it's gone.
1159]
1160[Include the readme and the changelog in the tarball
1161Duncan Coutts <duncan@haskell.org>**20080612190558]
1162[Move the mkGHCMakefile.sh out of the root dir
1163Duncan Coutts <duncan@haskell.org>**20080612190317
1164 Having it there confuses people.
1165 They think they have to run it as part of the install process.
1166]
1167[Put upper bounds on all the build-depends
1168Duncan Coutts <duncan@haskell.org>**20080612174958]
1169[Add the 1.4.0.0 release to the changelog
1170Duncan Coutts <duncan@haskell.org>**20080612164242]
1171[Add the 1.2.4.0 release to the changelog
1172Duncan Coutts <duncan@haskell.org>**20080612164144]
1173[Update the README and convert it to markdown syntax
1174Duncan Coutts <duncan@haskell.org>**20080612162906]
1175[Update the release notes
1176Duncan Coutts <duncan@haskell.org>**20080612154624]
1177[Update copyright and authors list in the .cabal file
1178Duncan Coutts <duncan@haskell.org>**20080612154444]
1179[base-1.0 does not have Data.Map.alter so use insertWith instead
1180Duncan Coutts <duncan@haskell.org>**20080612154309]
1181[Lift the restriction that libraries must have exposed-modules
1182Duncan Coutts <duncan@haskell.org>**20080612092924
1183 This allows libs that have only private modules or C code. This
1184 might be used to make libs that have non-exposed modules and only
1185 export C APIs. It could also be used to make packages that consist
1186 only of C code. That might be useful for bindings where it may
1187 make sense to split the C and Haskell code into separate packages.
1188]
1189[Use the standard autogenModulesDir rather than a local copy
1190Duncan Coutts <duncan@haskell.org>**20080612092855]
1191[Fix the register --gen-pkg-config flag
1192Duncan Coutts <duncan@haskell.org>**20080612092425
1193 When specified without any file name it is supposed to use
1194 a default file name rather than be ignored completely.
1195]
1196[Filter out the Paths_pkgname file in sdist
1197Duncan Coutts <duncan@haskell.org>**20080612091810
1198 Fixes ticket #187 finally (I hope).
1199]
1200[Switch the hugs code to safe file reading and writing
1201Duncan Coutts <duncan@haskell.org>**20080610180947]
1202[Use writeFileAtomic everywhere instead of writeFile
1203Duncan Coutts <duncan@haskell.org>**20080610180727]
1204[Switch to scoped file reading rather than lazy readFile
1205Duncan Coutts <duncan@haskell.org>**20080610180528]
1206[Close the package.conf file after reading it
1207Duncan Coutts <duncan@haskell.org>**20080610180217
1208 We had a bug on windows where we open and read ghc's package.conf
1209 database but because we did not consume the final newline we did
1210 not close the file. Then when we called ghc-pkg to register a
1211 package it failed because it could not rename the open file.
1212]
1213[Add withFileContents and withUTF8FileContents
1214Duncan Coutts <duncan@haskell.org>**20080610180150
1215 Safe block scoped reading of files.
1216 These guarantee that the file gets closed.
1217]
1218[Fix pre-processing for haddock and executables
1219Duncan Coutts <duncan@haskell.org>**20080609233609
1220 Now look in the right place to find the pre-processed source
1221 files belongign to executables. Fixes ticket #252.
1222]
1223[Fail better when using haddock 2.x and the --hoogle flag
1224Duncan Coutts <duncan@haskell.org>**20080609190555
1225 Fixes ticket #249
1226]
1227[Install haddock interface only when generated
1228Duncan Coutts <duncan@haskell.org>**20080609190251
1229 This is actually Andrea Rossato's patch but it didn't merge
1230 cleanly due to more recent changes. Fixes ticket #250.
1231]
1232[Install license file into the right place
1233Duncan Coutts <duncan@haskell.org>**20080609185840
1234 even if the license file was kept in a subdir of the src tree.
1235 The canonical example was: license-file: debian/copyright
1236 It was being installed into $docdir/debian/ and failing since
1237 that dir did not exist. It's now installed into just $docdir.
1238]
1239[Note compatability issue in deprecation message for defaultUserHooks
1240Duncan Coutts <duncan@haskell.org>**20080527135830]
1241[Bump version due to api changes
1242Duncan Coutts <duncan@haskell.org>**20080529104714]
1243[Put spaces round || and && when displaying version range expressions
1244Duncan Coutts <duncan@haskell.org>**20080529104214
1245 This makes them much more readable.
1246]
1247[Change the PackageIndex invariant so the buckets are ordered
1248Duncan Coutts <duncan@haskell.org>**20080529095346
1249 Each bucket holds packages with the same name case-insensitively.
1250 Previously each buckets was internally unordered. Now they're
1251 ordered by the full package id which means first by package name
1252 case-sensitively and then by version.
1253]
1254[Add thisPackageVersion and notThisPackageVersion
1255Duncan Coutts <duncan@haskell.org>**20080529092607
1256 Util functions for makeing dependencies from package identifiers.
1257 thisPackageVersion    (foo-1.0) = foo ==1.0
1258 notThisPackageVersion (foo-1.0) = foo /=1.0
1259 The latter is handy as a constraint in dependency resolution.
1260]
1261[Add notThisVersion :: Version -> VersionRange
1262Duncan Coutts <duncan@haskell.org>**20080529092244
1263 Opposite of ThisVersion, it means /= x.y but is actually implemented
1264 as > x.y || < x.y as we do not have not or not equal as primitives.
1265]
1266[Write out Bool config values correctly
1267Duncan Coutts <duncan@haskell.org>**20080521153420
1268 Used by cabal-install when writing the default ~/.cabal/config file.
1269 Previously it was using show for type Maybe Bool and writing out
1270 "Just True" when of course it should just be "True".
1271]
1272[Rename doc/fptools.css to avoid the ghc build system cleaning it
1273Duncan Coutts <duncan@haskell.org>**20080520191700
1274 The user guide gets built in two different ways. There's a target
1275 in Cabal's the top level Makefile and there is also the stuff that
1276 the ghc build system uses. The ghc build system expects to copy in
1277 doc/fptools.css and then delete it again on make clean. We want a
1278 persistent copy so that we can make the docs when we've just got a
1279 standalone Cabal build tree, so that's now kept as doc/Cabal.css.
1280]
1281[Remove gnerated file (doc/fptools.css)
1282Ian Lynagh <igloo@earth.li>*-20080511130035]
1283[document data-dir field
1284Bertram Felgenhauer <int-e@gmx.de>**20080509131306]
1285[add data-dir field to package config
1286Bertram Felgenhauer <int-e@gmx.de>**20080509130448
1287 Cabal will look for data files to install relative to the directory given
1288 in the data-dir field, allowing package authors to better structure their
1289 source tree. There's no behavioural change by default.
1290]
1291[Allow the bindir, libdir and libexec dir to be specified via env vars too
1292Duncan Coutts <duncan@haskell.org>**20080519173808
1293 Same as for the datadir. Eg for package Foo, you'd use
1294 Foo_bindir=... Foo_datadir=... Foo_libexecdir=... ./Foo
1295 The next step would be generating a wrapper script that allows
1296 running the program inplace. It should also work for a library.
1297]
1298[Remove unused import
1299Duncan Coutts <duncan@haskell.org>**20080513094301]
1300[Do not display version tags
1301Duncan Coutts <duncan@haskell.org>**20080509094455]
1302[Remove Distribution.Compat.Exception from other-modules
1303Duncan Coutts <duncan@haskell.org>**20080514171822]
1304[Add PackageIndex.lookupPackageName and extra deletion functions
1305Duncan Coutts <duncan@haskell.org>**20080514162954]
1306[Check invariant on every construction and elide on lookups
1307Duncan Coutts <duncan@haskell.org>**20080514154104]
1308[Remove redundant Char test in parseBuildToolName
1309Duncan Coutts <duncan@haskell.org>**20080514153343
1310 It was made redundant after the isSymbol test was removed.
1311 Spotted by Igloo.
1312]
1313[Eliminate use of bracketOnError, use handle instead
1314Duncan Coutts <duncan@haskell.org>**20080514153206
1315 It's actually more appropriate anyway.
1316 This means we don't need any Distribution.Compat.Exception.
1317]
1318[Define bracketOnError in compat; fixes the build for GHC 6.4
1319Ian Lynagh <igloo@earth.li>*-20080514003919]
1320[Add in {-# OPTIONS #-} for the benefit of ghc-6.4.x
1321Duncan Coutts <duncan@haskell.org>**20080514144728
1322 Which do not grok OPTIONS_GHC or LANGUAGE pragmas
1323]
1324[fix scope errors in non-GHC branch of an #ifdef
1325Malcolm.Wallace@cs.york.ac.uk**20080514112530]
1326[Prefix the datadir env var with the package name
1327Duncan Coutts <duncan@haskell.org>**20080514094203
1328 Partly as it is more likely not to clash with other users and since
1329 in general different libs within a program may need different paths.
1330]
1331[Made it possible to run executeables with data files in place.
1332Johan Tibell <johan.tibell@gmail.com>**20080413134155
1333 Added an environment variable, DATA_DIR, that is checked before the
1334 installation data directory is used.
1335]
1336[Don't use Data.Char.isSymbol as it doesn't exist in base-1.0
1337Duncan Coutts <duncan@haskell.org>**20080514083405
1338 This is an alternative fix to creating a Distribution.Compat.Char
1339]
1340[Modules that use cpp have to have cpp language prama to say so
1341Duncan Coutts <duncan@haskell.org>**20080514082913
1342 Otherwise we cannot compile with just ghc --make
1343 which is actually essential for bootstrapping.
1344]
1345[Make Distribution.Compat.Char for isSymbol; fixes the build with GHC 6.4
1346Ian Lynagh <igloo@earth.li>*-20080514004703]
1347[Add new compat modules to Cabal file
1348Ian Lynagh <igloo@earth.li>**20080514022119]
1349[Make Distribution.Compat.Char for isSymbol; fixes the build with GHC 6.4
1350Ian Lynagh <igloo@earth.li>**20080514004703]
1351[Hack around lack of Read for Map in GHC 6.4
1352Ian Lynagh <igloo@earth.li>**20080514004400
1353 This is made worse by Show on Map being strange in GHC 6.4.
1354 The code could be better, but it works, and all the ugliness is in
1355 #if's that we can remove at some point down the line.
1356]
1357[Define bracketOnError in compat; fixes the build for GHC 6.4
1358Ian Lynagh <igloo@earth.li>**20080514003919]
1359[Print exit code and stderr for failing progs at debug level verbosity
1360Duncan Coutts <duncan@haskell.org>**20080513094055
1361 Also adjust the verbosity level we get during configure at -v3
1362 Should make it a bit easier to track down failing calls.
1363]
1364[Remove a hardcoded "dist"
1365Ian Lynagh <igloo@earth.li>**20080511181305]
1366[Make the "dist" directory configurable
1367Ian Lynagh <igloo@earth.li>**20080511155640]
1368[Remove gnerated file (doc/fptools.css)
1369Ian Lynagh <igloo@earth.li>**20080511130035]
1370[Fix a bug in the unlitter
1371Ian Lynagh <igloo@earth.li>**20080510233852
1372 If we see a birdtrack while we are in latex mode, then we stay in latex
1373 mode - don't change into bird mode!
1374]
1375[Display Cabal version in configure output with -v
1376Duncan Coutts <duncan@haskell.org>**20080509163507
1377 eg "Using Cabal-1.5.1 compiled by ghc-6.8"
1378 Annoyingly ghc doesn't give us its full version number.
1379]
1380[Add PackageIndex.reverseDependencyClosure
1381Duncan Coutts <duncan@haskell.org>**20080506234902
1382 It's similar to dependencyClosure but looks at reverse dependencies.
1383 For example it's useful to find all packages that depend on broken
1384 packages and are thus themselves broken.
1385]
1386[Improve style and performance of PackageIndex.dependencyClosure
1387Duncan Coutts <duncan@haskell.org>**20080506234447
1388 Keep the completed set as another PackageIndex rather than a list.
1389 We want to return an index at the end anyway and in the mean time
1390 we want to do lots of lookups to see if we've visited previously.
1391]
1392[Add PackageIndex.dependencyGraph that builds a Graph
1393Duncan Coutts <duncan@haskell.org>**20080506234326
1394 Useful for some more tricky queries.
1395]
1396[Add PackageIndex.delete
1397Duncan Coutts <duncan@haskell.org>**20080506131603
1398 We occasionally need to remove packages from an index
1399 eg to restrict the choices of a dependency resolver.
1400]
1401[Remove a test for the specific kind of exception for nhc98 compatibility
1402Duncan Coutts <duncan@haskell.org>**20080506102804
1403 This was the check for ghc-pkg failing. We cannot check for the
1404 exception being an ExitException since that assumes ghc's
1405 representation of the Exception type, whereas nhc98 defines:
1406 type Exception = IOError
1407]
1408[Cope better with ghc bug #2201, display a better error message
1409Duncan Coutts <duncan@haskell.org>**20080505085746
1410 Otherwise it can (and does) really confuse people.
1411 The problem is that the command $ ghc-pkg-6.9 describe '*' --user
1412 returns a non-zero exit code if the user package db is empty.
1413 ghc-pkg intends this exit code to tell us if the query returned
1414 any results (one can use more complex queries as tests) but Cabal
1415 interprets it as failure. Indeed we cannot distinguish it from
1416 any other kind of failure from ghc-pkg.
1417]
1418[Add PackageIndex.dependencyCycles
1419Duncan Coutts <duncan@haskell.org>**20080504131626
1420 Finds any cycles (strongly connected components) in the dependencies
1421 of set of packages. This is useful for checking the correctness of
1422 installation plans.
1423]
1424[Change dependencyInconsistencies to not take the pseudo top package
1425Duncan Coutts <duncan@haskell.org>**20080504130802
1426 The one case where we need the pseudo top package we can use
1427 PackageIndex.insert instead to get the same effect and there
1428 are other cases in cabal-install where we do not want a pseudo
1429 top package.
1430]
1431[Reverse the order of the args to PackageIndex.insert
1432Duncan Coutts <duncan@haskell.org>**20080504130317
1433 To take the index last like the other functions and like Data.Map.
1434 It is actually more convenient that way round.
1435]
1436[Revert the change about the --internal flag and a warning about haddock
1437Duncan Coutts <duncan@haskell.org>**20080501223131
1438 Just a bit of confusion over the behaviour of the --executable flag.
1439]
1440[Document --internal in Cabal.xml
1441Joachim Breitner <mail@joachim-breitner.de>**20080501153356]
1442[With --executable, --internal just adds --ignore-all-exports
1443Joachim Breitner <mail@joachim-breitner.de>**20080501152544]
1444[Implement --internal flag
1445Joachim Breitner <mail@joachim-breitner.de>**20080501152421
1446 Passing --internal to the haddock stage does these things:
1447  * Does not pass --hide parameter to haddock
1448  * Passes --ignore-all-exports parameter
1449  * Appends "(internal documentation)" to the title
1450]
1451[Add an --internal flag to HaddockFlags
1452Joachim Breitner <mail@joachim-breitner.de>**20080501145103]
1453[Revert the other `fmap` to (.)
1454Malcolm.Wallace@cs.york.ac.uk**20080501110006
1455 To avoid needing a non-H'98 instance of Functor for (->).
1456]
1457[Revert one change of (.) to fmap. It was not necessary and broke nhc98.
1458Duncan Coutts <duncan@haskell.org>**20080501104620
1459 The other one was needed as we changed a type from Bool to Maybe Bool.
1460]
1461[Add help command as per ticket #272
1462Duncan Coutts <duncan@haskell.org>**20080430133740
1463 "cabal help" behaves like "cabal --help"
1464 "cabal help cmd" behaves like "cabal cmd --help"
1465 Should still work with command line completion.
1466]
1467[Change handling of bool command line args to allow an unset state
1468Duncan Coutts <duncan@haskell.org>**20080429201123
1469 For bool valued flags we were always producing the command line
1470 string corresponding to a false flag value, even if the flag was
1471 not set. For example we'd always get "--disable-shared".
1472 It is important for cabal-install to be able to take an empty set
1473 of flags, override a few flags and turn the flags back into
1474 command line strings without getting a lot of extra defaults.
1475 Partly this is because we have to work with older versions of the
1476 Cabal library command line which does not recognise the new options.
1477]
1478[Remove the feature for highlighting the default cases in --help output
1479Duncan Coutts <duncan@haskell.org>**20080429191206
1480 Turns out it doesn't help us much because in many cases the initial/default
1481 flags are actually empty so we cannot identify the default values.
1482]
1483[Make the old test code compile
1484Duncan Coutts <duncan@haskell.org>**20080428225729
1485 Still a lot of bit rot, many of the full tests fail due to changed paths
1486]
1487[Fix license parsing
1488Duncan Coutts <duncan@haskell.org>**20080428192255
1489 Spotted by the testsuite which I'm trying to resurrect.
1490]
1491[Fix fix for #224.
1492Thomas Schilling <nominolo@gmail.com>**20080426164537
1493 
1494 Changing from list of Dependencies to Maps resulted in the wrong Monoid
1495 instance being used.  I'd still like to be able to run a test suite on
1496 this but that'd require a lot more work to do properly...
1497]
1498[When multiple specifying list fields in the same section combine them
1499Duncan Coutts <duncan@haskell.org>**20080423201519
1500 eg if you had:
1501 extensions: Foo
1502 extensions: Bar, Baz
1503 then previously we only ended up with [Bar, Baz]. Now we get them all.
1504 Only applies to list fields, for single fields the second value is taken
1505 and the first is silently discarded. This isn't good of course but the
1506 fix is harder since we're not in a context where we can report errors.
1507 Really we should just declare up front what kind of field it is and
1508 inherit the right behaviour automagically, either duplicates disallowed
1509 or allowed and combined with mappend.
1510]
1511[Normalise file names in warning messages
1512Duncan Coutts <duncan@haskell.org>**20080423190457
1513 We already do this for error messages.
1514]
1515[Fix the check for -XFooBar ghc-options flags to be more permissive
1516Duncan Coutts <duncan@haskell.org>**20080423190243
1517 Previously we rejected all such flags but that posed the problem that older
1518 versions of Cabal, like 1.1.6 did not understand new extensions so we
1519 could not actually follow the advice and use the extenion. So now we only
1520 warn about -X flags if they refer to old extensions that Cabal 1.1.6 knew
1521 about. If the .cabal file specifies cabal-version: >= 1.2 or similar
1522 (anything that excludes 1.1.6) then we warn about all -X flags.
1523]
1524[Add checks for unknown OS Arch and Compiler names
1525Duncan Coutts <duncan@haskell.org>**20080423151410
1526 They're ok locally but for distribution they need to be known.
1527]
1528[Package check now take a GenericPackageDescription
1529Duncan Coutts <duncan@haskell.org>**20080423150354
1530 Unfortunately in some cases we only have a already-configured
1531 PackageDescription to we have to expose a checkConfiguredPackage.
1532 We should refactor things so that we keep all the information
1533 even in a configured PackageDescription.
1534]
1535[Make warning messages show the file name
1536Duncan Coutts <duncan@haskell.org>**20080422141909]
1537[Update UTF8 code
1538Duncan Coutts <duncan@haskell.org>**20080422141539
1539 Some code and test cases taken from the utf8-string package.
1540 Updated copyright notice appropriately (I think).
1541]
1542[fix import for nhc98
1543Malcolm.Wallace@cs.york.ac.uk**20080422133009]
1544[Don't nub extra-libs in unionBuildInfo
1545Duncan Coutts <duncan@haskell.org>**20080420192312
1546 It's possible that we sometimes need to list the same library
1547 more than once if there are circular symbol references.
1548]
1549[Fix unionBuildInfo
1550Duncan Coutts <duncan@haskell.org>**20080420180520
1551 Fix ticket #264 to use nub only on the fields which are treated as sets.
1552 Probably we should be using the right types and mappend for each field.
1553 Change to construct a new value from scratch rather than overriding one
1554 of the two args. This helps to make sure we're updating all the field
1555 as we get a warning if we miss any. Turns out we were missing the ghc
1556 profiling and shared libs options which meant they were getting dropped.
1557 That had the effect of ghc-prof-options: in .cabal files being ignored.
1558 Thanks to 'midfield' from #haskell for spotting this.
1559]
1560[Add newtype FlagName and FlagAssignment type alias
1561Duncan Coutts <duncan@haskell.org>**20080415204854
1562 and use them in the appropriate places.
1563]
1564[Add PackageIndex.insert and reverse merge/mappend
1565Duncan Coutts <duncan@haskell.org>**20080415203637
1566 Packages in the second argument to merge now mask those in the first.
1567]
1568[Make finalizePackageDescription use CompilerId type
1569Duncan Coutts <duncan@haskell.org>**20080413224111
1570 Use the proper data type rather than a tuple (CompilerFlavor, Version)
1571]
1572[Fix #224.  We do not yet warn if the user specified a dependency that
1573Thomas Schilling <nominolo@gmail.com>**20080413182659
1574 did not occur in the package (it is just silently ignored.)
1575]
1576[Add 'readP_to_E' function that takes the longest parse.
1577Thomas Schilling <nominolo@gmail.com>**20080413182042]
1578[Add simple test case for the dependency resolution case.  This should
1579Thomas Schilling <nominolo@gmail.com>**20080413132002
1580 go into the test suite one day.
1581]
1582[Fix/Add documentation.
1583Thomas Schilling <nominolo@gmail.com>**20080413131839]
1584[Change dependency resolution algorithm.
1585Thomas Schilling <nominolo@gmail.com>**20080413131807
1586 
1587 There were two reasons to do this.  Firstly, this formulation makes it
1588 easier to add the --constraint command line flag that adds additional
1589 constraints on the packages that should be used.
1590 
1591 Secondly, with the orgininal algorithm it was possible to satisfy the
1592 constraint "foo < 1, foo > 2" if we had two versions of package "foo"
1593 which each satisfy one constraint.  This patch fixes this by requiring
1594 the same package to satisfy both constraints (which of course is
1595 impossible in this case).
1596]
1597[expose ghcOptions
1598jeanphilippe.bernardy@gmail.com**20080417211221
1599 This helps finding the options to pass to GHC API in various tools
1600]
1601[expose tryGetConfigStateFile
1602jeanphilippe.bernardy@gmail.com**20080417180248
1603 This is needed by Yi to (try to) load an arbitrary
1604 project.
1605]
1606[fix for #187 -- directory of Paths_packagename is included when looking for source files
1607Andres Loeh <mail@andres-loeh.de>**20080412204904]
1608[Check for the required cabal version early in parsing
1609Duncan Coutts <duncan@haskell.org>**20080409154655
1610 Previously we only checked the "cabal-version" field after parsing
1611 and all other configure processing. If the package really needs a
1612 later Cabal version it is of course highly likely that parsing or
1613 configure are going to fail and the user is not going to get the
1614 helpful error message about the version of Cabal required. So now
1615 we do the check early during parsing. If a later version is
1616 required and parsing subsequently fails, we now report the version
1617 issue, not the subsequent parse error. If parsing succeeds we
1618 still issue a warning which should be a useful hint to the user if
1619 subsequent configure processing fails.
1620]
1621[Use relative file paths in .cabal parse error messages
1622Duncan Coutts <duncan@haskell.org>**20080409154030
1623 Do this by normalising the file path in the error message
1624 and when looking for .cabal files, by looking in '.' rather
1625 than the absolute path of the current directory.
1626]
1627[Remove unused import
1628Duncan Coutts <duncan@haskell.org>**20080409073352]
1629[Fix for detecting ~/.cabal/ dir as a .cabal file
1630Duncan Coutts <duncan@haskell.org>**20080409073236
1631 Which happened if you use cabal configure in your home dir.
1632 Now produced the right error message, or if you actually put
1633 a cabal project in your home dir, it might actually work.
1634 Also, do the same fix for findHookedPackageDesc.
1635]
1636[Fix spelling in error message
1637Duncan Coutts <duncan@haskell.org>**20080408134610]
1638[Fix names of profiling libs
1639Duncan Coutts <duncan@haskell.org>**20080407013449
1640 I broke this recently when refactoring. Restore the original behaviour.
1641 Was generating "libHSfoo_p-1.0.a" when it should be "libHSfoo-1.0_p.a".
1642]
1643[TAG 1.5.1
1644Duncan Coutts <duncan@haskell.org>**20080329181329]
1645Patch bundle hash:
16463c8cb19e216068403f7e93d7ab62040f24def096