Ticket #751: extra_deriving.dpatch

File extra_deriving.dpatch, 111.1 KB (added by guest, 3 years ago)

patch to add DeriveFunctor?, DeriveFoldable?, and DeriveTypeable? extensions

Line 
1Sat Oct 23 15:03:16 CDT 2010  jwlato@gmail.com
2  * add DeriveFunctor, DeriveFoldable, and DeriveTraversable
3
4New patches:
5
6[add DeriveFunctor, DeriveFoldable, and DeriveTraversable
7jwlato@gmail.com**20101023200316
8 Ignore-this: c9a8f524090f890630d11b9ddc073eba
9] {
10hunk ./Language/Haskell/Extension.hs 252
11   -- @deriving@ for any class with an instance for the underlying type.
12   | GeneralizedNewtypeDeriving
13 
14+  -- | [GHC § 7.5.3] Allow @deriving@ of a 'Functor'.
15+  | DeriveFunctor
16+
17+  -- | [GHC § 7.5.3] Allow @deriving@ of 'Foldable'.
18+  | DeriveFoldable
19+
20+  -- | [GHC § 7.5.3] Allow @deriving@ of a 'Traversable'.
21+  | DeriveTraversable
22+
23   -- | [Hugs § 7.1] Enable the \"Trex\" extensible records system.
24   | ExtensibleRecords
25 
26hunk ./Language/Haskell/Extension.hs 443
27   , NamedFieldPuns
28   , PatternGuards
29   , GeneralizedNewtypeDeriving
30+  , DeriveFunctor
31+  , DeriveFoldable
32+  , DeriveTraversable
33 
34   , ExtensibleRecords
35   , RestrictedTypeSynonyms
36}
37
38Context:
39
40[Make the .cabal file fully 1.10-compliant
41Ian Lynagh <igloo@earth.li>**20101020133037
42 Ignore-this: 66409062c8d4b698f69aa58a83b85ef1
43 Add Default-Language field, and change Extensions to Default-Extensions.
44]
45[Require "cabal-version: >= 1.10" as we use the new testsuite syntax
46Ian Lynagh <igloo@earth.li>**20101020131829
47 Ignore-this: 6aecdd77f78234f0359af0509f1ba636
48]
49[Fix warnings: Remove duplicate imports
50Ian Lynagh <igloo@earth.li>**20101020125710
51 Ignore-this: dea9d889078c729459e1ab92a8e54c08
52]
53[Merge conflicts
54Ian Lynagh <igloo@earth.li>**20101020112200
55 Ignore-this: d96cab403511f914d9d8df1a29ca58ee
56]
57[Add final newline
58Simon Marlow <marlowsd@gmail.com>**20101013125337
59 Ignore-this: 99e055c7186219369902a63c63c3fd76
60 Something in the Windows build was complaining about the lack of a
61 final newline.
62]
63[Update the pretty printer to the current testsuite interface
64Duncan Coutts <duncan@haskell.org>**20101020120506
65 Ignore-this: 480a349e93be8228f81f93632cabe2c7
66]
67[Improve error messages about programs not being found
68Duncan Coutts <duncan@haskell.org>**20101019074436
69 Ignore-this: 9b4daf9a09179482049146669af59f76
70 Make it clear it is a program we are talking about, not a library.
71]
72[Add a note about the remaining issue with runhugs scripts
73Duncan Coutts <duncan@haskell.org>**20101018232248
74 Ignore-this: 3e83a3238d08cdb3ad9e353d43fbf7fa
75]
76[Add package QA checks for the new language and extensions fields
77Duncan Coutts <duncan@haskell.org>**20101018180343
78 Ignore-this: a063fd21e86e4e19b8152258c5a0711f
79]
80[Check at configure time that languages are supported by the compiler
81Duncan Coutts <duncan@haskell.org>**20101018180300
82 Ignore-this: e3988c2eff46129b1f2732cd9647c935
83]
84[Add compiler support for using the new languages and extensions fields
85Duncan Coutts <duncan@haskell.org>**20101018180151
86 Ignore-this: ec1b61767d492dcd2dfa6a07ace3b982
87]
88[Add hugs support for the languages and extensions fields
89Duncan Coutts <duncan@haskell.org>**20101018175647
90 Ignore-this: 9b39c392119aebbbad22a64dcf992f88
91 Incidentally, should fixe ticket #43.
92]
93[Add parsing for the new language and extensions fields
94Duncan Coutts <duncan@haskell.org>**20101018091918
95 Ignore-this: c59c8ef96c83f35e293c8f495b89fda6
96]
97[Add new language and extensions fields (internal data structures)
98Duncan Coutts <duncan@haskell.org>**20101018090620
99 Ignore-this: f49dd9278b0053bc441a37beeb2f6145
100 New fields default-language and other-languages for specifying the
101 base languages for the package, e.g. Haskell98, Haskell2010
102 New fields default-extensions and other-extensions for the language
103 extensions. Separate from the old extensions field.
104 The separation lets us express the difference between declaring to
105 the outside world that a package uses certain languages or extensions
106 and whether certain languages or extensions should be applied to
107 all modules in the package component.
108]
109[Extend the Compiler interface to list the supported languages
110Duncan Coutts <duncan@haskell.org>**20101018082608
111 Ignore-this: 8b1ab7cc14f35dd6604c2a85173ad48
112]
113[Add a Language type, starting with Haskell98 and Haskell2010
114Duncan Coutts <duncan@haskell.org>**20101018082208
115 Ignore-this: de80df5317b5d44900e30c947a86364b
116]
117[Merge and tweaks following pretty printer changes
118Duncan Coutts <duncan@haskell.org>**20101018195344
119 Ignore-this: 513a2b0ce02fed98f5beba0dd893eb16
120]
121[pretty printer fixes (FreeText starting with ., version tags, version range parens, option order).
122jnf@arcor.de**20101011094517
123 Ignore-this: 400ac5be014f1529632bd16ffd878a92
124]
125[reentered accidentally lost exports
126jnf@arcor.de**20100929105852
127 Ignore-this: 2ad4ecfac6feba4c2a59a131c05c8a40
128]
129[new cabal pretty printer.
130jnf@arcor.de**20100929103653
131 Ignore-this: 43f954ec31373e327f2c29fcbf3f0865
132]
133[Fix old doc links
134Duncan Coutts <duncan@haskell.org>**20100727012425
135 Ignore-this: 9e9d0f2045adebe7bb38b5d1a7d2d71a
136]
137[Add note about ticket #689 about deprecated extensions
138Duncan Coutts <duncan@haskell.org>**20100622151328
139 Ignore-this: 56cf0027a4c10f4c07045e2ccdbb819c
140]
141[Head version needs cabal-version: >=1.8 due to test stanza
142Duncan Coutts <duncan@haskell.org>**20101017155521
143 Ignore-this: 6652a529071ccb2eb1cdeda3451aac30
144]
145[Remove unused cpp version definition
146Duncan Coutts <duncan@haskell.org>**20101017155218
147 Ignore-this: 8dc3425bd811d60d28c2eaf365ec1e66
148]
149[Change the way we handle the version number during bootstrapping
150Duncan Coutts <duncan@haskell.org>**20101016191252
151 Ignore-this: e21559acc28b7bd811dc4fe147e645b2
152 Means we only need to have the version in one place now. Yay.
153]
154[Restore compatability with ghc-6.8 and 6.6 but drop support for ghc-6.4
155Duncan Coutts <duncan@haskell.org>**20101016182714
156 Ignore-this: 6aef933e4bfb4a9c47021d17370805ea
157]
158[Add the Cabal unit tests as a test-suite stanza
159Duncan Coutts <duncan@haskell.org>**20101016165656
160 Ignore-this: b9abbfe867754b8bf5b02919c1f25509
161 Still some other tests that need hooking up to this mechanism
162]
163[Update the unit tests of the testsuite feature
164Duncan Coutts <duncan@haskell.org>**20101016165615
165 Ignore-this: bc08d2a8609943f40e901c42916072c2
166]
167[Rename test --human-log to just --log
168Duncan Coutts <duncan@haskell.org>**20101016153441
169 Ignore-this: a2ccb95759a67ae2888a2db2d2ba678d
170 Still have --machine-log as a separate flag
171]
172[Remove the test --append-human-log and --replay features
173Duncan Coutts <duncan@haskell.org>**20101016153235
174 Ignore-this: 23d9c6431f929cd4078c54e03928cef2
175]
176[Add instance Text TestShowDetails parsing and use it for --show-details flag
177Duncan Coutts <duncan@haskell.org>**20101016153015
178 Ignore-this: 1018e874b8acbf51bd7081df1210285
179 Rather than Read/Show
180]
181[Fix a cabal-version check so it accepts the field missing entirely
182Duncan Coutts <duncan@haskell.org>**20101016151929
183 Ignore-this: e30f6fe6e7f54cc5c791a3b6761e93de
184]
185[Add testsuites to the allBuildInfo function, used mainly in checks
186Duncan Coutts <duncan@haskell.org>**20101013172229
187 Ignore-this: be876b609bf1266f3928f25e94f87703
188]
189[Update the message for a package check
190Duncan Coutts <duncan@haskell.org>**20101013172206
191 Ignore-this: 875cc7c6a763321f2e3251195c9dfb1e
192]
193[Add a few TODOs about package checks
194Duncan Coutts <duncan@haskell.org>**20101013172128
195 Ignore-this: 837bda043d740f0b92549f3379d43909
196]
197[Check test-suite sections even when they have been disabled at configure time
198Duncan Coutts <duncan@haskell.org>**20101013171851
199 Ignore-this: 938113ec297b2e5c511a72c5ac8a86d
200]
201[Default to Haskell98 for GHC 7.x
202Duncan Coutts <duncan@haskell.org>**20101013022258
203 Ignore-this: c34b946f55e5ec054cc842914f58b5a5
204 GHC 7 defaults to Haskell2010, we stick with 98 for the moment.
205 We will later introduce a new language field to control this.
206]
207[Change the syntax and behaviour of the cabal-version field
208Duncan Coutts <duncan@haskell.org>**20101013014933
209 Ignore-this: c4cb33360d623ff312b5c3f2d78f730c
210 For historical reasons the cabal-version is specified with a version range,
211 to indicate the range of versions of tools that the package will work with.
212 We now think it makes more sense to specify the version of the Cabal spec
213 that the package follows. Old Cabal versions will not be able to parse simple
214 versions in this field. So we initially make the parser allow plain versions
215 but then we add a check to warn about using it prior to Cabal-1.12 at which
216 point it will be allowed.
217 Added a check about using version ranges that are not of the form '>= x.y'.
218 Also change behaviour to ignore upper bounds in the given version range.
219]
220[Fix duplicate import warnings
221Ian Lynagh <igloo@earth.li>**20101012131227
222 Ignore-this: a9b51a864f95206f4d972f1e7506be55
223]
224[Remove the ghc Makefile stuff for the old docbook xml
225Duncan Coutts <duncan@haskell.org>**20101010210026
226 Ignore-this: 6c714ba98b60e15e44577b64d2de3e1c
227 Not woth keeping it, none of it can sensibly be reused. The GHC
228 devs will need to add something new for the markdown user guide.
229]
230[Update Makefile for new markdown user guide
231Duncan Coutts <duncan@haskell.org>**20101010205938
232 Ignore-this: dcb5bd072c619516e23329f170458d72
233]
234[Add a FIXME about parsing cabal files
235Duncan Coutts <duncan@haskell.org>**20101010203421
236 Ignore-this: 12804d54e81b5ea5878e52628717bc1d
237]
238[Refactor the missing VCS info QA check
239Duncan Coutts <duncan@haskell.org>**20101010192346
240 Ignore-this: fa6a50a9bd43cf9069e7cd16e23a2b4e
241 Starting with Marc Weber's code and just moving
242 it about and making it fit in a bit nicer.
243]
244[Remove redundant import
245Duncan Coutts <duncan@haskell.org>**20101010190724
246 Ignore-this: a978a6a257a31a57d07d57471f04af49
247]
248[Rename LocalBuildInfo extraArgs to extraConfigArgs to avoid name clashes
249Duncan Coutts <duncan@haskell.org>**20101010190036
250 Ignore-this: 817061002399a51cbf31da2ba002737b
251]
252[Add a bunch of TODOs about the test feature
253Duncan Coutts <duncan@haskell.org>**20101010173245
254 Ignore-this: f2acc005fef4996a2c5260356eaf219f
255]
256[Change how the test suite interfaces are represented, parsed and used
257Duncan Coutts <duncan@haskell.org>**20101010162526
258 Ignore-this: 8773e7756fc23bc04c9e5b2b14031512
259 Also, stick to version 0.9 of the "detailed" test interface, since it's
260 not quite finalised yet. Misc other minor code cleanups.
261]
262[Added test suites to Cabal User Guide
263Thomas Tuegel <ttuegel@gmail.com>**20100811141332
264 Ignore-this: 3975acc803fdba809ca1c8abeef21677
265 Ticket #215 (Overhaul support for packages' tests).
266]
267[Removed "$stdio" from acceptable template variables
268Thomas Tuegel <ttuegel@gmail.com>**20100810201828
269 Ignore-this: c50e05e9a73c726567eff0a364f29750
270 Ticket #215 (Overhaul support for packages' tests).  In the usage message, the
271 template variable "$stdio" was incorrectly listed as being available in the
272 "--human-log" and "--machine-log" flags.  The variable has been removed.
273]
274[Added --test-option(s) flags
275Thomas Tuegel <ttuegel@gmail.com>**20100809161341
276 Ignore-this: cea82267bbc0b16d5f21bfc086285905
277 Ticket #215 (Overhaul support for packages' tests).  This patch adds the
278 --test-option(s) flags for passing command-line options to test executables.
279]
280[Respect verbosity flag when outputting test log
281Thomas Tuegel <ttuegel@gmail.com>**20100809151517
282 Ignore-this: 73668e49eeea216c27b5233c7e3fe2cb
283 Ticket #215 (Overhaul support for packages' tests).  This patch corrects the
284 printing of the human-readable test log to the terminal so the setting of the
285 verbosity flag is respected.
286]
287[Added --replay option to cabal test
288Thomas Tuegel <ttuegel@gmail.com>**20100803164932
289 Ignore-this: c97d70e21d3847aa4d889304a7e94451
290 Ticket #215 (Overhaul support for packages' tests).  This patch adds support for
291 using machine logs from previous runs to replay tests with the same options.
292 When using --replay, Cabal will replay all test suites listed in the machine log
293 specified; test suite names specified on the command line are ignored.
294]
295[Renamed "library" test suite type to "detailed"
296Thomas Tuegel <ttuegel@gmail.com>**20100803141125
297 Ignore-this: 457c1a155020303962ae55b2bcd8415c
298 Ticket #215 (Overhaul support for packages' tests).
299]
300[Fixed human test log output for failing tests
301Thomas Tuegel <ttuegel@gmail.com>**20100803030246
302 Ignore-this: f9d3ef127cdb849762af79f31a0c80c9
303 Ticket #215 (Overhaul support for packages' tests).  This patch corrects the bug
304 in the human test log output to terminal where the line wrapping code in Cabal
305 caused terminal control codes output by the test framework to be placed
306 incorrectly.  Line wrapping is no longer performed.
307]
308[Displaying human-readable test log when requested
309Thomas Tuegel <ttuegel@gmail.com>**20100730151818
310 Ignore-this: 98f0adb8e47a52a59ccb3581982157ed
311 Ticket #215 (Overhaul support for packages' tests).  This patch causes Cabal to
312 display the contents of the human-readable log file on the terminal when run
313 with --show-details=always or when run with --show-details=failures and a
314 failure is detected.  The structure of the test logging code has been changed
315 for clarity to debug a problem where test executables that write to their stderr
316 channel disrupt terminal output.
317]
318[Added debugging output to test summary
319Thomas Tuegel <ttuegel@gmail.com>**20100730134008
320 Ignore-this: 826d20639f17ae0650d1c9b8a56b43a7
321 Ticket #215 (Overhaul support for packages' tests).
322]
323[Using correct name of log file in human-readable log
324Thomas Tuegel <ttuegel@gmail.com>**20100730041720
325 Ignore-this: 3c6df44f5d6414ce1fe2b58c50590726
326 Ticket #215 (Overhaul support for packages' tests).  Previously, human-readable
327 logs listed the name of the temporary file where test suite output is
328 initially logged.
329]
330[Renamed option '--test-filter' to '--show-details'
331Thomas Tuegel <ttuegel@gmail.com>**20100730023026
332 Ignore-this: 8b78eed5ccf9cb7ed6a55b86d886e5cc
333 Ticket #215 (Overhaul support for packages' tests).
334]
335[Displaying location of test suite log on terminal
336Thomas Tuegel <ttuegel@gmail.com>**20100729141159
337 Ignore-this: e98a67180c6ff1511b86e442f9acf3c1
338 Ticket #215 (Overhaul support for packages' tests).  It was decided that
339 indicating the location of the human-readable test suite log made Cabal's test
340 runner easier to use.
341]
342[Passing names of test suites to run to test stage
343Thomas Tuegel <ttuegel@gmail.com>**20100726150811
344 Ignore-this: bf556a0a06fe26b132f1eb5caec21805
345 Ticket #215 (Overhaul support for packages' tests).
346]
347[Fixed deprecation warning in Distribution.TestSuite
348Thomas Tuegel <ttuegel@gmail.com>**20100726141448
349 Ignore-this: 64cd6a5a936efd6b0ee0f50564440a9d
350 Ticket #215 (Overhaul support for packages' tests).  Warning resulted from use
351 of Control.OldException.
352]
353[Fixed help message for machine-log path template
354Thomas Tuegel <ttuegel@gmail.com>**20100724164652
355 Ignore-this: 52205830166a307eedce807e908f7a0a
356 Ticket #215 (Overhaul support for packages' tests).  The message previously
357 indicated that $test-suite is acceptable in the machine log path template,
358 which is not true.
359]
360[Catching exceptions when lifting pure tests to IO
361Thomas Tuegel <ttuegel@gmail.com>**20100724134336
362 Ignore-this: 89a2265a94ee0082935d236dd64c12d4
363 Ticket #215 (Overhaul support for packages' tests).
364]
365[Using common function to name path environment variables in PathsModule and Test
366Thomas Tuegel <ttuegel@gmail.com>**20100722145840
367 Ignore-this: 5cea1a3e77acb84a162de3d1c85a3fe6
368 Ticket #215 (Overhaul support for packages' tests).  The names of environment
369 variables used to set package paths at runtime were previously hard-coded into
370 the function that generates the paths module.  A function generating the
371 variable names is now exported from Distribution.Simple.Build.PathsModule and
372 used to set the datadir in Distribution.Simple.Test to prevent breakage if the
373 naming scheme changes.
374]
375[Added documentation for machine-readable test log types
376Thomas Tuegel <ttuegel@gmail.com>**20100722140017
377 Ignore-this: 60f934e11b1c3ee4df9f48677528af47
378 Ticket #215 (Overhaul support for packages' tests).
379]
380[Improved documentation for Distribution.TestSuite
381Thomas Tuegel <ttuegel@gmail.com>**20100722124239
382 Ignore-this: f7b1261270c4815b0691ce33c664908c
383 Ticket #215 (Overhaul support for packages' tests).
384]
385[Fixed documentation errors in Distribution.Simple.Test
386Thomas Tuegel <ttuegel@gmail.com>**20100721221844
387 Ignore-this: b111e727b4a556b17c2a1eb4dfd6971b
388 Ticket #215 (Overhaul support for packages' tests).
389]
390[Renamed Distribution.TestSuite.optionLookup to lookupOption
391Thomas Tuegel <ttuegel@gmail.com>**20100721170724
392 Ignore-this: 3a5e79fd0a14d974e664a74af5cb83d1
393 Ticket #215 (Overhaul support for packages' tests.)
394]
395[Added console-style test summary information to human-readable logs
396Thomas Tuegel <ttuegel@gmail.com>**20100721163516
397 Ignore-this: 494c2220285ef4bda036ecdfd7242adf
398 Ticket #215 (Overhaul support for packages' tests).
399]
400[Added flag allowing human-readable test logs to be appended instead of overwritten
401Thomas Tuegel <ttuegel@gmail.com>**20100721160421
402 Ignore-this: f157a4830f82a4a978c1cfb1931a0258
403 Ticket #215 (Overhaul support for packages' tests).
404]
405[Added clarifying comments to Distribution.Simple.Test
406Thomas Tuegel <ttuegel@gmail.com>**20100721160417
407 Ignore-this: 100000890351a75557a6dfa0f71c419f
408 Ticket #215 (Overhaul support for packages' tests).
409]
410[Using a separate PathTemplateEnv for machine test logs
411Thomas Tuegel <ttuegel@gmail.com>**20100720204724
412 Ignore-this: 4920c6e88b8d3d3d788ba42d6b5268af
413 Ticket #215 (Overhaul support for packages' tests).  Previously, the use of a
414 dummy test suite name would lead to unintuitive expansions of the PathTemplate
415 governing the location of the machine-readable package test log.
416]
417[Exporting machine log types from Distribution.Simple.Test
418Thomas Tuegel <ttuegel@gmail.com>**20100720204558
419 Ignore-this: 6920621dbabf471cef7d688904b9b1b8
420 Ticket #215 (Overhaul support for packages' tests).  These types were exported
421 to enable parsing of test logs by external utilities.
422]
423[Added 'check' and 'optionLookup' to Distribution.TestSuite
424Thomas Tuegel <ttuegel@gmail.com>**20100720134707
425 Ignore-this: 21ef44dc0087ff8333b1722309f8fbdd
426 Ticket #215 (Overhaul support for packages' tests).  These functions were added
427 for the benefit of test runner authors.
428]
429[Saving Options from test runs for reproducability
430Thomas Tuegel <ttuegel@gmail.com>**20100715180003
431 Ignore-this: 858c387d83e93e193f7c66df3901f6e3
432 Ticket #215 (Overhaul support for packages' tests).  Saving the Options used
433 required changes to the TestSuite interface, with the Option values now being
434 specified as Strings and not Dynamics.  This was necessary because the lack of
435 a Read instance for Dynamic.
436]
437[Improvements to test suite logging
438Thomas Tuegel <ttuegel@gmail.com>**20100715020549
439 Ignore-this: b47f4358302b283e93ccaff81db123f2
440 Ticket #215 (Overhaul support for packages' tests).  This patch includes proper
441 support for both machine- and human-readable logs.
442]
443[Removed duplicate code for test suite interface version checks
444Thomas Tuegel <ttuegel@gmail.com>**20100713144835
445 Ignore-this: e06c264351013480a66c013ca398db4b
446 Ticket #215 (Overhaul support for packages' tests).  Duplicate code for checking
447 the test suite interface version was replaced with a single function
448 'testVersion1 :: Version -> Bool' exported from Distribution.PackageDescription.
449]
450[Added QA checks for test suite name conflicts
451Thomas Tuegel <ttuegel@gmail.com>**20100712154401
452 Ignore-this: df13e2f16cf4e879f5d5f6538c6e7db8
453 Ticket #215 (Overhaul suppport for packages' tests).
454]
455[New test suite log format
456Thomas Tuegel <ttuegel@gmail.com>**20100708132650
457 Ignore-this: 96a300e6acedd0de63757713fbb1d832
458 Ticket #215 (Overhaul support for package's tests).  This patch adds a new test
459 log file format based on the TestSuiteLog data structure.  The interface between
460 Cabal and the library test suite runner has consequently changed.
461]
462[Inheriting existing environment for test suite executables
463Thomas Tuegel <ttuegel@gmail.com>**20100707222244
464 Ignore-this: 6f08245c83817a85c7da5a05f810abd6
465 Ticket #215 (Overhaul support for packages' tests).  Previously, the test
466 runner replaced the environment for test suite executables with one containing
467 only the datadir path for package data files.  For test suites invoking other
468 programs, it is necessary to preserve the system paths, so the datadir path
469 variable is appended to the inherited environment.
470]
471[Improvements to library test suite runner, including documentation
472Thomas Tuegel <ttuegel@gmail.com>**20100624181304
473 Ignore-this: 45baa7905de5423e91707f52e590bbad
474 Ticket #215 (Overhaul support for packages' tests).
475]
476[Renamed 'result' and 'getResult' to 'run' and 'runM'
477Thomas Tuegel <ttuegel@gmail.com>**20100623184640
478 Ignore-this: 7bb6dd598eaa135fcbf73e82ab0d2ce2
479 Ticket #215 (Overhaul support for packages' tests).
480]
481[Setting datadir environment variables when running tests
482Thomas Tuegel <ttuegel@gmail.com>**20100623183201
483 Ignore-this: 7a9e26c684417871609847f6e4d4883e
484 Ticket #215 (Overhaul support for packages' tests).
485]
486[Added convenience functions and default instances making export of 'Test' constructors unnecessary
487Thomas Tuegel <ttuegel@gmail.com>**20100623151934
488 Ignore-this: 1979265e345e268787b5b6fe49bdfd64
489 Ticket #215 (Overhaul support for packages' tests).
490]
491[Added support for running the default stub executables Cabal creates for library test suites
492Thomas Tuegel <ttuegel@gmail.com>**20100623151903
493 Ignore-this: 2be1bbfb07a7fc0e3a0d2c9e5bdf2252
494 Ticket #215 (Overhaul support for packages' tests).
495]
496[Removed dependency on extensible-exceptions from detailed test suite interface
497Thomas Tuegel <ttuegel@gmail.com>**20100623150227
498 Ignore-this: 50ad3ee8c2dc5f62b48aa84d0318c3e6
499 Ticket #215 (Overhaul support for packages' tests).
500]
501[Added support for building detailed library test suites
502Thomas Tuegel <ttuegel@gmail.com>**20100623150222
503 Ignore-this: 1f2a6034af9adf493088265cc8481df5
504 Ticket #215 (Overhaul support for packages' tests).  This patch preprocesses
505 and builds library test suites.  The fake packages are created for each test
506 suite, where the fake package and test suite share the same name; the packages
507 and libraries are registered in the inplace package database so that test
508 agents can build stub executables against them.
509]
510[Improved security of test log file creation
511Thomas Tuegel <ttuegel@gmail.com>**20100621114726
512 Ignore-this: 6fed3aa4ebcb587b48bb2a256fcbc61b
513 Ticket #215 (Overhaul support for packages' tests).  The algorithm previously
514 used to name the log files for test output suffers from a known vulnerability
515 due to the predictability of chosen names.
516]
517[Added detailed test interface
518Thomas Tuegel <ttuegel@gmail.com>**20100617210631
519 Ignore-this: 161624662d6ec7946a33415ddbff4445
520 Ticket #215 (Overhaul support for packages' tests).  This patch provides the
521 detailed test interface for exposing individual tests to Cabal and other test
522 agents.  It also provides the simple function Cabal will provide as the default
523 test runner.
524]
525[Fixed test suite breakage due to TestSuite API changes
526Thomas Tuegel <ttuegel@gmail.com>**20100629212935
527 Ignore-this: 8de228836efb206e1adb833c841ae757
528 Ticket #215 (Overhaul support for packages' tests).  The update to the
529 TestSuite parser which stopped disallowed configurations during parsing also
530 broke the existing test suite with API changes.
531]
532[Added --test-filter flag
533Thomas Tuegel <ttuegel@gmail.com>**20100624175917
534 Ignore-this: e8fcaddf34a42326d0f3a1081aafb724
535 Ticket #215 (Overhaul support for packages' tests).
536]
537[Qualified import of Distribution.Simple.Setup in Distribution.Simple.Haddock
538Thomas Tuegel <ttuegel@gmail.com>**20100623193755
539 Ignore-this: ec5750f56b22f67e5862036fcdd8ecee
540]
541[Using path templates to name test log files
542Thomas Tuegel <ttuegel@gmail.com>**20100622162317
543 Ignore-this: af6564bf6154e29e363ee343c9fc5806
544 Ticket #215 (Overhaul support for packages' tests).
545]
546[More docs about the meaning of the cabal-version field
547Duncan Coutts <duncan@haskell.org>**20101010154251
548 Ignore-this: 381ede9227f7a9db78f1007364660648
549]
550[Document how Cabal-Version affects behaviour of build-depends
551Ben Millwood <haskell@benmachine.co.uk>**20100926025550
552 Ignore-this: ba6367db93c15906331457a0468db436
553]
554[initial support for building executables with UHC
555Atze Dijkstra <atze@cs.uu.nl>**20100923214130
556 Ignore-this: bbbf1adcec2fcfe87ce1db18c804f21a
557]
558[Added flags related to UHC, uhcbase package
559Atze Dijkstra <atze@cs.uu.nl>**20100706115341
560 Ignore-this: f7dd2b14e3146f8844635ddcb70ac3b9
561]
562[Minor changes to the auto-reconfiguration feature.
563Duncan Coutts <duncan@haskell.org>**20101010144111
564 Ignore-this: 944f595482ea42eb1907fb1150d6d4c0
565 Change the messages slightly. Make configure return the
566 new lbi, rather than having to re-read the lbi from file
567 (avoiding potential infinite loop if the IO failed).
568]
569[Auto-reconfiguration when .cabal is newer than setup-config
570Dmitry Astapov <dastapov@gmail.com>**20100825131106
571 Ignore-this: 22ab2b6de0251f6cf1da7c2538544d4
572 
573 This patch adds "ConfigFlags" to the "LocalBuildInfo" and reuses them to
574 perform "configureAction" when .cabal file is changed. This has
575 the same effect as re-running "configure" with the most recent used
576 set of options, which should be the sensible thing to do.
577 
578 Closes #294, #477, #309 and #518.
579]
580[Fix processing of ghc-shared-options
581Duncan Coutts <duncan@haskell.org>**20101009204809
582 Ignore-this: 571b3d70fbc705282b9fdfdafdc2f009
583 Original patch was:
584   Sun Oct  7 13:41:53 BST 2007  Thorkil Naur <naur@post11.tele.dk>
585     * Fix processing of shared options
586 Re-recorded due to code churn
587]
588[Correct spelling of 'transative'
589Duncan Coutts <duncan@haskell.org>**20101009202836
590 Ignore-this: fe7ec5ae621135024403ae0aa42094c2
591 Original patch by:
592   Thu Aug 21 21:19:51 MDT 2008  dbueno@gmail.com
593     * Correct spelling of 'transative'.
594 Re-recorded due to conflict.
595]
596[print a warning if repository location isn't specified and the cabal project looks like being tracked by a version control system
597marco-oweber@gmx.de**20091129192013
598 Ignore-this: 5ce5073f1793193e437353490eff0276
599]
600[Bump Cabal HEAD version to 1.11.0
601Duncan Coutts <duncan@haskell.org>**20101010154518
602 Ignore-this: 407e2b1c0de8c10f399841b3fbea1dd3
603]
604[TAG 1.10 branch forked
605Duncan Coutts <duncan@haskell.org>**20101010155050
606 Ignore-this: 7b0241166f919e2a374a2a69669b2e6b
607]
608[Bump Cabal version number to 1.10.0.0
609Ian Lynagh <igloo@earth.li>**20100923141731
610 Ignore-this: 8b1d551dacebdd3f1b8ebdc4e040825c
611]
612[Bump dependencies
613Ian Lynagh <igloo@earth.li>**20100917183849
614 Ignore-this: 4b0979a3f1d16c779abc3c94876ed36c
615]
616[add a separator before the pid suffix to the tmpdir template
617Jens Petersen <petersen@haskell.org>**20100823012755
618 Ignore-this: 3327cb2d1d1f199efd5c0a9e55f8cc38
619 
620 Currently Cabal just appends the pid to the package name-version
621 which makes it hard to see the actual package version number.
622 This patch just inserts a '-' between name-version and pid.
623 
624]
625[Mention self-referential dependency feature in Cabal >= 1.8.0.4.
626ezyang@mit.edu**20100611022749
627 Ignore-this: 64289dc45e9b6cd83a549636c062a8a4
628]
629[Pass additional parameters in generated shell scripts
630Matthias Kilian <kili@outback.escape.de>**20100516161230
631 Ignore-this: 73d7f4da34a1de1bb90f592e4febe23f
632 While here, simplify the argument list construction in
633 invocationAsShellScript a little bit.
634]
635[update for containers-0.4
636Simon Marlow <marlowsd@gmail.com>**20100903105147
637 Ignore-this: eefb1a1b230812397bee0a3cd2aa723
638]
639[Add a note explaining the logic of Igloo's previous preprocessing change
640Duncan Coutts <duncan@haskell.org>**20100820120031
641 Ignore-this: ae227a082ffa2890ae5e9c0261c464c4
642 We previously checked during preprocessing that there is some source
643 file for every module and produce a nice error message if not (rather
644 than having ghc --make fail later). We only looked for source files in
645 the source directories, ie not the target/output build dir, since the
646 build dir is where pre-processed files go, not original source files.
647 Igloo's change should allow builds where there is no original source file
648 at all, so long as there is some generated file in the build dir. In
649 particular this allows custom Setup.hs files to generate modules out of
650 thin air and for things to mostly work, even though the rest of the build
651 system is unaware about how the file got built.
652]
653[When looking for already pre-processed source files, check the build directory
654Ian Lynagh <igloo@earth.li>**20100820001755
655 Fixes hscolour'ing Config.hs in GHC
656]
657[Type signature for local ioerror
658simonpj@microsoft.com**20100816101000
659 Ignore-this: d6ec567b79cfbdc3aa86f541b5e9c737
660]
661[Add a space to the VERSION_pkg #defines
662Ian Lynagh <igloo@earth.li>**20100805125306
663 We were generating things like
664     #define VERSION_ghc_prim"0.2.0.0"
665 rather than
666     #define VERSION_ghc_prim "0.2.0.0"
667]
668[Add two local type signatures
669simonpj@microsoft/com**20100728163539
670 Ignore-this: 5c89b52c6c906429f9dc6c4c712c5206
671 
672 I'm adding these type signatures to satisfy the "do not generalise
673 local let/where" rule that GHC is taking on.
674 
675 The signatures are clearly correct, but I was surprised at the
676 polymorphism needed.  For example
677 
678 parseOptVersion :: ReadP r Version
679 parseOptVersion = parseQuoted ver <++ ver
680   where ver :: ReadP r Version
681         ver = parse <++ return noVersion
682         noVersion = Version{ versionBranch=[], versionTags=[] }
683 
684 Note that 'ver' really is called at two different types!  That
685 in turn is because of the type of (<++)
686 
687   (<++) :: ReadP a a -> ReadP r a -> ReadP r a
688   (+++) :: ReadP r a -> ReadP r a -> ReadP r a
689 
690 Note the "a a" in the first arg, which is very unusual.
691 For example, compare the type of (+++).
692 
693 Changing it to match the type of (+++) makes ReadP fail to compile,
694 though, so I assume it's right as it stands. But surely this deserves
695 a comment?!
696 
697]
698[Fix warning
699Ian Lynagh <igloo@earth.li>**20100620180455
700 Ignore-this: b5913b856eacc34001eaf1198aee74df
701]
702[Removed extra "test-suite" field in test-suite stanza
703Thomas Tuegel <ttuegel@gmail.com>**20100616150948
704 Ignore-this: 4351031606d853474aadb09e393a52b9
705 Ticket #215 (Overhaul support for packages' tests).  Previously, the test-suite
706 stanza was allowed to contain a test-suite field, such as the executable stanza
707 parser allows.  This was removed because it is only required by legacy support
708 for executables and no legacy support is required for test suites.
709]
710[Added QA check requiring cabal-version: >= 1.9.2 for packages with test-suite stanzas
711Thomas Tuegel <ttuegel@gmail.com>**20100616150359
712 Ignore-this: 4d713596feb7aaee53d182f5ed6cb0ec
713 Ticket #215 (Overhaul support for packages' tests).
714]
715[Setting exit code indicating failure when one or more test suites fails
716Thomas Tuegel <ttuegel@gmail.com>**20100615123631
717 Ignore-this: 244d3725fd2627250887df19bd84452a
718 Ticket #215 (Overhaul support for packages' tests).
719]
720[Added test suite output logging options
721Thomas Tuegel <ttuegel@gmail.com>**20100615123340
722 Ignore-this: 28c850b6a2bf69db6aa551e0ee8999b3
723 Ticket #215 (Overhaul support for packages' tests).
724]
725[--help shows first long option and added --hyperlink-sources
726Vo Minh Thu <noteed@gmail.com>**20100608145444
727 Ignore-this: 8eea9aa3fc87c38131844444096c9fab
728 The --help option output now prints only the first (if any)
729 long option. Because of this, --{enable,disable}-optimisation
730 (british spelling) is simply added to the list of options
731 without testing showOrParseArgs. --hyperlink-sources is now
732 also accepted for the haddock command.
733]
734[Do not recognise the "executable" field inside an executable stanza
735Duncan Coutts <duncan@haskell.org>**20100616150146
736 Ignore-this: 15df99db5c5ae688fe5d1c67d24377d1
737 The executable field is only for the legacy pre-Cabal-1.2 stanza syntax.
738]
739[Parsing TestSuite through intermediate data structure
740Thomas Tuegel <ttuegel@gmail.com>**20100609213406
741 Ignore-this: 997a00dfc2128d9b7d4c8f8b3c1cd0ea
742 Ticket #215 (Overhaul support for packages' tests).  By parsing the test suite
743 stanza through an intermediate data structure, we can isolate errors due to
744 missing required fields in the parsing stage and avoid having error handlers
745 througout the code.
746]
747[Added QA checks for executable test suites
748Thomas Tuegel <ttuegel@gmail.com>**20100609180636
749 Ignore-this: 52ccd6572f89310180372d1d3eb4393b
750 Ticket #215 (Overhaul support for packages' tests).
751]
752[Updated test suite for new test suite stanza format
753Thomas Tuegel <ttuegel@gmail.com>**20100608161618
754 Ignore-this: 7d1ec575ac5ba02eb5322becd371e4a9
755 Ticket #215 (Overhaul support for packages' tests).
756]
757[Producing more useful output when running test suites
758Thomas Tuegel <ttuegel@gmail.com>**20100608154847
759 Ignore-this: 645ea35c621dc3cd835e055228844c85
760 Ticket #215 (Overhaul support for packages' tests).  The previous output format
761 made it difficult to distinguish successful test suites from failed test
762 suites.
763]
764[Using safe 'runProcess' interface to run executable test suites
765Thomas Tuegel <ttuegel@gmail.com>**20100608152001
766 Ignore-this: 38c0697bec7dc428a0a9d63bc0fce6da
767 Ticket #215 (Overhaul support for packages' tests).  The use of the old
768 interface also makes it possible to log stdout and stderr without separating
769 the two.
770]
771[New test-suite stanza format with 'main-is' and 'test-module' fields
772Thomas Tuegel <ttuegel@gmail.com>**20100608150739
773 Ignore-this: 1baf9ec7c2bcfb637c4064b9b3c6112a
774 Ticket #215 (Overhaul support for packages' tests).  Using a new format for the
775 test-suite stanza in the .cabal file, similar to the source-repository stanza.
776]
777[Consistently using 'test suite' instead of 'testsuite'
778Thomas Tuegel <ttuegel@gmail.com>**20100607205935
779 Ignore-this: 242cd1e23afc0ca2f3227421a91dd62e
780 Ticket #215 (Overhaul support for packages' tests).
781]
782[Fix haddock syntax
783Ian Lynagh <igloo@earth.li>**20100615112848
784 Ignore-this: d3c3b114f6df4eeb4dbf87b2f8f8f77c
785]
786[Fix haddock syntax
787Ian Lynagh <igloo@earth.li>**20100615111829
788 Ignore-this: 31e81b5887bc683fe58aa6eefcba40e5
789]
790[Use -fno-warn-deprecations in Distribution.Simple
791Ian Lynagh <igloo@earth.li>**20100615105418
792 Ignore-this: 78ce8578ee05e7b2fe9b23ba7449282b
793 Works around:
794     libraries/Cabal/Distribution/Simple.hs:78:0:
795         Warning: In the use of `runTests'
796                  (imported from Distribution.Simple.UserHooks):
797                  Deprecated: "Please use the new testing interface instead!"
798]
799[Merge the dylib-install-name patch
800Duncan Coutts <duncan@haskell.org>**20100612162152
801 Ignore-this: 3fe05b2892d4bed2bdf6f23ab110e669
802]
803[Make it so cabal passes the dylib-install-name when building dynamic libraries on Mac OS/X.
804Stephen Blackheath <oversensitive.pastors.stephen@blacksapphire.com>**20091001053101
805 Ignore-this: 76b7a6a834389eba436e71829510e0ce
806]
807[Restored 'runTests' UserHook
808Thomas Tuegel <ttuegel@gmail.com>**20100604175635
809 Ignore-this: 128369134d640522c9e5fc3008c121c2
810 Ticket #215 (Overhaul support for packages' tests). Deprecated 'runTests'
811 UserHook to maintain compatibility with old packages, but encourage authors to
812 update to the new interface.
813]
814[Logging test output to file
815Thomas Tuegel <ttuegel@gmail.com>**20100603210204
816 Ignore-this: 6f2254b3e0c330039992f01957e62a8f
817 Ticket #215 (Overhaul support for packages' tests). Log test output to a
818 uniquely named file in the system temporary directory. This avoids flooding the
819 terminal with long error messages.
820]
821[Defined constant for matching test type 'executable == 1'
822Thomas Tuegel <ttuegel@gmail.com>**20100603150106
823 Ignore-this: 9eacb8f34bf7f86b704bf1aa3ac94660
824 Ticket #215 (Overhaul support for packages' tests).
825]
826[Corrected function 'withTest' and updated documentation
827Thomas Tuegel <ttuegel@gmail.com>**20100602203311
828 Ignore-this: adb13ce3e294405e1a9706202465feb1
829 Ticket #215 (Overhaul support for packages' tests).
830]
831[Test command runs all executable testsuites
832Thomas Tuegel <ttuegel@gmail.com>**20100601145827
833 Ignore-this: 7e5ccf7c9061e52b82d1647bd3b5e1c0
834 Ticket #215 (Overhaul support for packages' tests). The 'test' command runs all
835 executable tests listed in the package description when the package is
836 configured with tests enabled. The exit codes and standard output/error are
837 collected and reported.
838]
839[Using more specific error messages for unsupported test types
840Thomas Tuegel <ttuegel@gmail.com>**20100601145430
841 Ignore-this: c6fa9827e890fa37cb06c8005c14edb
842 Ticket #215 (Overhaul support for packages' tests). Replaced generic error
843 message about unsupported test types with specific error messages for each
844 stage of the build/test process. This required changing the type of 'withTest'
845 to better match 'withExe' and 'withLib'.
846]
847[Check testsuite during package sanity checks
848Thomas Tuegel <ttuegel@gmail.com>**20100527204242
849 Ignore-this: 1a80a8da0d8d55778605c87abbaa7708
850 Ticket #215 (Overhaul support for packages' tests). Check for
851 duplicate testsuite name or modules during 'cabal check'.
852]
853[Check for duplicate testsuite names
854Thomas Tuegel <ttuegel@gmail.com>**20100527195438
855 Ignore-this: a9425d813d5e396a834c2cb33162090c
856 Ticket #215 (Overhaul support for packages' tests). During
857 package configuration, check for testsuites with the same name
858 as other testsuites or executables.
859]
860[Conditional inclusion of testsuites
861Thomas Tuegel <ttuegel@gmail.com>**20100526195728
862 Ignore-this: a342fbd013e4c1b61f1a8c0a707c7a2f
863 Ticket #215 (Overhaul support for packages' tests). The
864 "--enable-tests" and "--disable-tests" command-line flags are
865 introduced, with "--disable-tests" being the default. If tests
866 are disabled, the testsuites are stripped from the
867 GenericPackageDescription during the configure stage, before
868 dependencies are resolved.
869]
870[Testsuite for Test stanza parsing
871Thomas Tuegel <ttuegel@gmail.com>**20100526195509
872 Ignore-this: 72405e3311a7b0827decd07251373176
873 Ticket #215 (Overhaul support for packages' tests). Parse and
874 finalize a simple, dummy .cabal file containing a Test stanza.
875 Compare with the PackageDescription it which should result
876 from parsing.
877]
878[Configure and build executable testsuites
879Thomas Tuegel <ttuegel@gmail.com>**20100526194355
880 Ignore-this: ae27f422a5565778c43bd25c553b2952
881 Ticket #215 (Overhaul support for packages' test). During the
882 build stage, executable testsuites are handled analogously to
883 ordinary executables. This means their sources are
884 preprocessed and compiled. To actually compile, the build
885 stage actions are performed on a dummy Executable.
886]
887[Parse Test stanzas
888Thomas Tuegel <ttuegel@gmail.com>**20100526194027
889 Ignore-this: aba259fefc52dd6cf95e58624a527b8a
890 Ticket #215 (Overhaul support for packages' tests). Test
891 stanzas are parsed into the GenericPackageDescription and
892 PackageDescription data structures.
893]
894[Fix QA check on version range syntax to detect use of ()'s
895Duncan Coutts <duncan@haskell.org>**20100602173703
896 Ignore-this: ae60f158b63b458a42086f262b2bc277
897 The problem was that we do the QA check on using the new version range
898 syntax after parsing. The new syntax allows ()'s but previously the
899 code threw them away in the parser stage. We now retain them in the
900 AST and deal with them appropriately. This now allows the QA check to
901 be accurate and detect things like "build-depends: base (>= 4.2)".
902]
903[Fix the wrapping of ghc options for the LHC backend.
904Lemmih <lemmih@gmail.com>**20100602154611
905 Ignore-this: 92e42803c0db45403a5ef618fd5d31ef
906]
907[change LHC builder to use new command line interface
908austin seipp <as@0xff.ath.cx>**20100531173525
909 Ignore-this: ffece261e28f302cfbe0d7de51ed03a
910]
911[Add QA checks for tested-with field
912Duncan Coutts <duncan@haskell.org>**20100601174045
913 Ignore-this: 96fcaa07e52edd94dabfbbe546dfc9f
914 Not allowed invalid version ranges. Also check for use of new syntax.
915]
916[Bump version to 1.9.2
917Duncan Coutts <duncan@haskell.org>**20100531121711
918 Ignore-this: 462e00ecf4497be46209d310de16f192
919]
920[Make test suite dependencies less strict
921Johan Tibell <johan.tibell@gmail.com>**20100527203753
922 Ignore-this: 509c4e9a5dc2fc33fc39a4c6a748fc89
923]
924[Fix warnings in LHC module
925Duncan Coutts <duncan@haskell.org>**20100528004559
926 Ignore-this: 4def35179c2509f9cd0d393ada9ffb23
927]
928[Add a README explaining how to build and run the test suite
929Johan Tibell <johan.tibell@gmail.com>**20100527212701
930 Ignore-this: 13b5cf62708214d5fc3b40fb3662084d
931 Fixes ticket #693.
932]
933[Make ar create index for in-place libraries when building
934Johan Tibell <johan.tibell@gmail.com>**20100527211104
935 Ignore-this: 93e79618b6f015cb069abaadcab96ff
936 Should fix ticket #318
937]
938[Fix building packages with ghc-6.8 or older
939Duncan Coutts <duncan@haskell.org>**20100521141048
940 Ignore-this: 65952598af9ac520c3d2764a8a2e63c
941]
942[There's no rts package for LHC.
943Lemmih <lemmih@gmail.com>**20100519192710
944 Ignore-this: 65094c079459b6283fc5b00fa1f1aac2
945]
946[Fix register --global/--user
947Duncan Coutts <duncan@haskell.org>**20100515213204
948 Ignore-this: 86a5e9dc03e47a8dc11595d6eadb5937
949 It is a rather silly feature and is not guaranteed to work. Having
950 configured and built using one set of dbs, there's no guarantee you
951 can register into another set. We should probably just remove it.
952]
953[Add some diagnostic info to some internal errors
954Ian Lynagh <igloo@earth.li>**20100515193810
955 When giving an "internal error: unexpected package db stack" error, say
956 what the stack is.
957]
958[Fix warnings
959Ian Lynagh <igloo@earth.li>**20100509003309]
960[Allow filepath-1.2.*
961Simon Marlow <marlowsd@gmail.com>**20100505101313
962 Ignore-this: c5bf7a356c3347b2d907e8ad7e2d7f3a
963]
964[Add the hs output dir to the C include dirs when compiling C code
965Duncan Coutts <duncan@haskell.org>**20100422001101
966 Ignore-this: 11ff682fcceb3e0bede08f316c46c654
967 This allows C files in a package to include the _stub.h files
968 that ghc generates. This is needed for the C code to be able
969 to call the C functions exported using the FFI.
970]
971[Add the autogen dir to the C include dirs when checking foreign libs
972Duncan Coutts <duncan@haskell.org>**20100422000908
973 Ignore-this: f014681ebb019fa310cbf4a87d18637e
974 This allows packages to generate .h files and stick them in the
975 autogen dir, and still have local .h files include those generated
976 header files. Used in gtk2hs.
977]
978[Do not pass the CopyFlags to the per-compiler installLib/Exe functions
979Duncan Coutts <duncan@haskell.org>**20100420225830
980 Ignore-this: 62277568628a3eed636c06f4df57353e
981]
982[Bump version number
983Duncan Coutts <duncan@haskell.org>**20100420224011
984 Ignore-this: 135d62045b5e6aedeeb865797b15cf53
985]
986[Better error message when installing for unsupported compilers
987Duncan Coutts <duncan@haskell.org>**20100420223935
988 Ignore-this: 2f1369d9028e1f7639e73735aa25c62
989]
990[Pass the exe/lib to the per-compiler installLib/Exe functions
991Duncan Coutts <duncan@haskell.org>**20100420223652
992 Ignore-this: 5ddfb4517bb0f89529256f8ae75d5854
993 So the generic code iterates over the libs/exes rather than
994 the per-compiler code doing that. It'll help when we have
995 more complex inter-component dependencies.
996 This is also the proper fix for ticket #525.
997]
998[cleaning up and removing warnings in UHC support
999Andres Loeh <andres@cs.uu.nl>**20100330171045
1000 Ignore-this: 1adb659d170f9cb7478e0110dcc198f7
1001]
1002[significant progress on UHC support
1003Andres Loeh <andres@cs.uu.nl>**20100330170211
1004 Ignore-this: 193f161988c2f03032f3b73c290a8043
1005]
1006[started on UHC support
1007Andres Loeh <andres@cs.uu.nl>**20091215125422
1008 Ignore-this: d3dc77aaf26be3fc1696eaf4a9d8e0f1
1009]
1010[Use Setup.hs when calling setup
1011Duncan Coutts <duncan@haskell.org>**20100321111750
1012 Ignore-this: 117881f91837aa2755549edff49063fe
1013 In case we've got a compiled Setup binary
1014]
1015[Add the new DoRec extension to Language.Haskell.Extension
1016Ian Lynagh <igloo@earth.li>**20100416205627
1017 Part of GHC trac #3968.
1018]
1019[Remove BSD4 from the list of known/suggested licenses
1020Duncan Coutts <duncan@haskell.org>**20100416040538
1021 Ignore-this: 8903f1d478b7c034143f700ef0873c75
1022 We do not ever want to suggest the use of the BSD4 license.
1023 This will fix a QA check message and the 'cabal init' command.
1024 This change should be safe to push into the stable 1.8 branch.
1025]
1026[Add a VERSION_<package> define for each package in cabal_macros.h
1027Mathieu Boespflug <mboes@tweag.net>**20100329104632
1028 Ignore-this: a3f8a43f9f15b044f7e9c5a31359717
1029 
1030 The MIN_VERSION_<package> macros are useful to test whether we have at
1031 least a given version of a dependency, but we can't extract the actual
1032 version of dependency using this macro. This patch makes the version
1033 of each dependency available to the code of the cabal package, which
1034 can be useful when constructing global names in Template Haskell, for
1035 instance.
1036 
1037]
1038[Also check compiling C headers at configure-time
1039Duncan Coutts <duncan@haskell.org>**20100415063657
1040 Ignore-this: ce1d74257f28099530eaa2cf8da4d42
1041 So we now both check if the headers can be pre-processed and separately
1042 if they can be compiled. If it fails the pre-processing check then it
1043 is usually (but not always) a missing header. If it fails to compile
1044 then it is definately borked, not missing. Error messages reflect this.
1045]
1046[better error messages for erroneous local C headers
1047mcallister.keegan@gmail.com**20100409022543
1048 Ignore-this: d3840ee01cf2076fe89d14e7ccc2ccac
1049 Addresses the issue in tickets #532, #648.
1050 When the all-together test of C libraries and headers fails, use only the
1051 preprocessor to probe the headers individually.  If they all check out,
1052 give a more equivocal error message and suggest -v3.
1053 
1054]
1055[document all the language extensions
1056mcallister.keegan@gmail.com**20100409060559
1057 Ignore-this: 21de95e9f614235dd2c447297c33fc0f
1058 Resolves ticket #344.
1059]
1060[Various minor improvements to c2hs support
1061Duncan Coutts <duncan@haskell.org>**20100413083252
1062 Ignore-this: 37c3a2896d2d6229408f8db300817a92
1063   - ticket #327: require c2hs version 0.15 as minimum
1064   - ticket #536: pass c2hs include dirs of dependent packages
1065   - ticket #537: pass c2hs location of gcc -E
1066]
1067[Get ghc, hsc2hs and cpphs programs more robustly in preprocessing
1068Duncan Coutts <duncan@haskell.org>**20100412023642
1069 Ignore-this: 14e2d1dd686dbb3256178729c4af5331
1070 Avoid pattern match failure in obscure circumstances
1071 Should fix ticket #383
1072]
1073[Move .hs-boot file pre-processor hack to a more sensible place
1074Duncan Coutts <duncan@haskell.org>**20100412015127
1075 Ignore-this: 3608adbc406e99018862efa996c1ad96
1076]
1077[Also set -stubdir for haddock-stomping workaround
1078Duncan Coutts <duncan@haskell.org>**20100411194550
1079 Ignore-this: f4ca351bb11ff3ffcc1f5e0332dd9db4
1080 Probably needed in the case of foreign exports and TH.
1081]
1082[Adjust cpp options passed to cpp, c2hs and hsc2hs
1083Duncan Coutts <duncan@haskell.org>**20100411194213
1084 Ignore-this: 7d65b0ddcaac8bdda9954aee5a81fe1d
1085  * Not changed for cpp, just code refactored.
1086  * For c2hs add cpp-options and the sysdefines (-D${os}_BUILD_OS etc)
1087  * For hsc2hs add the sysdefines
1088]
1089[de-haskell98 wash2hs
1090gwern0@gmail.com**20100309015416
1091 Ignore-this: 3b47d4982f1ebe40d9d78d71a9ab2d4d
1092]
1093[de-haskell98 twoMains
1094gwern0@gmail.com**20100309015328
1095 Ignore-this: 48f03ca94606814463112fdcc8b9e98f
1096]
1097[Add markdown version of user guide
1098Duncan Coutts <duncan@haskell.org>**20100411161012
1099 Ignore-this: 3bee08cc1631204ade2c7d8086f52dfc
1100 Plan is to switch over from docbook xml.
1101]
1102[Workaround the fact that haddock stomps on our precious .hi and .o files
1103Duncan Coutts <duncan@haskell.org>**20100408225156
1104 Ignore-this: 301321a9ad31195da3cf78d8a0a72edd
1105 When using "haddock --optghc-XTemplateHaskell" haddock will write out .o
1106 and .hi files. This is bad because it replaces the ones we previously
1107 built. This results in broken packages later on. Of course haddock
1108 should not do this, it should write temp files elsewhere. The workaround
1109 is to tell haddock to write the files to a temp dir.
1110]
1111[Remove an out-of-date comment
1112Ian Lynagh <igloo@earth.li>**20100326131752]
1113[Factorise duplicate finding in package description checks
1114Duncan Coutts <duncan@haskell.org>**20100320215132
1115 Ignore-this: 9a0e068b05f611f77bee85ca5b943919
1116]
1117[Fix local inplace registration for ghc-6.12
1118Duncan Coutts <duncan@haskell.org>**20100320172108
1119 Ignore-this: 197ec567d3bf300c6ed6430f03a5409d
1120 This is for the case of intra-package deps where the lib has to be
1121 registered into a local package db. We use "-inplace" suffix for
1122 the local installed package ids (rather than using an ABI hash).
1123]
1124[On windows, pick up ar.exe from the ghc install before looking on the $PATH
1125Duncan Coutts <duncan@haskell.org>**20100320143643
1126 Ignore-this: a3931cad3a8fd821a9b1ddd893db8c32
1127 Some ar.exe versions floating around seem to have weird non-posix behaviour.
1128]
1129[Document the "manual" attribute of flags
1130Ian Lynagh <igloo@earth.li>**20100317203744]
1131[Tweak doc Makefile
1132Ian Lynagh <igloo@earth.li>**20100317202418]
1133[Fix mismatch between arch and os variables in D.S.InstallDirs interpolation
1134Andrea Vezzosi <sanzhiyan@gmail.com>**20100119031642
1135 Ignore-this: 3a66bd9771f294fc1f52be8824ca051b
1136]
1137[Get the correct value of $topdir on Windows with GHC 6.12.1
1138Ian Lynagh <igloo@earth.li>**20091230204613]
1139[Revert the change to filter out deps of non-buildable components
1140Duncan Coutts <duncan@haskell.org>**20091229222533
1141 Ignore-this: 7f6f18997e28b843422d2c55a8bce302
1142 It does not work as intended and gives inconsistent results between
1143 cabal install and cabal configure. The problem with the approach was
1144 that we were filtering out the dependencies of non-buildable components
1145 at the end. But that does not help much since if one of the deps of
1146 the non-buildable component were not available then we would have
1147 failed earlier with a constraint failure. A proper solution would have
1148 to tackle it from the beginning, not just as a filter at the end.
1149 The meaning of build-depends and buildable: False needs more thought.
1150]
1151[Silence warning about unused paramater
1152Duncan Coutts <duncan@haskell.org>**20091229211649]
1153[Remove deprecated --copy-prefix= feature
1154Duncan Coutts <duncan@haskell.org>**20091228203513
1155 It's been deprecated since Cabal 1.1.4 (over 3 years).
1156 The replacement since then has been --destdir=
1157]
1158[Fix generating Paths_pkgname module with hugs
1159Duncan Coutts <duncan@haskell.org>**20091228202618
1160 In the case that the progsdir is not relative to the $prefix
1161]
1162[Change preprocessModule to preprocessFile
1163Duncan Coutts <duncan@haskell.org>**20091228190125
1164 So we can stop pretending that "main-is: foo.hs" is a module name.
1165 Also allows us to deprecate ModuleName.simple which bypasses the
1166 ModuleName type invariant.
1167]
1168[Move registering to per-compiler modules, fix inplace register for hugs
1169Duncan Coutts <duncan@haskell.org>**20091228025220]
1170[Add a number of TODOs
1171Duncan Coutts <duncan@haskell.org>**20091228024948]
1172[Fix priority of the two global hugs package dbs
1173Duncan Coutts <duncan@haskell.org>**20091228024849]
1174[Fix name clashes in hugs module
1175Duncan Coutts <duncan@haskell.org>**20091228024814]
1176[Add parenthesis to macros in cabal_macros.h
1177Antoine Latter <aslatter@gmail.com>**20091229023358
1178 Ignore-this: 5c5e7244d10bcd82da2cbf4432b30a6d
1179 Now this like "#if !MIN_VERSION_base(4,2,0)" will work
1180]
1181[Make the datadir follow the $prefix on Windows
1182Duncan Coutts <duncan@haskell.org>**20091228165056
1183 Ignore-this: ce33a328dbf2d1e419cf6e5047bff091
1184 This is slightly experimental, we'll see how it goes. See ticket #466.
1185]
1186[Simplify getInstalledPackages and callers
1187Duncan Coutts <duncan@haskell.org>**20091223234857
1188 Ignore-this: 7927e992e0b040347dc24530219eb8eb
1189 No longer returns Maybe, we can find installed packages for all
1190 the compilers we support (and this feature is a requirement for
1191 support for new compilers).
1192 This is an API change so cannot merge to Cabal-1.8.x branch.
1193]
1194[Implement support for hugs and nhc98 package databases
1195Duncan Coutts <duncan@haskell.org>**20091223233557
1196 Ignore-this: aa12e2a278e89544ead82d7c8d3b325a
1197 That is, work out which packages are installed for hugs and nhc98.
1198 In both cases there is special support for the core packages.
1199 In future both should use the standard method when they supply
1200 proper installed package info files for the bundled libraries.
1201]
1202[Find the version of hugs
1203Duncan Coutts <duncan@haskell.org>**20091222175415
1204 This is really hard and rather nasty.
1205]
1206[Convert XXX comments to TODO or FIXME as appropriate
1207Duncan Coutts <duncan@haskell.org>**20091222160247]
1208[Fixes for compiling Cabal with hugs
1209Duncan Coutts <duncan@haskell.org>**20091223103916
1210 Ignore-this: f49c719d33e3909996f391e80911c51c
1211]
1212[Make lack of language extensions an error not a warning
1213Duncan Coutts <duncan@haskell.org>**20091216204505
1214 Also improve the error message somewhat
1215]
1216[Specify DOCTYPE when generating userguide html
1217Duncan Coutts <duncan@haskell.org>**20091216035321
1218 Ignore-this: 9d3b09e3c593a8d5f39b691ef2ceb377
1219 Useless docbook tools.
1220]
1221[Registering packages needs all the package dbs listed
1222Duncan Coutts <duncan@haskell.org>**20091211133233
1223 Ignore-this: 249cc7ae1452bfa8e970f0ba24d4ff5f
1224 Important for the case of registering inplace when we're using a
1225 specific package db, e.g. when doing isolated builds.
1226]
1227[Switch a few distribution checks to build warnings
1228Duncan Coutts <duncan@haskell.org>**20091202143549
1229 Ignore-this: bbadf449113d009b51837bc1dd3488af
1230 In particular the one about -prof since this leads to borked packages.
1231]
1232[Make it so cabal passes the dylib-install-name when building dynamic libraries on Mac OS/X.
1233Ian Lynagh <igloo@earth.li>**20091204144142
1234 This is a rerecord of
1235     Stephen Blackheath <oversensitive.pastors.stephen@blacksapphire.com>**20091001053101
1236 to avoid conflicts.
1237]
1238[Take line endings into account in IOEncodingUTF8 mode
1239Duncan Coutts <duncan@haskell.org>**20091202002553
1240 Ignore-this: 59a60d9adaf90e94b69336bbb5619d2f
1241 When collecting the output from programs.
1242]
1243[Install shared libraries as executable files
1244Ian Lynagh <igloo@earth.li>**20091201145349
1245 Fixes GHC trac #3682. Patch from juhpetersen.
1246]
1247[Fix warnings
1248Ian Lynagh <igloo@earth.li>**20091129164643]
1249[Tweak layout to work with alternative layout rule
1250Ian Lynagh <igloo@earth.li>**20091129163614]
1251[Bump version in HEAD branch to 1.9.0
1252Duncan Coutts <duncan@haskell.org>**20091129161734
1253 Ignore-this: bbbc9fbb9abdee3f51bdcf972554d93d
1254 The 1.8.x branch remains at 1.8.0.1
1255]
1256[Update changelog for 1.8.x release
1257Duncan Coutts <duncan@haskell.org>**20091129161613
1258 Ignore-this: 43b797ce87ba439869c080e0a8e20eab
1259]
1260[Package registration files are always UTF8
1261Duncan Coutts <duncan@haskell.org>**20091129153341
1262 Ignore-this: 7863e05c5514d1fee5165fda3815b116
1263 As is the output from ghc-pkg dump.
1264]
1265[Add support for text encoding when invoking a program
1266Duncan Coutts <duncan@haskell.org>**20091129153110
1267 Ignore-this: c839875b970d31200d98ead9c8730215
1268 Can be either locale text or specifically UTF8.
1269 Also tidy up the rawSystemStd* variants and pass
1270 a text/binary mode flag for the input and output.
1271]
1272[Change where we add a trailing newline when showing InstalledPackageInfo
1273Duncan Coutts <duncan@haskell.org>**20091128171755
1274 Ignore-this: 5e91f3e0988cf60572eefc374735727f
1275 Do it in the pretty-printing rather than just before writing the file.
1276]
1277[Update docs on a couple util functions
1278Duncan Coutts <duncan@haskell.org>**20091128171114
1279 Ignore-this: f8df6d6f06dcc2f173180fa063aba091
1280]
1281[Update docs for class Package
1282Duncan Coutts <duncan@haskell.org>**20091128170909
1283 Ignore-this: 2b36ab0d8c422465d489ca2dc7010204
1284]
1285[Be less verbose when checking foreign deps
1286Duncan Coutts <duncan@haskell.org>**20091128170810
1287 Ignore-this: 576c714db6ac0dad7220f9824552c30c
1288]
1289[Add backwards compat version of findProgramOnPath
1290Duncan Coutts <duncan@haskell.org>**20091128152444
1291 Ignore-this: be475bbcbb539d2f2f834a2f0ca235f9
1292 Break a couple fewer package's Setup.hs files
1293]
1294[Experimentally, change order of user-supplied program args
1295Duncan Coutts <duncan@haskell.org>**20091120135619
1296 Ignore-this: f9b8b4ecc68ee8b2294768c95a2ef774
1297 Put them last rather than first.
1298]
1299[Fix building with base 3
1300Duncan Coutts <duncan@haskell.org>**20091117141958
1301 Ignore-this: 5ee71207064f5298bb40bafbf537d684
1302]
1303[Canonicalise the package deps returned by finalizePackageDescription
1304Duncan Coutts <duncan@haskell.org>**20091109193556
1305 Ignore-this: eb489503c4a9e27dd8d427cf707461f9
1306 The guarantee is supposed to be that each package name appears at most
1307 once with all the constraints for that dependency. The cabal-install
1308 planner relies on this property.
1309]
1310[Improve the error message for missing sh.exe on Windows
1311Duncan Coutts <duncan@haskell.org>**20091109182624
1312 Ignore-this: 5801ce5598387ad238e61a075285ddf0
1313 When ettempting to run ./configure scripts. Fixes ticket #403.
1314]
1315[Deprecated PatternSignatures in favor of ScopedTypeVariables
1316Niklas Broberg <niklas.broberg@gmail.com>**20090603121321
1317 Ignore-this: cc1cb044e3db25cb53e1830da34a317b
1318]
1319[JHC support requires jhc >= 0.7.2
1320Duncan Coutts <duncan@haskell.org>**20091109113232
1321 Ignore-this: 97e456357263977187c2768c957b8be7
1322]
1323[Remove some commented out code
1324Duncan Coutts <duncan@haskell.org>**20091106133047
1325 Ignore-this: f4a122d90207de861acc5af603cf55ea
1326]
1327[JHC.getInstalledPackages: remove check for --user flag, since JHC-0.7.2 supports local packages
1328haskell@henning-thielemann.de**20091029103515]
1329[JHC.buildLib: make this working for JHC-0.7.2
1330haskell@henning-thielemann.de**20091028223004]
1331[JHC.getInstalledPackages: adapt to package lists emitted by jhc-0.7.2
1332haskell@henning-thielemann.de**20091028211802]
1333[Bump minor version
1334Duncan Coutts <duncan@haskell.org>**20091104180106
1335 Ignore-this: 6ccbdc1bfa80f66cf74584ff66018582
1336 A few changes since version 1.8.0 that was released with ghc-6.12rc1
1337]
1338[Tweak the assertion on overall package deps
1339Duncan Coutts <duncan@haskell.org>**20091104175912
1340 Ignore-this: abe2735469828829219938ee4275ebda
1341]
1342[Exclude non-buildable components when constructing the overall package deps
1343Duncan Coutts <duncan@haskell.org>**20091104130435
1344 Ignore-this: 60a11926991ce894da07f3e4c54ed257
1345]
1346[Pass profiling flag to ghc when compiling C files.
1347Bertram Felgenhauer <int-e@gmx.de>**20091103165558
1348 Ignore-this: 422eaeca8c7246170931adecc8556f15
1349 The main effect of this change is that the PROFILING macro gets defined
1350 when compiling C files and profiling is enabled. This is useful for code
1351 that inspects closures.
1352 
1353 Caveat:
1354   The change relies on the fact that Cabal does not track dependencies
1355   of C files but recompiles them every time. If dependency tracking is
1356   added, we'll need different extensions for profiling and non-profiling
1357   object files.
1358]
1359[Build with ghc-6.6
1360Duncan Coutts <duncan@haskell.org>**20091028161849
1361 Ignore-this: 5042dc4f628b68d9d9e40d33837e9818
1362]
1363[Fix haddock markup
1364Duncan Coutts <duncan@haskell.org>**20091021124111
1365 Ignore-this: 7a301d4ede384f2256b02dbf179c0d9b
1366]
1367[Only pass -B... to gcc for GHC < 6.11
1368Ian Lynagh <igloo@earth.li>**20091012144707
1369 It is no longer needed in 6.12.
1370]
1371[Use -Wl,-R, for the gcc rpath flag.
1372Duncan Coutts <duncan@haskell.org>**20091006211326
1373 Ignore-this: 2323285313bad2ec91e4e27a0ae6177
1374 Apparently it was only gcc on Solaris that groks -R directly,
1375 so we have to use -Wl to pass it through to ld. Both GNU and
1376 Solaris ld grok -R, only GNU ld accepts -rpath.
1377]
1378[Don't complain if there is no ghc rts package registered
1379Duncan Coutts <duncan@haskell.org>**20091006172618
1380 Ignore-this: 8634380cb75891a13988123bbbfd372b
1381]
1382[I was wrong, the test was correct before.
1383Duncan Coutts <duncan@haskell.org>**20091006172046
1384 Ignore-this: e1967271893b0d745d25a9ee09b624cb
1385 
1386 rolling back:
1387 
1388 Mon Oct  5 17:32:02 BST 2009  Stephen Blackheath <grossly.sensitive.stephen@blacksapphire.com>
1389   * Fix test case InternalLibrary4 on account of a change in Cabal's behaviour.
1390 
1391     M ./tests/PackageTests/BuildDeps/InternalLibrary4/Check.hs -5 +4
1392]
1393[Unbreak configure for packages that depend on different versions of themselves
1394Duncan Coutts <duncan@haskell.org>**20091006171845
1395 Ignore-this: bce724e750b48ffa7e669c6573b49a8d
1396]
1397[Bump version number to 1.8.0
1398Ian Lynagh <igloo@earth.li>**20091006160120]
1399[Loosen the invariant, it was too strict
1400Simon Marlow <marlowsd@gmail.com>**20091006133756
1401 Ignore-this: 6087cfc11c19d4bac2fddcf007e9bb7c
1402 The packages do not need to be in the same order when sorted by
1403 package name as when sorted by InstalledPackageId.
1404]
1405[Fix test case InternalLibrary4 on account of a change in Cabal's behaviour.
1406Stephen Blackheath <grossly.sensitive.stephen@blacksapphire.com>**20091005163202
1407 Ignore-this: abc7f45e5fe6eb8e28dee5bfe406b16c
1408]
1409[Keep asserts for testing pre-releases
1410Duncan Coutts <duncan@haskell.org>**20091005161425
1411 Ignore-this: ca9406c17afcba272383eb3f66305a
1412]
1413[Fix configuring for packages with internal lib deps.
1414Duncan Coutts <duncan@haskell.org>**20091005161235
1415 Ignore-this: 31d508508230864d43e3df033dd687d1
1416 Was using the wrong set of packages when doing the finalise.
1417]
1418[Bump minor version
1419Duncan Coutts <duncan@haskell.org>**20091005114150
1420 Ignore-this: 85fe7d55bac00035cd92c4ffc3f71c2
1421]
1422[Stop converting between installed package id and source package id
1423Duncan Coutts <duncan@haskell.org>**20091005111806
1424 Ignore-this: ed5b14ec4010ab1b8d5cde0ac5ac83e5
1425 In the LocalBuildInfo, for each component, for the list of component
1426 dependencies, keep both the InstalledPackageId and the PackageId.
1427 That way we don't need to keep converting the InstalledPackageId
1428 to the PackageId, via the package index (which is just horrible).
1429]
1430[Reduce the insanity in Configure
1431Duncan Coutts <duncan@haskell.org>**20091005110957
1432 Ignore-this: 93fa0d351701e6317afb46df94e64777
1433 It was making so many different kinds of package index and converting
1434 back and forth between package id and installed package id that it
1435 made my brain hurt. Thou shalt not convert blithly between package Id
1436 and installed package Id for thou know not what thy doest.
1437]
1438[Get and merge ghc's package dbs more sensibly
1439Duncan Coutts <duncan@haskell.org>**20091005110714
1440 Ignore-this: fc4b3c983dc7aa0ebc362e990c6a8a2b
1441 Use the merge rather than just making a big list.
1442]
1443[Rewrite the PackageIndex again
1444Duncan Coutts <duncan@haskell.org>**20091005110330
1445 Ignore-this: ea36efcd3ee2bb5dae40de998b6b4de6
1446 It's a unified index again, rather than one for looking up by an
1447 InstalledPackageId and one for the source PackageId. The new one
1448 lets you look up by either. It also maintains the order of
1449 preference of different installed packages that share the same
1450 source PackageId. In configure we just pick the first preference.
1451]
1452[Don't use -#include flag with ghc-6.12
1453Duncan Coutts <duncan@haskell.org>**20091004154334
1454 Ignore-this: b520998e5b5213155de0cba1680e1338
1455]
1456[Fix sdist for packages using .lhs-boot files
1457Duncan Coutts <duncan@haskell.org>**20091002145221
1458 Ignore-this: eaed8d1170bc81b9baa3825f8b662adc
1459]
1460[Fix deadlocks when calling waitForProcess; GHC trac #3542
1461Ian Lynagh <igloo@earth.li>**20090928174553
1462 We now wait on MVars indicating that stdout and stderr have been
1463 closed before making the waitForProcess call.
1464]
1465[Update dependencies
1466Ian Lynagh <igloo@earth.li>**20090920152411]
1467[Simplify the use of simplifyVersionRange
1468Duncan Coutts <duncan@haskell.org>**20090920153433
1469 Ignore-this: fd41587284e064b185cd1db423ddf493
1470 Use the simplifyDependency wrapper
1471]
1472[Fix Integer defaulting
1473Duncan Coutts <duncan@haskell.org>**20090920153249
1474 Ignore-this: a747789b708b34cf3589a4c5a9fdb9cd
1475]
1476[Don't simplify empty/inconsistent version ranges
1477Duncan Coutts <duncan@haskell.org>**20090920151647
1478 Ignore-this: aeddcb5625dd29963036c07be5a9c2da
1479 They all get squashed to ">1 && <1" which while canonical is not helpful.
1480]
1481[Fix pretty printing of version ranges to use parens in the right places
1482Duncan Coutts <duncan@haskell.org>**20090917042612
1483 Ignore-this: 198737aa806fa92774494f6e33344a84
1484]
1485[Fix the depth calculation for the version range expression check
1486Duncan Coutts <duncan@haskell.org>**20090917032748
1487 Ignore-this: da1f0fefd17c1269f39e93e4623dc274
1488 Previously it was complaining about expressions like
1489  >= 2 && < 3
1490 because internally >= is represented in terms of >, == and ||.
1491 The fix is to use new fold that gives a view with the extra
1492 syntactic sugar so that <= and <= can be counted as one.
1493]
1494[Modify foldVersionRange and add foldVersionRange'
1495Duncan Coutts <duncan@haskell.org>**20090917032713
1496 Ignore-this: cdb7ff28869dd8637cbc7d1a02620c5b
1497 Now foldVersionRange gives a view with no syntactic sugar
1498 while foldVersionRange' gives a view with the syntactic sugar.
1499]
1500[Fix the version-range parser to allow arbitrary expressions over constraints.
1501Malcolm.Wallace@cs.york.ac.uk**20090911111643
1502 Previously, only a single conjunction (&&) or disjunction (||) was
1503 parseable, despite an internal representation that permits arbitrary
1504 combinations.  Now, any sequence of (&&) and (||) combining forms is
1505 parsed.  (&&) binds more tightly than (||).
1506]
1507[Use -package-id rather than -package with GHC 6.11+
1508Simon Marlow <marlowsd@gmail.com>**20090906112416
1509 Ignore-this: a9cb1e8684411ea3fa04e0d54826f76b
1510]
1511[Install dyn way hi files
1512Duncan Coutts <duncan@haskell.org>**20090908142853
1513 Ignore-this: 9de867381e500fda321a29e137e71414
1514]
1515[Use -R flags for hsc2hs wherever we use -L flags on ELF platforms.
1516Duncan Coutts <duncan@haskell.org>**20090828233704
1517 Ignore-this: 357aa0d1865a1fe6bf37fb6f41e2c93a
1518 This fixes use of hsc2hs in cases where things like libgmp
1519 is not on the system's dynamic linker path. It's ok to use
1520 rpath in the case of hsc2hs because the linked programs are
1521 run immediately and never installed.
1522]
1523[Add the ABI hash to the InstalledPackageId for inplace registrations too
1524Simon Marlow <marlowsd@gmail.com>**20090826155157
1525 Ignore-this: f10a1e90492a356a8ed8ed78fd056176
1526 Previously, we just added a -inplace suffix, but this will cause
1527 problems when developing multiple packages inplace, and then
1528 installing them.
1529 
1530 Also, there was a round of refactoring: registerPackage now takes the
1531 InstalledPackageId as an argument, and generateRegistrationInfo is
1532 exposed for constructing it.  This means that callers of
1533 registerPackage get to munge the InstalledPackageInfo before it is
1534 registered.
1535]
1536[Bump minor version to 1.7.4
1537Duncan Coutts <duncan@haskell.org>**20090824010433
1538 Ignore-this: 360111493090f2cf86a65dfa2bd41da0
1539 due to recent API changes
1540]
1541[Change finalizePackageDescription to take dep test function
1542Duncan Coutts <duncan@haskell.org>**20090822234256
1543 Ignore-this: 573c4d60e9c40f8814371a6c3a0b8c9
1544 Ths is instead of taking a set of installed packages. This insulates
1545 us from the representation of the installed package set which is good
1546 since we now have several representations. It also opens the door to
1547 generalising the kinds of constraints we can handle.
1548]
1549[Add a HACKING file
1550Duncan Coutts <duncan@haskell.org>**20090822151636
1551 Ignore-this: 222a83edbe3bf27574bfe51df7f109f0
1552 Seems people do not know that the source guide exists.
1553]
1554[Add a bunch of TODOs and minor doc changes
1555Duncan Coutts <duncan@haskell.org>**20090822134721
1556 Most TODOs related to the new InstalledPackageId stuff.
1557]
1558[Refactor and simplify the fixup in "hc-pkg dump"
1559Duncan Coutts <duncan@haskell.org>**20090822134408
1560 We have to set the installedPackageId if it's missing.
1561 There's no need for this to depend on the version of ghc which
1562 is nice since this module is not supposed to be ghc specific.
1563]
1564[Rename the InstalledPackageInfo field package to sourcePackageId
1565Duncan Coutts <duncan@haskell.org>**20090822134111
1566 The old one was always too generic and it now contrasts
1567 better with the new installedPackageId field.
1568]
1569[Add a unuque identifier for installed packages (part 9 of 9)
1570Simon Marlow <marlowsd@gmail.com>**20090806132217
1571 Ignore-this: 942731e2e26cfad6c53e728b911f1912
1572 
1573 When registering, choose the InstalledPackageId.
1574 
1575  - When registering inplace, use "foo-1.0-inplace"
1576 
1577  - If this isn't GHC, just use "foo-1.0-installed"
1578 
1579  - When installing a package with GHC, call
1580    Distribution.Simple.GHC.libAbiHash to get the hash, and
1581    use "foo-1.0-<hash>".
1582]
1583[Add a unuque identifier for installed packages (part 7 of 9)
1584Simon Marlow <marlowsd@gmail.com>**20090806131728
1585 Ignore-this: cf0e7da3e1e8e2b39336649c479c0938
1586 
1587 Follow changes in Distribution.Simple.LocalBuildInfo (installedPkgs is
1588 now an InstalledPackageIndex).
1589]
1590[Add a unuque identifier for installed packages (part 8 of 9)
1591Simon Marlow <marlowsd@gmail.com>**20090806131700
1592 Ignore-this: 7cc5db4eb24ced8f3e8770fb8c19650f
1593 
1594 Distribution.Simple.Configure: follow changes to PackageIndex and
1595 INstalledPackageInfo.
1596]
1597[Add a unuque identifier for installed packages (part 6 of 9)
1598Simon Marlow <marlowsd@gmail.com>**20090806132002
1599 Ignore-this: 80e560a4b659edd2ec9345aa57af862a
1600 
1601 Add libAbiHash, which extracts a String representing a hash of
1602 the ABI of a built library.  It can fail if the library has not
1603 yet been built.
1604]
1605[Add a unuque identifier for installed packages (part 5 of 9)
1606Simon Marlow <marlowsd@gmail.com>**20090806131748
1607 Ignore-this: 9e242223ca16314148bf92616c19838b
1608 
1609 Follow changes to Distribution.Simple.LocalBuildInfo.componentPackageDeps.
1610]
1611[Add a unuque identifier for installed packages (part 4 of 9)
1612Simon Marlow <marlowsd@gmail.com>**20090806131829
1613 Ignore-this: cd1f965c30d3dbd26dd184b3fd126163
1614 
1615 Distribution.Simple.LocalBuildInfo:
1616 
1617   - the LocalBuildInfo record contains an index of the installed
1618     packages; this has changed from PackageIndex InstalledPackageInfo
1619     to InstalledPackageIndex.
1620 
1621   - ComponentLocalBuildInfo stores the "external package dependencies"
1622     of the component, which was
1623       componentPackageDeps :: [PackageId]
1624     and is now
1625       componentInstalledPackageDeps :: [InstalledPackageId]
1626 
1627   - we now export
1628       componentPackageDeps :: LocalBuildInfo -> [PackageId]
1629     (since to get the PackageId for an InstalledPackageId, you need
1630     to look it up in the InstalledPackageIndex, which is in the
1631     LocalBuildInfo)
1632 
1633   - similarly, previously
1634       externalPackageDeps :: LocalBuildInfo -> [PackageId]
1635     is now
1636       externalPackageDeps :: LocalBuildInfo -> [InstalledPackageId]
1637]
1638[Add a unuque identifier for installed packages (part 3 of 9)
1639Simon Marlow <marlowsd@gmail.com>**20090806131810
1640 Ignore-this: 455a736ea5a3241aa6040f4c684ab0b3
1641 
1642 This part adds the InstalledPackageIndex type to
1643 Distribution.Simple.PackageIndex.  Now that packages have a unique
1644 identifier within a package database, it makes sense to use this as
1645 the key for looking up installed packages, so InstalledPackageIndex is
1646 a mapping from InstalledPackageId to InstalledPackageInfo.
1647 
1648 Distribution.Simple.PackageIndex still supports other kinds of package
1649 mappings: PackageIndex is a mapping from PackageName.
1650 
1651 All the functions in the section "Special Queries" now work on
1652 InstalledPackageIndex rather than PackageFixedDeps pkg => PackageIndex
1653 pkg:
1654 
1655   topologicalOrder,
1656   reverseTopologicalOrder,
1657   dependencyInconsistencies,
1658   dependencyCycles,
1659   brokenPackages,
1660   dependencyClosure,
1661   reverseDependencyClosure
1662   dependencyGraph
1663]
1664[Add a unuque identifier for installed packages (part 2 of 9)
1665Simon Marlow <marlowsd@gmail.com>**20090806131906
1666 Ignore-this: f3fba4465373bd4b7397384f08ca189e
1667 
1668 Note: this patch doesn't build on its own, you also need the rest of
1669 the patch series.
1670 
1671 Compatibility with older GHCs.  When reading a package database
1672 created by an older version of GHC without installedPackageIds, we
1673 have to fake an InstalledPackageId for the internal
1674 InstalledPackageInfo.
1675 
1676 So, when reading in an InstalledPackageInfo from an older GHC, we set
1677 the installedPackageId to be the textual representation of the
1678 PackageIdentifier: i.e. <package>-<version>.  Now, previously the
1679 depends field of InstalledPackageInfo was [PackageIdentifier], and is
1680 now [InstalledPackageId], so we will read each PackageIdentifier as an
1681 InstalledPackageId (a String).  The dependencies will still point to
1682 the correct package, however, because we have chosen the
1683 installedPackageId to be the textual representation of the
1684 PackageIdentifier.
1685]
1686[Add a unuque identifier for installed packages (part 1 of 9)
1687Simon Marlow <marlowsd@gmail.com>**20090806131928
1688 Ignore-this: b774e5719e666baee504e1f52381cc8b
1689   
1690   NOTE: the patch has been split into 9 pieces for easy
1691   reviewing, the individual pieces won't build on their own.
1692   
1693 Part 1 does the following:
1694 
1695 Distribution.Package:
1696   - define the InstalledPackageId type as a newtype of String
1697 
1698 Distribution.InstalledPackageInfo:
1699   - add an installedPackageId field to InstalledPackageInfo
1700   - change the type of the depends field from [PackageIdentifier]
1701     to [InstalledPackageId]
1702 
1703 
1704 The idea behind this change is to add a way to uniquely identify
1705 installed packages, letting us decouple the identity of an installed
1706 package instance from its package name and version.  The benefits of
1707 this are
1708 
1709   - We get to detect when a package is broken because its
1710     dependencies have been recompiled, or because it is being
1711     used with a different package than it was compiled against.
1712 
1713   - We have the possibility of having multiple instances of a
1714     given <package>-<version> installed at the same time.  In the
1715     future this might be used for "ways".  It might also be
1716     useful during the process of upgrading/recompiling packages.
1717]
1718[Refactoring: fit into 80 columns
1719Simon Marlow <marlowsd@gmail.com>**20090806115825
1720 Ignore-this: e4e9bdea632814842121fcf7c7d6c3a
1721]
1722[Use a simpler method for the check on the base-upper-bound
1723Duncan Coutts <duncan@haskell.org>**20090812133313
1724 Ignore-this: 9234cc76670a135906c8b7d2e19e6199
1725 The key point is that we do not complain for packages
1726 that do not depend on base at all (like ghc-prim).
1727]
1728[Fix the base-upper-bound Cabal check error
1729Ian Lynagh <igloo@earth.li>**20090811204455]
1730[Fix "unused-do-bind" warnings properly
1731Duncan Coutts <duncan@haskell.org>**20090727161125
1732 Though I'm not at all sure I like the _ <- bind idiom.
1733]
1734[Undo incorrect fixes for "unused-do-bind" warnings.
1735Duncan Coutts <duncan@haskell.org>**20090727160907
1736 We capture (and discard) the program output because we do not
1737 want it printed to the console. We do not currently have a
1738 specific variant for redirecting the output to /dev/null so
1739 we simply use the variant that captures the output.
1740 
1741 rolling back:
1742 
1743 Fri Jul 10 22:04:45 BST 2009  Ian Lynagh <igloo@earth.li>
1744   * Don't ask for the output of running ld, as we ignore it anyway
1745 
1746     M ./Distribution/Simple/GHC.hs -2 +2
1747     M ./Distribution/Simple/LHC.hs -2 +2
1748 Fri Jul 10 22:08:02 BST 2009  Ian Lynagh <igloo@earth.li>
1749   * Don't use the Stdout variant of rawSystemProgramConf to call gcc
1750   We ignore the output anyway
1751 
1752     M ./Distribution/Simple/Configure.hs -2 +3
1753]
1754[Pass GHC >= 6.11 the -fbuilding-cabal-package flag
1755Ian Lynagh <igloo@earth.li>**20090726181405]
1756[Follow the change in GHC's split-objs directory naming
1757Ian Lynagh <igloo@earth.li>**20090723234430]
1758[Fix a "warn-unused-do-bind" warning
1759Ian Lynagh <igloo@earth.li>**20090710212059]
1760[Don't use the Stdout variant of rawSystemProgramConf to call gcc
1761Ian Lynagh <igloo@earth.li>**20090710210802
1762 We ignore the output anyway
1763]
1764[Don't ask for the output of running ld, as we ignore it anyway
1765Ian Lynagh <igloo@earth.li>**20090710210445]
1766[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
1767Ian Lynagh <igloo@earth.li>**20090710210407]
1768[Fix unused import warnings
1769Ian Lynagh <igloo@earth.li>**20090707133559]
1770[Remove unused imports
1771Ian Lynagh <igloo@earth.li>**20090707115824]
1772[Bump version to 1.7.3 due to recent API changes
1773Duncan Coutts <duncan@haskell.org>**20090707095901]
1774[Simplify and generalise installDirsTemplateEnv
1775Duncan Coutts <duncan@haskell.org>**20090705205411
1776 Take a set of templates rather than file paths.
1777]
1778[Rename and export substituteInstallDirTemplates
1779Duncan Coutts <duncan@haskell.org>**20090705205257
1780 This does the mutual substituition of the installation
1781 directory templates into each other.
1782]
1783[Follow changes in haddock
1784Ian Lynagh <igloo@earth.li>**20090705193610
1785 The --verbose flag is now called --verbosity
1786]
1787[TAG 2009-06-25
1788Ian Lynagh <igloo@earth.li>**20090625160144]
1789[Undo a simplification in the type of absoluteInstallDirs
1790Duncan Coutts <duncan@haskell.org>**20090705154155
1791 Existing Setup scripts use it so we can't change it. Fixes #563.
1792]
1793[Help Cabal find gcc/ld on Windows
1794Simon Marlow <marlowsd@gmail.com>**20090626140250
1795 Ignore-this: bad21fe3047bc6e23165160c88dd53d9
1796 the layout changed in the new GHC build system
1797]
1798[clean up createTempDirectory, using System.Posix or System.Directory
1799Simon Marlow <marlowsd@gmail.com>**20090625105648
1800 Ignore-this: 732aac57116c308198a8aaa2f67ec475
1801 rather than low-level System.Posix.Internals operations which are
1802 about to go away.
1803]
1804[follow change in System.Posix.Internals.c_open
1805Simon Marlow <marlowsd@gmail.com>**20090622133654
1806 Ignore-this: d2c775473d6dfb1dcca40f51834a2d26
1807]
1808[update to work with the new GHC IO library internals (fdToHandle)
1809Simon Marlow <marlowsd@gmail.com>**20090612095346
1810 Ignore-this: 2697bd2b64b3231ab4d9bb13490c124f
1811]
1812[Describe the autoconfUserHooks option more accurately in the user guide
1813Duncan Coutts <duncan@haskell.org>**20090614191400]
1814[Fix && entity refs in doc xml
1815Duncan Coutts <duncan@haskell.org>**20090614191230]
1816[documentation update: add a description of the syntax for 'compiler' fields in .cabal files
1817Brent Yorgey <byorgey@cis.upenn.edu>**20090610194550]
1818[use Haskell 98 import syntax
1819Ross Paterson <ross@soi.city.ac.uk>**20090610174619
1820 Ignore-this: 26774087968e247b41d69350c015bc30
1821]
1822[fix typo of exitcode
1823Ross Paterson <ross@soi.city.ac.uk>**20090610174541
1824 Ignore-this: e21da0e6178e69694011e5286b382d72
1825]
1826[Put a "%expect 0" directive in the .y file of a test
1827Ian Lynagh <igloo@earth.li>**20090608204035]
1828[Rearrange the PathTemplateEnv stuff and export more pieces
1829Duncan Coutts <duncan@haskell.org>**20090607224721]
1830[Rewrite the Register module
1831Duncan Coutts <duncan@haskell.org>**20090607182821
1832 It was getting increasingly convoluted and incomprehensible.
1833 Now uses the Program.HcPkg and Program.Scripts modules.
1834]
1835[Simplify OSX ranlib madness
1836Duncan Coutts <duncan@haskell.org>**20090607180717]
1837[Use new Program.Ld and Program.Ar in GHC module
1838Duncan Coutts <duncan@haskell.org>**20090607180534]
1839[Use the new HcPkg module in the GHC getInstalledPackages function
1840Duncan Coutts <duncan@haskell.org>**20090607180442]
1841[Add specialised modules for handling ar and ld
1842Duncan Coutts <duncan@haskell.org>**20090607180257]
1843[Add improved xargs style function
1844Duncan Coutts <duncan@haskell.org>**20090607180214
1845 More flexible and based on the ProgramInvocation stuff
1846]
1847[Pass verbosity to hc-pkg
1848Duncan Coutts <duncan@haskell.org>**20090607180146]
1849[Use a better api for registering libs in the internal package db
1850Duncan Coutts <duncan@haskell.org>**20090607125436]
1851[Add new Program modules
1852Duncan Coutts <duncan@haskell.org>**20090607121301]
1853[New module for handling calling the hc-pkg program
1854Duncan Coutts <duncan@haskell.org>**20090607120650]
1855[New module to write program invocations as shell scripts or batch files
1856Duncan Coutts <duncan@haskell.org>**20090607120520
1857 For tasks like registering where we call hc-pkg, this allows us to
1858 produce a single program invocation and then either run it directly
1859 or write it out as a script.
1860]
1861[Re-export the program invocation stuff from the Program module
1862Duncan Coutts <duncan@haskell.org>**20090607120404]
1863[Fix rawSystemStdin util function
1864Duncan Coutts <duncan@haskell.org>**20090607120324
1865 Close the input after pushing it. Return any error message.
1866]
1867[Split the Program module up a bit
1868Duncan Coutts <duncan@haskell.org>**20090607101246
1869 Add an explicit intermediate ProgramInvocation data type.
1870]
1871[Do not pass Maybe LocalBuildInfo to clean hook
1872Duncan Coutts <duncan@haskell.org>**20090604203830
1873 It is a bad idea for clean to do anything different depending
1874 on whether the package was configured already or not. The
1875 actual cleaning code did not use the LocalBuildInfo so this
1876 only changes in the UserHooks interface. No Setup.hs scripts
1877 actually make of this parameter for the clean hook.
1878 Part of ticket #133.
1879]
1880[Simplify checkPackageProblems function
1881Duncan Coutts <duncan@haskell.org>**20090604203709
1882 Since we now always have a GenericPackageDescription
1883]
1884[Change UserHooks.confHook to use simply GenericPackageDescription
1885Duncan Coutts <duncan@haskell.org>**20090604203400
1886 Rather than Either GenericPackageDescription PackageDescription
1887 In principle this is an interface change that could break Setup.hs
1888 scripts but in practise the few scripts that use confHook just pass
1889 the arguments through and so are not sensitve to the type change.
1890]
1891[Change UserHooks.readDesc to use GenericPackageDescription
1892Duncan Coutts <duncan@haskell.org>**20090604202837
1893 Also changes Simple.defaultMainNoRead to use GenericPackageDescription.
1894 This is an API change that in principle could break Setup.hs scripts
1895 but in practise there are no Setup.hs scripts that use either.
1896]
1897[Pass a verbosity flag to ghc-pkg
1898Ian Lynagh <igloo@earth.li>**20090605143244]
1899[When build calls register, pass the verbosity level too
1900Ian Lynagh <igloo@earth.li>**20090605142718]
1901[Fix unlit
1902Ian Lynagh <igloo@earth.li>**20090605130801
1903 The arguments to isPrefixOf were the wrong way round. We want to see if
1904 the line starts "\\begin{code}", not if the line is a prefix of that string.
1905]
1906[Tweak a comment so that it doesn't confuse haddock
1907Ian Lynagh <igloo@earth.li>**20090605130728]
1908[Tweak new build system
1909Ian Lynagh <igloo@earth.li>**20090404204426]
1910[GHC new build system fixes
1911Ian Lynagh <igloo@earth.li>**20090329153151]
1912[Add ghc.mk for the new GHC build system
1913Ian Lynagh <igloo@earth.li>**20090324211819]
1914[Bump version due to recent changes
1915Duncan Coutts <duncan@haskell.org>**20090603101833]
1916[Ticket #89 final: Regression tests for new dependency behaviour.
1917rubbernecking.trumpet.stephen@blacksapphire.com**20090601215651
1918 Ignore-this: 52e04d50f1d045a14706096413c19a85
1919]
1920[Make message "refers to a library which is defined within the same.." more grammatical
1921rubbernecking.trumpet.stephen@blacksapphire.com**20090601214918
1922 Ignore-this: 3887c33ff39105f3483ca97a7f05f3eb
1923]
1924[Remove a couple unused imports.
1925Duncan Coutts <duncan@haskell.org>**20090601192932]
1926[Ban upwardly open version ranges in dependencies on base
1927Duncan Coutts <duncan@haskell.org>**20090601191629
1928 Fixes ticket #435. This is an approximation. It will ban most
1929 but not all cases where a package specifies no upper bound.
1930 There should be no false positives however, that is cases that
1931 really are always bounded above that the check flags up.
1932 Doing a fully precise test needs a little more work.
1933]
1934[Split requireProgram into two different functions
1935Duncan Coutts <duncan@haskell.org>**20090601174846
1936 Now requireProgram doesn't take a version range and does not check
1937 the program version (indeed it doesn't need to have one). The new
1938 function requireProgramVersion takes a required program version
1939 range and returns the program version. Also update callers.
1940 Also fixes the check that GHC has a version number.
1941]
1942[Ignore a byte order mark (BOM) when reading UTF8 text files
1943Duncan Coutts <duncan@haskell.org>**20090531225008
1944 Yes of course UTF8 text files should not use the BOM but
1945 notepad.exe does anyway. Fixes ticket #533.
1946]
1947[executables can now depend on a library in the same package.
1948Duncan Coutts <duncan@haskell.org>**20090531220720
1949 Fixes ticket #89. The library gets registered into an inplace
1950 package db file which is used when building the executables.
1951 Based partly on an original patch by Stephen Blackheath.
1952]
1953[Always build ar files with indexes
1954Duncan Coutts <duncan@haskell.org>**20090531193412
1955 Since we have to be able to use these inplace we always need
1956 the index it's not enough to just make the index on installing.
1957 This particularly affects OSX.
1958]
1959[Make rendering the ghc package db stack more lenient
1960Duncan Coutts <duncan@haskell.org>**20090531192545
1961 Allow the user package db to appear after a specific one.
1962 No reason not to and makes some things in cabal-install more convenient.
1963]
1964[Simplify version ranges in configure messages and errors
1965Duncan Coutts <duncan@haskell.org>**20090531192426
1966 Part of #369
1967]
1968[Add and export simplifyDependency
1969Duncan Coutts <duncan@haskell.org>**20090531192332
1970 Just uses simplifyVersionRange on the version range in the dep
1971]
1972[Use the PackageDbStack in the local build info and compiler modules
1973Duncan Coutts <duncan@haskell.org>**20090531153124
1974 This lets us pass a whole stack of package databases to the compiler.
1975 This is more flexible than passing just one and working out what
1976 other dbs that implies. This also lets us us more than one specific
1977 package db, which we need for the inplace package db use case.
1978]
1979[Simplify version ranges before printing in configure error message
1980Duncan Coutts <duncan@haskell.org>**20090530213922
1981 Part of ticket #369. Now instead of:
1982   setup: At least the following dependencies are missing:
1983   base <3 && <4 && <3 && <3 && <4
1984 we get:
1985   setup: At least the following dependencies are missing:
1986   base <3
1987]
1988[Bump version to 1.7.1 due to recent changes
1989Duncan Coutts <duncan@haskell.org>**20090530211320]
1990[Minor renaming
1991Duncan Coutts <duncan@haskell.org>**20090530202312
1992 Part of one of Stephen Blackheath's patches
1993]
1994[Improve an internal error message slightly
1995Duncan Coutts <duncan@haskell.org>**20090530205540]
1996[Detect intra-package build-depends
1997Duncan Coutts <duncan@haskell.org>**20090530204447
1998 Based on an original patch by Stephen Blackheath
1999 With this change build-depends on a library within the same package
2000 are detected. Such deps are not full handled yet so for the moment
2001 they are explicitly banned, however this is another step towards
2002 actually supporting such dependencies. In particular deps on
2003 internal libs are resolved to the internal one in preference to any
2004 existing external version of the same lib.
2005]
2006[Use accurate per-component package deps
2007Duncan Coutts <duncan@haskell.org>**20090530202350
2008 Based on an original patch by Stephen Blackheath
2009 Previously each component got built using the union of all package
2010 deps of all components in the entire package. Now we use exactly the
2011 deps specified for that component. To prevent breaking old packages
2012 that rely on the sloppy behaviour, package will only get the new
2013 behaviour if they specify they need at least cabal-version: >= 1.7.1
2014]
2015[Add *LBI variants of withLib and withExe that give corresponding build info
2016rubbernecking.trumpet.stephen@blacksapphire.com**20090528113232
2017 Ignore-this: 6856385f1c210e33c352da4a0b6e876a
2018]
2019[Register XmlSyntax and RegularPatterns as known extensions in Language.Haskell.Extension
2020Niklas Broberg <d00nibro@chalmers.se>**20090529102848
2021 Ignore-this: 32aacd8aeef9402a1fdf3966a213db7d
2022 
2023 Concrete XML syntax is used in the Haskell Server Pages extension
2024 language, and a description can be found in the paper "Haskell Server
2025 Pages through Dynamic Loading" by Niklas Broberg, published in Haskell
2026 Workshop '05.
2027 
2028 Regular expression pattern matching is described in the paper "Regular
2029 Expression Patterns" by Niklas Broberg, Andreas Farre and Josef
2030 Svenningsson, published in ICFP '04.
2031]
2032[Resolve merge conflict with dynlibPref patch
2033Duncan Coutts <duncan@haskell.org>**20090528115249
2034 The dynlibPref patch accidentally was only pushed to ghc's branch.
2035]
2036[Use dynlibdir = libdir for the moment
2037Duncan Coutts <duncan@well-typed.com>**20090519134115
2038 It will need more thought about how much control the user needs
2039 and what the default shared libs management scheme should be.
2040]
2041[Use componentPackageDeps, remove packageDeps, add externalPackageDeps
2042Duncan Coutts <duncan@haskell.org>**20090527225016
2043 So now when building, we actually use per-component set of package deps.
2044 There's no actual change in behaviour yet as we're still setting each of
2045 the componentPackageDeps to the union of all the package deps.
2046]
2047[Pass ComponentLocalBuildInfo to the buildLib/Exe
2048Duncan Coutts <duncan@haskell.org>**20090527210731
2049 Not yet used
2050]
2051[Simplify writeInstalledConfig slightly
2052Duncan Coutts <duncan@haskell.org>**20090527204755]
2053[No need to drop dist/installed-pkg-config after every build
2054Duncan Coutts <duncan@haskell.org>**20090527204500
2055 We generate this file if necessary when registering.
2056]
2057[Make absoluteInstallDirs only take the package id
2058Duncan Coutts <duncan@haskell.org>**20090527203112
2059 It doesn't need the entire PackageDescription
2060]
2061[Rejig calls to per-compiler build functions
2062Duncan Coutts <duncan@haskell.org>**20090527195146
2063 So it's now a bit clearer what is going on in the generic build code
2064 Also shift info calls up to generic code
2065]
2066[Split nhc and hugs's build action into buildLib and buildExe
2067Duncan Coutts <duncan@haskell.org>**20090527194206]
2068[Split JHC's build into buildLib and buildExe
2069Duncan Coutts <duncan@haskell.org>**20090527192036]
2070[Sync LHC module from GHC module
2071Duncan Coutts <duncan@haskell.org>**20090527191615]
2072[Give withLib and withExe sensible types
2073Duncan Coutts <duncan@haskell.org>**20090527185634]
2074[Fix types of libModules and exeModules
2075Duncan Coutts <duncan@haskell.org>**20090527185108
2076 Take a Library/Executable rather than a PackageDescription
2077 Means we're more precise in using it, just passing the info we need.
2078]
2079[Split ghc's build action into buildLib and buildExe
2080Duncan Coutts <duncan@haskell.org>**20090527183250]
2081[Remove unused ghc-only executable wrapper feature
2082Duncan Coutts <duncan@haskell.org>**20090527183245
2083 Some kind of shell script wrapper feature might be useful,
2084 but we should design it properly.
2085]
2086[Fixup .cabal file with the removed modules and files
2087Duncan Coutts <duncan@haskell.org>**20090527182344]
2088[Fix warnings about unused definitions and imports
2089Duncan Coutts <duncan@haskell.org>**20090527175253]
2090[Remove the makefile generation feature
2091Duncan Coutts <duncan@haskell.org>**20090527175002
2092 It was an ugly hack and ghc no longer uses it.
2093]
2094[Add new ComponentLocalBuildInfo
2095Duncan Coutts <duncan@haskell.org>**20090527174418
2096 We want to have each component have it's own dependencies,
2097 rather than using the union of deps of the whole package.
2098]
2099[Ticket #89 part 2: Dependency-related test cases and a simple test harness
2100rubbernecking.trumpet.stephen@blacksapphire.com**20090526133509
2101 Ignore-this: 830dd56363c34d8edff65314cd8ccb2
2102 The purpose of these tests is mostly to pin down some existing behaviour to
2103 ensure it doesn't get broken by the ticket #89 changes.
2104]
2105[Ticket #89 part 1: add targetBuildDepends field to PackageDescription's target-specific BuildInfos
2106rubbernecking.trumpet.stephen@blacksapphire.com**20090526133729
2107 Ignore-this: 96572adfad12ef64a51dce2f7c5f738
2108 This provides dependencies specifically for each library and executable target.
2109 buildDepends is calculated as the union of the individual targetBuildDepends,
2110 giving a result that's exactly equivalent to the old behaviour.
2111]
2112[LHC: register the external core files.
2113Lemmih <lemmih@gmail.com>**20090521021511
2114 Ignore-this: d4e484d7b8e541c3ec4cb35ba8aba4d0
2115]
2116[Update the support for LHC.
2117Lemmih <lemmih@gmail.com>**20090515211659
2118 Ignore-this: 2884d3eca0596a441e3b3c008e16fd6f
2119]
2120[Print a more helpful message when haddock's ghc version doesn't match
2121Duncan Coutts <duncan@haskell.org>**20090422093240
2122 Eg now says something like:
2123 cabal: Haddock's internal GHC version must match the configured GHC version.
2124 The GHC version is 6.8.2 but haddock is using GHC version 6.10.1
2125]
2126[use -D__HADDOCK__ only when preprocessing for haddock < 2
2127Andrea Vezzosi <sanzhiyan@gmail.com>**20090302015137
2128 Ignore-this: d186a5dbebe6d7fdc64e6414493c6271
2129 haddock-2.x doesn't define any additional macros.
2130]
2131[Make die use an IOError that gets handled at the top level
2132Duncan Coutts <duncan@haskell.org>**20090301195143
2133 Rather than printing the error there and then and throwing an
2134 exit exception. The top handler now catches IOErrors and
2135 formats and prints them before throwing an exit exception.
2136 Fixes ticket #512.
2137]
2138[rewrite of Distribution.Simple.Haddock
2139Andrea Vezzosi <sanzhiyan@gmail.com>**20090219153738
2140 Ignore-this: 5b465b2b0f5ee001caa0cb19355d6fce
2141 In addition to (hopefully) making clear what's going on
2142 we now do the additional preprocessing for all the versions of haddock
2143 (but not for hscolour) and we run cpp before moving the files.
2144]
2145[Allow --with-ghc to be specified when running Cabal
2146Ian Lynagh <igloo@earth.li>**20090225172249]
2147[fix imports for non-GHC
2148Ross Paterson <ross@soi.city.ac.uk>**20090221164939
2149 Ignore-this: 12756e3863e312352d5f6c69bba63b92
2150]
2151[Fix user guide docs about --disable-library-vanilla
2152Duncan Coutts <duncan@haskell.org>**20090219165539
2153 It is not default. Looks like it was a copy and paste error.
2154]
2155[Specify a temp output file for the header/lib checks
2156Duncan Coutts <duncan@haskell.org>**20090218233928
2157 Otherwise we litter the current dir with a.out and *.o files.
2158]
2159[Final changelog updates for 1.6.0.2
2160Duncan Coutts <duncan@haskell.org>**20090218222106]
2161[Use more cc options when checking for header files and libs
2162Duncan Coutts <duncan@haskell.org>**20090218110520
2163 Use -I. to simulate the search path that gets used when we tell ghc
2164 to -#include something. Also use the include dirs and cc options of
2165 dependent packages. These two changes fix about 3 packages each.
2166]
2167[Validate the docbook xml before processing.
2168Duncan Coutts <duncan@haskell.org>**20090213134136
2169 Apparently xsltproc does not validate against the dtd.
2170 This should stop errors creaping back in.
2171]
2172[Make documentation validate
2173Samuel Bronson <naesten@gmail.com>**20090212235057]
2174[Folly the directions for docbook-xsl
2175Samuel Bronson <naesten@gmail.com>**20090213022615
2176 As it says in http://docbook.sourceforge.net/release/xsl/current/README:
2177 
2178   - Use the base canonical URI in combination with one of the
2179     pathnames below. For example, for "chunked" HTML, output:
2180 
2181     http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl
2182 
2183]
2184[Fix compat functions for setting file permissions on windows
2185Duncan Coutts <duncan@haskell.org>**20090205224415
2186 Spotted by Dominic Steinitz
2187]
2188[Only print message about ignoring -threaded if its actually present
2189Duncan Coutts <duncan@haskell.org>**20090206174707]
2190[Don't build ghci lib if we're not making vanilla libs
2191Duncan Coutts <duncan@haskell.org>**20090206173914
2192 As the .o files will not exist.
2193]
2194[Correct docdir -> mandir in InstallDirs
2195Samuel Bronson <naesten@gmail.com>**20090203043338]
2196[Fix message suggesting the --executables flag
2197Samuel Bronson <naesten@gmail.com>**20090201010708]
2198[Remove #ifdefery for windows, renameFile now works properly
2199Duncan Coutts <duncan@haskell.org>**20090202004450
2200 It's even atomic on windows so we don't need the workaround.
2201]
2202[Make withTempDirectory create a new secure temp dir
2203Duncan Coutts <duncan@haskell.org>**20090201233318
2204 Rather than taking a specific dir to create.
2205 Update the one use of the function.
2206]
2207[Add createTempDirectory to Compat.TempFile module
2208Duncan Coutts <duncan@haskell.org>**20090201233213
2209 Also clean up imports
2210]
2211[Improve the error message for missing foreign libs and make it fatal
2212Duncan Coutts <duncan@haskell.org>**20090131184813
2213 The check should now be accurate enough that we can make it an
2214 error rather than just a warning.
2215]
2216[Use the cc, cpp and ld options when checking foreign headers and libs
2217Duncan Coutts <duncan@haskell.org>**20090131184016
2218 In partiular this is needed for packages that use ./configure
2219 scripts to write .buildinfo files since they typically do not
2220 split the cpp/cc/ldoptions into the more specific fields.
2221]
2222[Do the check for foreign libs after running configure
2223Duncan Coutts <duncan@haskell.org>**20090131182213
2224 This lets us pick up build info discovered by the ./configure script
2225]
2226[move imports outside ifdef GHC
2227Ross Paterson <ross@soi.city.ac.uk>**20090130153505]
2228[Document most of the new file utility functions
2229Duncan Coutts <duncan@haskell.org>**20090130151640]
2230[#262 iterative tests for foreign dependencies
2231Gleb Alexeyev <gleb.alexeev@gmail.com>**20090130120228
2232 Optimize for succesful case. First try all libs and includes in one command,
2233 proceed with further tests only if the first test fails. The same goes for libs
2234 and headers: look for an offending one only when overall test fails.
2235 
2236]
2237[Misc minor comment and help message changes
2238Duncan Coutts <duncan@haskell.org>**20090129233455]
2239[Deprecate smartCopySources and copyDirectoryRecursiveVerbose
2240Duncan Coutts <duncan@haskell.org>**20090129233234
2241 Also use simplified implementation in terms of recently added functions.
2242]
2243[Switch copyFileVerbose to use compat copyFile
2244Duncan Coutts <duncan@haskell.org>**20090129233125
2245 All remaining uses of it do not require copying permissions
2246]
2247[Let the setFileExecutable function work with hugs too
2248Duncan Coutts <duncan@haskell.org>**20090129232948]
2249[Switch hugs wrapper code to use setFileExecutable
2250Duncan Coutts <duncan@haskell.org>**20090129232542
2251 instead of get/setPermissions which don't really work properly.
2252]
2253[Switch last uses of copyFile to copyFileVerbose
2254Duncan Coutts <duncan@haskell.org>**20090129232429]
2255[Stop using smartCopySources or copyDirectoryRecursiveVerbose
2256Duncan Coutts <duncan@haskell.org>**20090129231656
2257 Instead if copyDirectoryRecursiveVerbose use installDirectoryContents
2258 and for smartCopySources use findModuleFiles and installExecutableFiles
2259 In both cases the point is so that we use functions for installing
2260 files rather than functions to copy files.
2261]
2262[Use installOrdinaryFile and installExecutableFile in various places
2263Duncan Coutts <duncan@haskell.org>**20090129231321
2264 instead of copyFileVerbose
2265]
2266[Make the Compat.CopyFile module with with old and new ghc
2267Duncan Coutts <duncan@haskell.org>**20090129225423]
2268[Add a bunch of utility functions for installing files
2269Duncan Coutts <duncan@haskell.org>**20090129180243
2270 We want to separate the functions that do ordinary file copies
2271 from the functions that install files because in the latter
2272 case we have to do funky things with file permissions.
2273]
2274[Use setFileExecutable instead of copyPermissions
2275Duncan Coutts <duncan@haskell.org>**20090129180130
2276 This lets us get rid of the Compat.Permissions module
2277]
2278[Export setFileOrdinary and setFileExecutable from Compat.CopyFile
2279Duncan Coutts <duncan@haskell.org>**20090129173413]
2280[Warn if C dependencies not found (kind of fixes #262)
2281gleb.alexeev@gmail.com**20090126185832
2282 
2283 This is just a basic check - generate a sample program and check if it compiles and links with relevant flags. Error messages (warning messages,
2284 actually) could use some improvement.
2285]
2286[Pass include directories to LHC
2287Samuel Bronson <naesten@gmail.com>**20090127220021]
2288[Add Distribution.Compat.CopyFile module
2289Duncan Coutts <duncan@haskell.org>**20090128181115
2290 This is to work around the file permissions problems with the
2291 standard System.Directory.copyFile function. When installing
2292 files we do not want to copy permissions or attributes from the
2293 source files. On unix we want to use specific permissions and
2294 on windows we want to inherit default permissions. On unix:
2295 copyOrdinaryFile   sets the permissions to -rw-r--r--
2296 copyExecutableFile sets the permissions to -rwxr-xr-x
2297]
2298[Remove unused support for installing dynamic exe files
2299Duncan Coutts <duncan@haskell.org>**20090128170421
2300 No idea why this was ever added, they've never been built.
2301]
2302[Check for ghc-options: -threaded in libraries
2303Duncan Coutts <duncan@haskell.org>**20090125161226
2304 It's totally unnecessary and messes up profiling in older ghc versions.
2305]
2306[Filter ghc-options -threaded for libs too
2307Duncan Coutts <duncan@haskell.org>**20090125145035]
2308[New changelog entries for 1.7.x
2309Duncan Coutts <duncan@haskell.org>**20090123175645]
2310[Update changelog for 1.6.0.2
2311Duncan Coutts <duncan@haskell.org>**20090123175629]
2312[Fix openNewBinaryFile on Windows with ghc-6.6
2313Duncan Coutts <duncan@haskell.org>**20090122172100
2314 fdToHandle calls fdGetMode which does not work with ghc-6.6 on
2315 windows, the workaround is not to call fdToHandle, but call
2316 openFd directly. Bug reported by Alistair Bayley, ticket #473.
2317]
2318[filter -threaded when profiling is on
2319Duncan Coutts <duncan@haskell.org>**20090122014425
2320 Fixes #317. Based on a patch by gleb.alexeev@gmail.com
2321]
2322[Move installDataFiles out of line to match installIncludeFiles
2323Duncan Coutts <duncan@haskell.org>**20090122005318]
2324[Fix installIncludeFiles to create target directories properly
2325Duncan Coutts <duncan@haskell.org>**20090122004836
2326 Previously for 'install-includes: subdir/blah.h' we would not
2327 create the subdir in the target location.
2328]
2329[Typo in docs for source-repository
2330Joachim Breitner <mail@joachim-breitner.de>**20090121220747]
2331[Make 'ghc-options: -O0' a warning rather than an error
2332Duncan Coutts <duncan@haskell.org>**20090118141949]
2333[Improve runE parse error message
2334Duncan Coutts <duncan@haskell.org>**20090116133214
2335 Only really used in parsing config files derived from command line flags.
2336]
2337[The Read instance for License and InstalledPackageInfo is authoritative
2338Duncan Coutts <duncan@haskell.org>**20090113234229
2339 It is ghc's optimised InstalledPackageInfo parser that needs updating.
2340 
2341 rolling back:
2342 
2343 Fri Dec 12 18:36:22 GMT 2008  Ian Lynagh <igloo@earth.li>
2344   * Fix Show/Read for License
2345   We were ending up with things like
2346       InstalledPackageInfo {
2347           ...
2348           license = LGPL Nothing,
2349           ...
2350       }
2351   i.e. "LGPL Nothing" rather than "LGPL", which we couldn't then read.
2352 
2353     M ./Distribution/License.hs -2 +14
2354]
2355[Swap the order of global usage messages
2356Duncan Coutts <duncan@haskell.org>**20090113191810
2357 Put the more important one first.
2358]
2359[Enable the global command usage to be set
2360Duncan Coutts <duncan@haskell.org>**20090113181303
2361 extend it rather than overriding it.
2362 Also rearrange slightly the default global --help output.
2363]
2364[On Windows, if gcc isn't where we expect it then keep looking
2365Ian Lynagh <igloo@earth.li>**20090109153507]
2366[Ban ghc-options: --make
2367Duncan Coutts <duncan@haskell.org>**20081223170621
2368 I dunno, some people...
2369]
2370[Update changelog for 1.6.0.2 release
2371Duncan Coutts <duncan@haskell.org>**20081211142202]
2372[Make the compiler PackageDB stuff more flexible
2373Duncan Coutts <duncan@haskell.org>**20081211141649
2374 We support using multiple package dbs, however the method for
2375 specifying them is very limited. We specify a single package db
2376 and that implicitly specifies any other needed dbs. For example
2377 the user or a specific db require the global db too. We now
2378 represent that stack explicitly. The user interface still uses
2379 the single value method and we convert internally.
2380]
2381[Fix Show/Read for License
2382Ian Lynagh <igloo@earth.li>**20081212183622
2383 We were ending up with things like
2384     InstalledPackageInfo {
2385         ...
2386         license = LGPL Nothing,
2387         ...
2388     }
2389 i.e. "LGPL Nothing" rather than "LGPL", which we couldn't then read.
2390]
2391[Un-deprecate Distribution.ModuleName.simple for now
2392Ian Lynagh <igloo@earth.li>**20081212164540
2393 Distribution/Simple/PreProcess.hs uses it, so this causes build failures
2394 with -Werror.
2395]
2396[Use the first three lhc version digits
2397Duncan Coutts <duncan@haskell.org>**20081211224048
2398 Rather than two, and do it in a simpler way.
2399]
2400[Remove obsolete test code
2401Duncan Coutts <duncan@haskell.org>**20081211142054]
2402[Update the VersionInterval properties which now all pass
2403Duncan Coutts <duncan@haskell.org>**20081210145653]
2404[Eliminate NoLowerBound, Versions do have a lower bound of 0.
2405Duncan Coutts <duncan@haskell.org>**20081210145433
2406 This eliminates the duplicate representation of ">= 0" vs "-any"
2407 and makes VersionIntervals properly canonical.
2408]
2409[Update and extend the Version quickcheck properties
2410Duncan Coutts <duncan@haskell.org>**20081210143251
2411 One property fails. The failure reveals that the VersionInterval type
2412 is not quite a canonical representation of the VersionRange semantics.
2413 This is because the lowest Version is [0] and not -infinity, so for
2414 example the intervals (.., 0] and [0,0] are equivalent.
2415]
2416[Add documentation for VersionRange functions
2417Duncan Coutts <duncan@haskell.org>**20081210140632
2418 With properties.
2419]
2420[Export withinVersion and deprecate betweenVersionsInclusive
2421Duncan Coutts <duncan@haskell.org>**20081210140411]
2422[Add checking of Version validity to the VersionIntervals invariant
2423Duncan Coutts <duncan@haskell.org>**20081210134100
2424 Version numbers have to be a non-empty sequence of non-negataive ints.
2425]
2426[Fix implementation of withinIntervals
2427Duncan Coutts <duncan@haskell.org>**20081210000141]
2428[Fix configCompilerAux to consider user-supplied program flags
2429Duncan Coutts <duncan@haskell.org>**20081209193320
2430 This fixes a bug in cabal-install
2431]
2432[Add ModuleName.fromString and deprecate ModuleName.simple
2433Duncan Coutts <duncan@haskell.org>**20081209151232
2434 Also document the functions in the ModuleName module.
2435]
2436[Check for absolute, outside-of-tree and dist/ paths
2437Duncan Coutts <duncan@haskell.org>**20081208234312]
2438[Export more VersionIntervals operations
2439Duncan Coutts <duncan@haskell.org>**20081208222420
2440 and check internal invariants
2441]
2442[Check for use of cc-options: -O
2443Duncan Coutts <duncan@haskell.org>**20081208182047]
2444[Fake support for NamedFieldPuns in ghc-6.8
2445Duncan Coutts <duncan@haskell.org>**20081208180018
2446 Implement it in terms of the -XRecordPuns which was accidentally
2447 added in ghc-6.8 and deprecates in 6.10 in favor of NamedFieldPuns
2448 So this is for compatability so we can tell package authors always
2449 to use NamedFieldPuns instead.
2450]
2451[Make getting ghc supported language extensions its own function
2452Duncan Coutts <duncan@haskell.org>**20081208175815]
2453[Check for use of deprecated extensions
2454Duncan Coutts <duncan@haskell.org>**20081208175441]
2455[Add a list of deprecated extenstions
2456Duncan Coutts <duncan@haskell.org>**20081208175337
2457 Along with possibly another extension that replaces it.
2458]
2459[Change the checking of new language extensions
2460Duncan Coutts <duncan@haskell.org>**20081207202315
2461 Check for new language extensions added in Cabal-1.2 and also 1.6.
2462 Simplify the checking of -X ghc flags. Now always suggest using
2463 the extensions field, as we separately warn about new extenssons.
2464]
2465[Tweak docs for VersionRange and VersionIntervals
2466Duncan Coutts <duncan@haskell.org>**20081207184749]
2467[Correct and simplify checkVersion
2468Duncan Coutts <duncan@haskell.org>**20081205232845]
2469[Make users of VersionIntervals use the new view function
2470Duncan Coutts <duncan@haskell.org>**20081205232707]
2471[Make VersionIntervals an abstract type
2472Duncan Coutts <duncan@haskell.org>**20081205232041
2473 Provide asVersionIntervals as the view function for a VersionRange
2474 This will let us enforce the internal data invariant
2475]
2476[Slight clarity improvement in compiler language extension handling
2477Duncan Coutts <duncan@haskell.org>**20081205210747]
2478[Slightly simplify the maintenance burden of adding new language extensions
2479Duncan Coutts <duncan@haskell.org>**20081205210543]
2480[Distributing a package with no synopsis and no description is inexcusable
2481Duncan Coutts <duncan@haskell.org>**20081205160719
2482 Previously if one or the other or both were missing we only warned.
2483 Now if neither are given it's an error. We still warn about either
2484 missing.
2485]
2486[Add Test.Laws module for checking class laws
2487Duncan Coutts <duncan@haskell.org>**20081204144238
2488 For Functor, Monoid and Traversable.
2489]
2490[Add QC Arbitrary instances for Version and VersionRange
2491Duncan Coutts <duncan@haskell.org>**20081204144204]
2492[Remove accidentally added bianry file
2493Duncan Coutts <duncan@haskell.org>**20081203000824]
2494[Fix #396 and add let .Haddock find autogen modules
2495Andrea Vezzosi <sanzhiyan@gmail.com>**20081201114853]
2496[Add checks for new and unknown licenses
2497Duncan Coutts <duncan@haskell.org>**20081202172742]
2498[Add MIT and versioned GPL and LGPL licenses
2499Duncan Coutts <duncan@haskell.org>**20081202171033
2500 Since Cabal-1.4 we've been able to parse versioned licenses
2501 and unknown licenses without the parser falling over.
2502]
2503[Don't nub lists of dependencies
2504Duncan Coutts <duncan@haskell.org>**20081202162259
2505 It's pretty meaningless since it's only a syntactic check.
2506 The proper thing is to maintain a dependency set or to
2507 simplify dependencies before printing them.
2508]
2509[Fix the date in the LICENSE file
2510Duncan Coutts <duncan@haskell.org>**20081202161457]
2511[Fix the version number in the makefile
2512Duncan Coutts <duncan@haskell.org>**20081202161441]
2513[Use VersionRange abstractly
2514Duncan Coutts <duncan@haskell.org>**20081202160321]
2515[Do the cabal version check properly.
2516Duncan Coutts <duncan@haskell.org>**20081202155410
2517 Instead of matching on the actual expression ">= x.y" we use the
2518 sematic view of the version range so we can do it precisely.
2519 Also use foldVersionRange to simplify a couple functions.
2520]
2521[Drop support for ghc-6.4 era OPTIONS pragmas
2522Duncan Coutts <duncan@haskell.org>**20081202154744
2523 It's still possible to build with ghc-6.4 but you have to pass
2524 extra flags like "ghc --make -cpp -fffi Setup.hs" We could not
2525 keep those OPTIONS pragmas and make it warning-free with ghc-6.10.
2526 See http://hackage.haskell.org/trac/ghc/ticket/2800 for details.
2527]
2528[Almost make the VersionRange type abstract
2529Duncan Coutts <duncan@haskell.org>**20081202154307
2530 Export constructor functions and deprecate all the real constructors
2531 We should not be pattern matching on this type because it's just
2532 syntax. For meaningful questions we should be matching on the
2533 VersionIntervals type which represents the semantics.
2534]
2535[Change isAnyVersion to be a semantic rather than syntactic test
2536Duncan Coutts <duncan@haskell.org>**20081202142123
2537 Also add simplify and isNoVersion.
2538]
2539[Add VersionIntervals, a view of VersionRange
2540Duncan Coutts <duncan@haskell.org>**20081202141040
2541 as a sequence of non-overlapping intervals. This provides a canonical
2542 representation for the semantics of a VersionRange. This makes several
2543 operations easier.
2544]
2545[Fix pretty-printing of version wildcards, was missing leading ==
2546Duncan Coutts <duncan@haskell.org>**20081202135949]
2547[Add a fold function for the VersionRange
2548Duncan Coutts <duncan@haskell.org>**20081202135845
2549 Use it to simplify the eval / withinRange function
2550]
2551[Improve the error on invalid file globs slightly
2552Duncan Coutts <duncan@haskell.org>**20081202135335]
2553[Use commaSep everywhere in the Check module
2554Duncan Coutts <duncan@haskell.org>**20081202135208]
2555[Fix message in the extra-source-files field check
2556Duncan Coutts <duncan@haskell.org>**20081202135000]
2557[Add checks for file glob syntax
2558Duncan Coutts <duncan@haskell.org>**20081202133954
2559 It requires cabal-version: >= 1.6 to be specified
2560]
2561[Add check for use of "build-depends: foo == 1.*" syntax
2562Duncan Coutts <duncan@haskell.org>**20081202131459
2563 It requires Cabal-1.6 or later.
2564]
2565[Distinguish version wild cards in the VersionRange AST
2566Duncan Coutts <duncan@haskell.org>**20081128170513
2567 Rather than encoding them in existing constructors.
2568 This will enable us to check that uses of the new syntax
2569 are flagged in .cabal files with cabal-version: >= 1.6
2570]
2571[Fix comment in LHC module
2572Duncan Coutts <duncan@haskell.org>**20081123100710
2573 Yes, LHC really does use ghc-pkg (with a different package.conf)
2574]
2575[Use the new bug-reports and source-repository info in the .cabal file
2576Duncan Coutts <duncan@haskell.org>**20081123100041]
2577[Simplify build-depends and base3/4 flags
2578Duncan Coutts <duncan@haskell.org>**20081123100003]
2579[Simplify default global libdir for LHC
2580Duncan Coutts <duncan@haskell.org>**20081123095802
2581 So it uses libdir=$prefix/lib rather than libdir=/usr/local/lib
2582]
2583[Simplify the compat exceptions stuff
2584Duncan Coutts <duncan@haskell.org>**20081123095737]
2585[Fix warnings in the LHC module
2586Duncan Coutts <duncan@haskell.org>**20081122224011]
2587[Distribution/Simple/GHC.hs: remove tabs for whitespace to eliminate warnings in cabal-install
2588gwern0@gmail.com**20081122190011
2589 Ignore-this: 2fd54090af86e67e25e51ade42992b53
2590]
2591[Warn about use of tabs
2592Duncan Coutts <duncan@haskell.org>**20081122154134]
2593[Bump Cabal HEAD version to 1.7.x development series
2594Duncan Coutts <duncan@haskell.org>**20081122145817
2595 Support for LHC is the first divergence between 1.7
2596 and the stable 1.6.x series.
2597]
2598[Update changelog for 1.6.0.x fixes
2599Duncan Coutts <duncan@haskell.org>**20081122145758]
2600[LHC: Don't use --no-user-package-conf. It doesn't work with ghc-6.8.
2601Lemmih <lemmih@gmail.com>**20081122012341
2602 Ignore-this: 88a837b38cf3e897cc5ed4bb22046cee
2603]
2604[Semi-decent lhc support.
2605Lemmih <lemmih@gmail.com>**20081121034138]
2606[Make auto-generated *_paths.hs module warning-free.
2607Thomas Schilling <nominolo@googlemail.com>**20081106142734
2608 
2609 On newer GHCs using {-# OPTIONS_GHC -fffi #-} gives a warning which
2610 can lead to a compile failure when -Werror is activated.  We therefore
2611 emit this option if we know that the LANGUAGE pragma is supported
2612 (ghc >= 6.6.1).
2613]
2614[Escape ld-options with the -optl prefix when passing them to ghc
2615Duncan Coutts <duncan@haskell.org>**20081103151931
2616 Fixes ticket #389
2617]
2618[Simplify previous pkg-config fix
2619Duncan Coutts <duncan@haskell.org>**20081101200309]
2620[Fix bug where we'd try to configure an empty set of pkg-config packages
2621Duncan Coutts <duncan@haskell.org>**20081101195512
2622 This happened when the lib used pkg-config but the exe did not.
2623 It cropped up in hsSqlite3-0.0.5.
2624]
2625[Add GHC 6.10.1's extensions to the list in Language.Haskell.Extension
2626Ian Lynagh <igloo@earth.li>**20081019141408]
2627[Ensure that the lib target directory is present when installing
2628Duncan Coutts <duncan@haskell.org>**20081017004437
2629 Variant on a patch from Bryan O'Sullivan
2630]
2631[Release kind is now rc
2632Duncan Coutts <duncan@haskell.org>**20081011183201]
2633[TAG 1.6.0.1
2634Duncan Coutts <duncan@haskell.org>**20081011182516]
2635Patch bundle hash:
263661aef9361289bc3122f20389e98811b89a3396b4