Patch that fixes the long standing sdist file permission bug
John D. Ramsdell
ramsdell at mitre.org
Mon Dec 20 19:27:04 CET 2010
Mon Dec 20 13:13:08 EST 2010 ramsdell at mitre.org
* sdist perms fix
New patches:
[sdist perms fix
ramsdell at mitre.org**20101220181308
Ignore-this: ca0ff71dc7318d12c4f64134c636a08e
] {
hunk ./Distribution/Simple/SrcDist.hs 81
( Version(versionBranch) )
import Distribution.Simple.Utils
( createDirectoryIfMissingVerbose, withUTF8FileContents, writeUTF8File
- , copyFiles, copyFileVerbose
+ , installOrdinaryFile, installOrdinaryFiles
, findFile, findFileWithExtension, matchFileGlob
, withTempDirectory, defaultPackageDesc
, die, warn, notice, setupMessage )
hunk ./Distribution/Simple/SrcDist.hs 344
createDirectoryIfMissingVerbose verbosity True (takeDirectory targetFile)
copyFileVerbose verbosity file targetFile
+copyFileVerbose :: Verbosity -> FilePath -> FilePath -> IO ()
+copyFileVerbose = installOrdinaryFile
+
+copyFiles :: Verbosity -> FilePath -> [(FilePath, FilePath)] -> IO ()
+copyFiles = installOrdinaryFiles
+
printPackageProblems :: Verbosity -> PackageDescription -> IO ()
printPackageProblems verbosity pkg_descr = do
ioChecks <- checkPackageFiles pkg_descr "."
}
Context:
[Replace uses of the old try function with the new one
Ian Lynagh <igloo at earth.li>**20101218230920
Ignore-this: e0a9db2f97bc3f90ceb5772944f4e25b
]
[Replace uses of the old catch function with the new one
Ian Lynagh <igloo at earth.li>**20101218213608]
[Add GADTSyntax to extension list
Ian Lynagh <igloo at earth.li>**20101218150259]
[Allow CABAL_VERSION to be defined when bootstrapping
Ian Lynagh <igloo at earth.li>**20101212213359
Needed for the GHC build system
]
[Add NondecreasingIndentation to Language.Haskell.Extension
Ian Lynagh <igloo at earth.li>**20101124223953
Ignore-this: 2d072a45d76770cf97553b0e5df9e998
]
[Export commandParseArgs
Duncan Coutts <duncan at haskell.org>**20101105140655
Ignore-this: f452f13b130e886ecd8262c6f24a0c52
]
[Add some more extensions that GHC knows about
Ian Lynagh <igloo at earth.li>**20101026220409
Ignore-this: 92bbbb269985fe576798cd2cdba4ceca
]
[Whitespace only
Ian Lynagh <igloo at earth.li>**20101026220403
Ignore-this: 8746b070884de3ed45db486a0a49db3e
]
[Fix parsing of empty default-language fields
Ian Lynagh <igloo at earth.li>**20101026220312
Ignore-this: 99011d6c9af431e7c8d90c3cee364606
]
[Add support for general extension en/disabling
Ian Lynagh <igloo at earth.li>**20101026145503]
[Tweak a couple of types
Ian Lynagh <igloo at earth.li>**20101026131250]
[Generalise deprecatedExtensions
Ian Lynagh <igloo at earth.li>**20101026131121
It now works with Extensions rather than KnownExtensions
]
[Split known-extensions off into their own type, and remove knownExtensions
Ian Lynagh <igloo at earth.li>**20101025232624
The knownExtensions list had already got out of sync with the datatype.
Now we use an Enum instance to get the list of constructors.
Also, having the actual extensions in a separate type than UnknownExtension
and EnableExtension makes it easier to add extension disabling support
later.
]
[Add a test program to look for ghc extensions that are not registered
Duncan Coutts <duncan at haskell.org>**20101025163536
Ignore-this: cf38e2434eba386b83b818a29fd5ac14
Should live in the ghc testsuite but no harm having it here too.
]
[Make the .cabal file fully 1.10-compliant
Ian Lynagh <igloo at earth.li>**20101020133037
Ignore-this: 66409062c8d4b698f69aa58a83b85ef1
Add Default-Language field, and change Extensions to Default-Extensions.
]
[Require "cabal-version: >= 1.10" as we use the new testsuite syntax
Ian Lynagh <igloo at earth.li>**20101020131829
Ignore-this: 6aecdd77f78234f0359af0509f1ba636
]
[Fix warnings: Remove duplicate imports
Ian Lynagh <igloo at earth.li>**20101020125710
Ignore-this: dea9d889078c729459e1ab92a8e54c08
]
[Merge conflicts
Ian Lynagh <igloo at earth.li>**20101020112200
Ignore-this: d96cab403511f914d9d8df1a29ca58ee
]
[Add final newline
Simon Marlow <marlowsd at gmail.com>**20101013125337
Ignore-this: 99e055c7186219369902a63c63c3fd76
Something in the Windows build was complaining about the lack of a
final newline.
]
[Update the pretty printer to the current testsuite interface
Duncan Coutts <duncan at haskell.org>**20101020120506
Ignore-this: 480a349e93be8228f81f93632cabe2c7
]
[Improve error messages about programs not being found
Duncan Coutts <duncan at haskell.org>**20101019074436
Ignore-this: 9b4daf9a09179482049146669af59f76
Make it clear it is a program we are talking about, not a library.
]
[Add a note about the remaining issue with runhugs scripts
Duncan Coutts <duncan at haskell.org>**20101018232248
Ignore-this: 3e83a3238d08cdb3ad9e353d43fbf7fa
]
[Add package QA checks for the new language and extensions fields
Duncan Coutts <duncan at haskell.org>**20101018180343
Ignore-this: a063fd21e86e4e19b8152258c5a0711f
]
[Check at configure time that languages are supported by the compiler
Duncan Coutts <duncan at haskell.org>**20101018180300
Ignore-this: e3988c2eff46129b1f2732cd9647c935
]
[Add compiler support for using the new languages and extensions fields
Duncan Coutts <duncan at haskell.org>**20101018180151
Ignore-this: ec1b61767d492dcd2dfa6a07ace3b982
]
[Add hugs support for the languages and extensions fields
Duncan Coutts <duncan at haskell.org>**20101018175647
Ignore-this: 9b39c392119aebbbad22a64dcf992f88
Incidentally, should fixe ticket #43.
]
[Add parsing for the new language and extensions fields
Duncan Coutts <duncan at haskell.org>**20101018091918
Ignore-this: c59c8ef96c83f35e293c8f495b89fda6
]
[Add new language and extensions fields (internal data structures)
Duncan Coutts <duncan at haskell.org>**20101018090620
Ignore-this: f49dd9278b0053bc441a37beeb2f6145
New fields default-language and other-languages for specifying the
base languages for the package, e.g. Haskell98, Haskell2010
New fields default-extensions and other-extensions for the language
extensions. Separate from the old extensions field.
The separation lets us express the difference between declaring to
the outside world that a package uses certain languages or extensions
and whether certain languages or extensions should be applied to
all modules in the package component.
]
[Extend the Compiler interface to list the supported languages
Duncan Coutts <duncan at haskell.org>**20101018082608
Ignore-this: 8b1ab7cc14f35dd6604c2a85173ad48
]
[Add a Language type, starting with Haskell98 and Haskell2010
Duncan Coutts <duncan at haskell.org>**20101018082208
Ignore-this: de80df5317b5d44900e30c947a86364b
]
[Merge and tweaks following pretty printer changes
Duncan Coutts <duncan at haskell.org>**20101018195344
Ignore-this: 513a2b0ce02fed98f5beba0dd893eb16
]
[pretty printer fixes (FreeText starting with ., version tags, version range parens, option order).
jnf at arcor.de**20101011094517
Ignore-this: 400ac5be014f1529632bd16ffd878a92
]
[reentered accidentally lost exports
jnf at arcor.de**20100929105852
Ignore-this: 2ad4ecfac6feba4c2a59a131c05c8a40
]
[new cabal pretty printer.
jnf at arcor.de**20100929103653
Ignore-this: 43f954ec31373e327f2c29fcbf3f0865
]
[Fix old doc links
Duncan Coutts <duncan at haskell.org>**20100727012425
Ignore-this: 9e9d0f2045adebe7bb38b5d1a7d2d71a
]
[Add note about ticket #689 about deprecated extensions
Duncan Coutts <duncan at haskell.org>**20100622151328
Ignore-this: 56cf0027a4c10f4c07045e2ccdbb819c
]
[Head version needs cabal-version: >=1.8 due to test stanza
Duncan Coutts <duncan at haskell.org>**20101017155521
Ignore-this: 6652a529071ccb2eb1cdeda3451aac30
]
[Remove unused cpp version definition
Duncan Coutts <duncan at haskell.org>**20101017155218
Ignore-this: 8dc3425bd811d60d28c2eaf365ec1e66
]
[Change the way we handle the version number during bootstrapping
Duncan Coutts <duncan at haskell.org>**20101016191252
Ignore-this: e21559acc28b7bd811dc4fe147e645b2
Means we only need to have the version in one place now. Yay.
]
[Restore compatability with ghc-6.8 and 6.6 but drop support for ghc-6.4
Duncan Coutts <duncan at haskell.org>**20101016182714
Ignore-this: 6aef933e4bfb4a9c47021d17370805ea
]
[Add the Cabal unit tests as a test-suite stanza
Duncan Coutts <duncan at haskell.org>**20101016165656
Ignore-this: b9abbfe867754b8bf5b02919c1f25509
Still some other tests that need hooking up to this mechanism
]
[Update the unit tests of the testsuite feature
Duncan Coutts <duncan at haskell.org>**20101016165615
Ignore-this: bc08d2a8609943f40e901c42916072c2
]
[Rename test --human-log to just --log
Duncan Coutts <duncan at haskell.org>**20101016153441
Ignore-this: a2ccb95759a67ae2888a2db2d2ba678d
Still have --machine-log as a separate flag
]
[Remove the test --append-human-log and --replay features
Duncan Coutts <duncan at haskell.org>**20101016153235
Ignore-this: 23d9c6431f929cd4078c54e03928cef2
]
[Add instance Text TestShowDetails parsing and use it for --show-details flag
Duncan Coutts <duncan at haskell.org>**20101016153015
Ignore-this: 1018e874b8acbf51bd7081df1210285
Rather than Read/Show
]
[Fix a cabal-version check so it accepts the field missing entirely
Duncan Coutts <duncan at haskell.org>**20101016151929
Ignore-this: e30f6fe6e7f54cc5c791a3b6761e93de
]
[Add testsuites to the allBuildInfo function, used mainly in checks
Duncan Coutts <duncan at haskell.org>**20101013172229
Ignore-this: be876b609bf1266f3928f25e94f87703
]
[Update the message for a package check
Duncan Coutts <duncan at haskell.org>**20101013172206
Ignore-this: 875cc7c6a763321f2e3251195c9dfb1e
]
[Add a few TODOs about package checks
Duncan Coutts <duncan at haskell.org>**20101013172128
Ignore-this: 837bda043d740f0b92549f3379d43909
]
[Check test-suite sections even when they have been disabled at configure time
Duncan Coutts <duncan at haskell.org>**20101013171851
Ignore-this: 938113ec297b2e5c511a72c5ac8a86d
]
[Default to Haskell98 for GHC 7.x
Duncan Coutts <duncan at haskell.org>**20101013022258
Ignore-this: c34b946f55e5ec054cc842914f58b5a5
GHC 7 defaults to Haskell2010, we stick with 98 for the moment.
We will later introduce a new language field to control this.
]
[Change the syntax and behaviour of the cabal-version field
Duncan Coutts <duncan at haskell.org>**20101013014933
Ignore-this: c4cb33360d623ff312b5c3f2d78f730c
For historical reasons the cabal-version is specified with a version range,
to indicate the range of versions of tools that the package will work with.
We now think it makes more sense to specify the version of the Cabal spec
that the package follows. Old Cabal versions will not be able to parse simple
versions in this field. So we initially make the parser allow plain versions
but then we add a check to warn about using it prior to Cabal-1.12 at which
point it will be allowed.
Added a check about using version ranges that are not of the form '>= x.y'.
Also change behaviour to ignore upper bounds in the given version range.
]
[Fix duplicate import warnings
Ian Lynagh <igloo at earth.li>**20101012131227
Ignore-this: a9b51a864f95206f4d972f1e7506be55
]
[Remove the ghc Makefile stuff for the old docbook xml
Duncan Coutts <duncan at haskell.org>**20101010210026
Ignore-this: 6c714ba98b60e15e44577b64d2de3e1c
Not woth keeping it, none of it can sensibly be reused. The GHC
devs will need to add something new for the markdown user guide.
]
[Update Makefile for new markdown user guide
Duncan Coutts <duncan at haskell.org>**20101010205938
Ignore-this: dcb5bd072c619516e23329f170458d72
]
[Add a FIXME about parsing cabal files
Duncan Coutts <duncan at haskell.org>**20101010203421
Ignore-this: 12804d54e81b5ea5878e52628717bc1d
]
[Refactor the missing VCS info QA check
Duncan Coutts <duncan at haskell.org>**20101010192346
Ignore-this: fa6a50a9bd43cf9069e7cd16e23a2b4e
Starting with Marc Weber's code and just moving
it about and making it fit in a bit nicer.
]
[Remove redundant import
Duncan Coutts <duncan at haskell.org>**20101010190724
Ignore-this: a978a6a257a31a57d07d57471f04af49
]
[Rename LocalBuildInfo extraArgs to extraConfigArgs to avoid name clashes
Duncan Coutts <duncan at haskell.org>**20101010190036
Ignore-this: 817061002399a51cbf31da2ba002737b
]
[Add a bunch of TODOs about the test feature
Duncan Coutts <duncan at haskell.org>**20101010173245
Ignore-this: f2acc005fef4996a2c5260356eaf219f
]
[Change how the test suite interfaces are represented, parsed and used
Duncan Coutts <duncan at haskell.org>**20101010162526
Ignore-this: 8773e7756fc23bc04c9e5b2b14031512
Also, stick to version 0.9 of the "detailed" test interface, since it's
not quite finalised yet. Misc other minor code cleanups.
]
[Added test suites to Cabal User Guide
Thomas Tuegel <ttuegel at gmail.com>**20100811141332
Ignore-this: 3975acc803fdba809ca1c8abeef21677
Ticket #215 (Overhaul support for packages' tests).
]
[Removed "$stdio" from acceptable template variables
Thomas Tuegel <ttuegel at gmail.com>**20100810201828
Ignore-this: c50e05e9a73c726567eff0a364f29750
Ticket #215 (Overhaul support for packages' tests). In the usage message, the
template variable "$stdio" was incorrectly listed as being available in the
"--human-log" and "--machine-log" flags. The variable has been removed.
]
[Added --test-option(s) flags
Thomas Tuegel <ttuegel at gmail.com>**20100809161341
Ignore-this: cea82267bbc0b16d5f21bfc086285905
Ticket #215 (Overhaul support for packages' tests). This patch adds the
--test-option(s) flags for passing command-line options to test executables.
]
[Respect verbosity flag when outputting test log
Thomas Tuegel <ttuegel at gmail.com>**20100809151517
Ignore-this: 73668e49eeea216c27b5233c7e3fe2cb
Ticket #215 (Overhaul support for packages' tests). This patch corrects the
printing of the human-readable test log to the terminal so the setting of the
verbosity flag is respected.
]
[Added --replay option to cabal test
Thomas Tuegel <ttuegel at gmail.com>**20100803164932
Ignore-this: c97d70e21d3847aa4d889304a7e94451
Ticket #215 (Overhaul support for packages' tests). This patch adds support for
using machine logs from previous runs to replay tests with the same options.
When using --replay, Cabal will replay all test suites listed in the machine log
specified; test suite names specified on the command line are ignored.
]
[Renamed "library" test suite type to "detailed"
Thomas Tuegel <ttuegel at gmail.com>**20100803141125
Ignore-this: 457c1a155020303962ae55b2bcd8415c
Ticket #215 (Overhaul support for packages' tests).
]
[Fixed human test log output for failing tests
Thomas Tuegel <ttuegel at gmail.com>**20100803030246
Ignore-this: f9d3ef127cdb849762af79f31a0c80c9
Ticket #215 (Overhaul support for packages' tests). This patch corrects the bug
in the human test log output to terminal where the line wrapping code in Cabal
caused terminal control codes output by the test framework to be placed
incorrectly. Line wrapping is no longer performed.
]
[Displaying human-readable test log when requested
Thomas Tuegel <ttuegel at gmail.com>**20100730151818
Ignore-this: 98f0adb8e47a52a59ccb3581982157ed
Ticket #215 (Overhaul support for packages' tests). This patch causes Cabal to
display the contents of the human-readable log file on the terminal when run
with --show-details=always or when run with --show-details=failures and a
failure is detected. The structure of the test logging code has been changed
for clarity to debug a problem where test executables that write to their stderr
channel disrupt terminal output.
]
[Added debugging output to test summary
Thomas Tuegel <ttuegel at gmail.com>**20100730134008
Ignore-this: 826d20639f17ae0650d1c9b8a56b43a7
Ticket #215 (Overhaul support for packages' tests).
]
[Using correct name of log file in human-readable log
Thomas Tuegel <ttuegel at gmail.com>**20100730041720
Ignore-this: 3c6df44f5d6414ce1fe2b58c50590726
Ticket #215 (Overhaul support for packages' tests). Previously, human-readable
logs listed the name of the temporary file where test suite output is
initially logged.
]
[Renamed option '--test-filter' to '--show-details'
Thomas Tuegel <ttuegel at gmail.com>**20100730023026
Ignore-this: 8b78eed5ccf9cb7ed6a55b86d886e5cc
Ticket #215 (Overhaul support for packages' tests).
]
[Displaying location of test suite log on terminal
Thomas Tuegel <ttuegel at gmail.com>**20100729141159
Ignore-this: e98a67180c6ff1511b86e442f9acf3c1
Ticket #215 (Overhaul support for packages' tests). It was decided that
indicating the location of the human-readable test suite log made Cabal's test
runner easier to use.
]
[Passing names of test suites to run to test stage
Thomas Tuegel <ttuegel at gmail.com>**20100726150811
Ignore-this: bf556a0a06fe26b132f1eb5caec21805
Ticket #215 (Overhaul support for packages' tests).
]
[Fixed deprecation warning in Distribution.TestSuite
Thomas Tuegel <ttuegel at gmail.com>**20100726141448
Ignore-this: 64cd6a5a936efd6b0ee0f50564440a9d
Ticket #215 (Overhaul support for packages' tests). Warning resulted from use
of Control.OldException.
]
[Fixed help message for machine-log path template
Thomas Tuegel <ttuegel at gmail.com>**20100724164652
Ignore-this: 52205830166a307eedce807e908f7a0a
Ticket #215 (Overhaul support for packages' tests). The message previously
indicated that $test-suite is acceptable in the machine log path template,
which is not true.
]
[Catching exceptions when lifting pure tests to IO
Thomas Tuegel <ttuegel at gmail.com>**20100724134336
Ignore-this: 89a2265a94ee0082935d236dd64c12d4
Ticket #215 (Overhaul support for packages' tests).
]
[Using common function to name path environment variables in PathsModule and Test
Thomas Tuegel <ttuegel at gmail.com>**20100722145840
Ignore-this: 5cea1a3e77acb84a162de3d1c85a3fe6
Ticket #215 (Overhaul support for packages' tests). The names of environment
variables used to set package paths at runtime were previously hard-coded into
the function that generates the paths module. A function generating the
variable names is now exported from Distribution.Simple.Build.PathsModule and
used to set the datadir in Distribution.Simple.Test to prevent breakage if the
naming scheme changes.
]
[Added documentation for machine-readable test log types
Thomas Tuegel <ttuegel at gmail.com>**20100722140017
Ignore-this: 60f934e11b1c3ee4df9f48677528af47
Ticket #215 (Overhaul support for packages' tests).
]
[Improved documentation for Distribution.TestSuite
Thomas Tuegel <ttuegel at gmail.com>**20100722124239
Ignore-this: f7b1261270c4815b0691ce33c664908c
Ticket #215 (Overhaul support for packages' tests).
]
[Fixed documentation errors in Distribution.Simple.Test
Thomas Tuegel <ttuegel at gmail.com>**20100721221844
Ignore-this: b111e727b4a556b17c2a1eb4dfd6971b
Ticket #215 (Overhaul support for packages' tests).
]
[Renamed Distribution.TestSuite.optionLookup to lookupOption
Thomas Tuegel <ttuegel at gmail.com>**20100721170724
Ignore-this: 3a5e79fd0a14d974e664a74af5cb83d1
Ticket #215 (Overhaul support for packages' tests.)
]
[Added console-style test summary information to human-readable logs
Thomas Tuegel <ttuegel at gmail.com>**20100721163516
Ignore-this: 494c2220285ef4bda036ecdfd7242adf
Ticket #215 (Overhaul support for packages' tests).
]
[Added flag allowing human-readable test logs to be appended instead of overwritten
Thomas Tuegel <ttuegel at gmail.com>**20100721160421
Ignore-this: f157a4830f82a4a978c1cfb1931a0258
Ticket #215 (Overhaul support for packages' tests).
]
[Added clarifying comments to Distribution.Simple.Test
Thomas Tuegel <ttuegel at gmail.com>**20100721160417
Ignore-this: 100000890351a75557a6dfa0f71c419f
Ticket #215 (Overhaul support for packages' tests).
]
[Using a separate PathTemplateEnv for machine test logs
Thomas Tuegel <ttuegel at gmail.com>**20100720204724
Ignore-this: 4920c6e88b8d3d3d788ba42d6b5268af
Ticket #215 (Overhaul support for packages' tests). Previously, the use of a
dummy test suite name would lead to unintuitive expansions of the PathTemplate
governing the location of the machine-readable package test log.
]
[Exporting machine log types from Distribution.Simple.Test
Thomas Tuegel <ttuegel at gmail.com>**20100720204558
Ignore-this: 6920621dbabf471cef7d688904b9b1b8
Ticket #215 (Overhaul support for packages' tests). These types were exported
to enable parsing of test logs by external utilities.
]
[Added 'check' and 'optionLookup' to Distribution.TestSuite
Thomas Tuegel <ttuegel at gmail.com>**20100720134707
Ignore-this: 21ef44dc0087ff8333b1722309f8fbdd
Ticket #215 (Overhaul support for packages' tests). These functions were added
for the benefit of test runner authors.
]
[Saving Options from test runs for reproducability
Thomas Tuegel <ttuegel at gmail.com>**20100715180003
Ignore-this: 858c387d83e93e193f7c66df3901f6e3
Ticket #215 (Overhaul support for packages' tests). Saving the Options used
required changes to the TestSuite interface, with the Option values now being
specified as Strings and not Dynamics. This was necessary because the lack of
a Read instance for Dynamic.
]
[Improvements to test suite logging
Thomas Tuegel <ttuegel at gmail.com>**20100715020549
Ignore-this: b47f4358302b283e93ccaff81db123f2
Ticket #215 (Overhaul support for packages' tests). This patch includes proper
support for both machine- and human-readable logs.
]
[Removed duplicate code for test suite interface version checks
Thomas Tuegel <ttuegel at gmail.com>**20100713144835
Ignore-this: e06c264351013480a66c013ca398db4b
Ticket #215 (Overhaul support for packages' tests). Duplicate code for checking
the test suite interface version was replaced with a single function
'testVersion1 :: Version -> Bool' exported from Distribution.PackageDescription.
]
[Added QA checks for test suite name conflicts
Thomas Tuegel <ttuegel at gmail.com>**20100712154401
Ignore-this: df13e2f16cf4e879f5d5f6538c6e7db8
Ticket #215 (Overhaul suppport for packages' tests).
]
[New test suite log format
Thomas Tuegel <ttuegel at gmail.com>**20100708132650
Ignore-this: 96a300e6acedd0de63757713fbb1d832
Ticket #215 (Overhaul support for package's tests). This patch adds a new test
log file format based on the TestSuiteLog data structure. The interface between
Cabal and the library test suite runner has consequently changed.
]
[Inheriting existing environment for test suite executables
Thomas Tuegel <ttuegel at gmail.com>**20100707222244
Ignore-this: 6f08245c83817a85c7da5a05f810abd6
Ticket #215 (Overhaul support for packages' tests). Previously, the test
runner replaced the environment for test suite executables with one containing
only the datadir path for package data files. For test suites invoking other
programs, it is necessary to preserve the system paths, so the datadir path
variable is appended to the inherited environment.
]
[Improvements to library test suite runner, including documentation
Thomas Tuegel <ttuegel at gmail.com>**20100624181304
Ignore-this: 45baa7905de5423e91707f52e590bbad
Ticket #215 (Overhaul support for packages' tests).
]
[Renamed 'result' and 'getResult' to 'run' and 'runM'
Thomas Tuegel <ttuegel at gmail.com>**20100623184640
Ignore-this: 7bb6dd598eaa135fcbf73e82ab0d2ce2
Ticket #215 (Overhaul support for packages' tests).
]
[Setting datadir environment variables when running tests
Thomas Tuegel <ttuegel at gmail.com>**20100623183201
Ignore-this: 7a9e26c684417871609847f6e4d4883e
Ticket #215 (Overhaul support for packages' tests).
]
[Added convenience functions and default instances making export of 'Test' constructors unnecessary
Thomas Tuegel <ttuegel at gmail.com>**20100623151934
Ignore-this: 1979265e345e268787b5b6fe49bdfd64
Ticket #215 (Overhaul support for packages' tests).
]
[Added support for running the default stub executables Cabal creates for library test suites
Thomas Tuegel <ttuegel at gmail.com>**20100623151903
Ignore-this: 2be1bbfb07a7fc0e3a0d2c9e5bdf2252
Ticket #215 (Overhaul support for packages' tests).
]
[Removed dependency on extensible-exceptions from detailed test suite interface
Thomas Tuegel <ttuegel at gmail.com>**20100623150227
Ignore-this: 50ad3ee8c2dc5f62b48aa84d0318c3e6
Ticket #215 (Overhaul support for packages' tests).
]
[Added support for building detailed library test suites
Thomas Tuegel <ttuegel at gmail.com>**20100623150222
Ignore-this: 1f2a6034af9adf493088265cc8481df5
Ticket #215 (Overhaul support for packages' tests). This patch preprocesses
and builds library test suites. The fake packages are created for each test
suite, where the fake package and test suite share the same name; the packages
and libraries are registered in the inplace package database so that test
agents can build stub executables against them.
]
[Improved security of test log file creation
Thomas Tuegel <ttuegel at gmail.com>**20100621114726
Ignore-this: 6fed3aa4ebcb587b48bb2a256fcbc61b
Ticket #215 (Overhaul support for packages' tests). The algorithm previously
used to name the log files for test output suffers from a known vulnerability
due to the predictability of chosen names.
]
[Added detailed test interface
Thomas Tuegel <ttuegel at gmail.com>**20100617210631
Ignore-this: 161624662d6ec7946a33415ddbff4445
Ticket #215 (Overhaul support for packages' tests). This patch provides the
detailed test interface for exposing individual tests to Cabal and other test
agents. It also provides the simple function Cabal will provide as the default
test runner.
]
[Fixed test suite breakage due to TestSuite API changes
Thomas Tuegel <ttuegel at gmail.com>**20100629212935
Ignore-this: 8de228836efb206e1adb833c841ae757
Ticket #215 (Overhaul support for packages' tests). The update to the
TestSuite parser which stopped disallowed configurations during parsing also
broke the existing test suite with API changes.
]
[Added --test-filter flag
Thomas Tuegel <ttuegel at gmail.com>**20100624175917
Ignore-this: e8fcaddf34a42326d0f3a1081aafb724
Ticket #215 (Overhaul support for packages' tests).
]
[Qualified import of Distribution.Simple.Setup in Distribution.Simple.Haddock
Thomas Tuegel <ttuegel at gmail.com>**20100623193755
Ignore-this: ec5750f56b22f67e5862036fcdd8ecee
]
[Using path templates to name test log files
Thomas Tuegel <ttuegel at gmail.com>**20100622162317
Ignore-this: af6564bf6154e29e363ee343c9fc5806
Ticket #215 (Overhaul support for packages' tests).
]
[More docs about the meaning of the cabal-version field
Duncan Coutts <duncan at haskell.org>**20101010154251
Ignore-this: 381ede9227f7a9db78f1007364660648
]
[Document how Cabal-Version affects behaviour of build-depends
Ben Millwood <haskell at benmachine.co.uk>**20100926025550
Ignore-this: ba6367db93c15906331457a0468db436
]
[initial support for building executables with UHC
Atze Dijkstra <atze at cs.uu.nl>**20100923214130
Ignore-this: bbbf1adcec2fcfe87ce1db18c804f21a
]
[Added flags related to UHC, uhcbase package
Atze Dijkstra <atze at cs.uu.nl>**20100706115341
Ignore-this: f7dd2b14e3146f8844635ddcb70ac3b9
]
[Minor changes to the auto-reconfiguration feature.
Duncan Coutts <duncan at haskell.org>**20101010144111
Ignore-this: 944f595482ea42eb1907fb1150d6d4c0
Change the messages slightly. Make configure return the
new lbi, rather than having to re-read the lbi from file
(avoiding potential infinite loop if the IO failed).
]
[Auto-reconfiguration when .cabal is newer than setup-config
Dmitry Astapov <dastapov at gmail.com>**20100825131106
Ignore-this: 22ab2b6de0251f6cf1da7c2538544d4
This patch adds "ConfigFlags" to the "LocalBuildInfo" and reuses them to
perform "configureAction" when .cabal file is changed. This has
the same effect as re-running "configure" with the most recent used
set of options, which should be the sensible thing to do.
Closes #294, #477, #309 and #518.
]
[Fix processing of ghc-shared-options
Duncan Coutts <duncan at haskell.org>**20101009204809
Ignore-this: 571b3d70fbc705282b9fdfdafdc2f009
Original patch was:
Sun Oct 7 13:41:53 BST 2007 Thorkil Naur <naur at post11.tele.dk>
* Fix processing of shared options
Re-recorded due to code churn
]
[Correct spelling of 'transative'
Duncan Coutts <duncan at haskell.org>**20101009202836
Ignore-this: fe7ec5ae621135024403ae0aa42094c2
Original patch by:
Thu Aug 21 21:19:51 MDT 2008 dbueno at gmail.com
* Correct spelling of 'transative'.
Re-recorded due to conflict.
]
[print a warning if repository location isn't specified and the cabal project looks like being tracked by a version control system
marco-oweber at gmx.de**20091129192013
Ignore-this: 5ce5073f1793193e437353490eff0276
]
[Bump Cabal HEAD version to 1.11.0
Duncan Coutts <duncan at haskell.org>**20101010154518
Ignore-this: 407e2b1c0de8c10f399841b3fbea1dd3
]
[TAG 1.10 branch forked
Duncan Coutts <duncan at haskell.org>**20101010155050
Ignore-this: 7b0241166f919e2a374a2a69669b2e6b
]
[Bump Cabal version number to 1.10.0.0
Ian Lynagh <igloo at earth.li>**20100923141731
Ignore-this: 8b1d551dacebdd3f1b8ebdc4e040825c
]
[Bump dependencies
Ian Lynagh <igloo at earth.li>**20100917183849
Ignore-this: 4b0979a3f1d16c779abc3c94876ed36c
]
[add a separator before the pid suffix to the tmpdir template
Jens Petersen <petersen at haskell.org>**20100823012755
Ignore-this: 3327cb2d1d1f199efd5c0a9e55f8cc38
Currently Cabal just appends the pid to the package name-version
which makes it hard to see the actual package version number.
This patch just inserts a '-' between name-version and pid.
]
[Mention self-referential dependency feature in Cabal >= 1.8.0.4.
ezyang at mit.edu**20100611022749
Ignore-this: 64289dc45e9b6cd83a549636c062a8a4
]
[Pass additional parameters in generated shell scripts
Matthias Kilian <kili at outback.escape.de>**20100516161230
Ignore-this: 73d7f4da34a1de1bb90f592e4febe23f
While here, simplify the argument list construction in
invocationAsShellScript a little bit.
]
[update for containers-0.4
Simon Marlow <marlowsd at gmail.com>**20100903105147
Ignore-this: eefb1a1b230812397bee0a3cd2aa723
]
[Add a note explaining the logic of Igloo's previous preprocessing change
Duncan Coutts <duncan at haskell.org>**20100820120031
Ignore-this: ae227a082ffa2890ae5e9c0261c464c4
We previously checked during preprocessing that there is some source
file for every module and produce a nice error message if not (rather
than having ghc --make fail later). We only looked for source files in
the source directories, ie not the target/output build dir, since the
build dir is where pre-processed files go, not original source files.
Igloo's change should allow builds where there is no original source file
at all, so long as there is some generated file in the build dir. In
particular this allows custom Setup.hs files to generate modules out of
thin air and for things to mostly work, even though the rest of the build
system is unaware about how the file got built.
]
[When looking for already pre-processed source files, check the build directory
Ian Lynagh <igloo at earth.li>**20100820001755
Fixes hscolour'ing Config.hs in GHC
]
[Type signature for local ioerror
simonpj at microsoft.com**20100816101000
Ignore-this: d6ec567b79cfbdc3aa86f541b5e9c737
]
[Add a space to the VERSION_pkg #defines
Ian Lynagh <igloo at earth.li>**20100805125306
We were generating things like
#define VERSION_ghc_prim"0.2.0.0"
rather than
#define VERSION_ghc_prim "0.2.0.0"
]
[Add two local type signatures
simonpj at microsoft/com**20100728163539
Ignore-this: 5c89b52c6c906429f9dc6c4c712c5206
I'm adding these type signatures to satisfy the "do not generalise
local let/where" rule that GHC is taking on.
The signatures are clearly correct, but I was surprised at the
polymorphism needed. For example
parseOptVersion :: ReadP r Version
parseOptVersion = parseQuoted ver <++ ver
where ver :: ReadP r Version
ver = parse <++ return noVersion
noVersion = Version{ versionBranch=[], versionTags=[] }
Note that 'ver' really is called at two different types! That
in turn is because of the type of (<++)
(<++) :: ReadP a a -> ReadP r a -> ReadP r a
(+++) :: ReadP r a -> ReadP r a -> ReadP r a
Note the "a a" in the first arg, which is very unusual.
For example, compare the type of (+++).
Changing it to match the type of (+++) makes ReadP fail to compile,
though, so I assume it's right as it stands. But surely this deserves
a comment?!
]
[Fix warning
Ian Lynagh <igloo at earth.li>**20100620180455
Ignore-this: b5913b856eacc34001eaf1198aee74df
]
[Removed extra "test-suite" field in test-suite stanza
Thomas Tuegel <ttuegel at gmail.com>**20100616150948
Ignore-this: 4351031606d853474aadb09e393a52b9
Ticket #215 (Overhaul support for packages' tests). Previously, the test-suite
stanza was allowed to contain a test-suite field, such as the executable stanza
parser allows. This was removed because it is only required by legacy support
for executables and no legacy support is required for test suites.
]
[Added QA check requiring cabal-version: >= 1.9.2 for packages with test-suite stanzas
Thomas Tuegel <ttuegel at gmail.com>**20100616150359
Ignore-this: 4d713596feb7aaee53d182f5ed6cb0ec
Ticket #215 (Overhaul support for packages' tests).
]
[Setting exit code indicating failure when one or more test suites fails
Thomas Tuegel <ttuegel at gmail.com>**20100615123631
Ignore-this: 244d3725fd2627250887df19bd84452a
Ticket #215 (Overhaul support for packages' tests).
]
[Added test suite output logging options
Thomas Tuegel <ttuegel at gmail.com>**20100615123340
Ignore-this: 28c850b6a2bf69db6aa551e0ee8999b3
Ticket #215 (Overhaul support for packages' tests).
]
[--help shows first long option and added --hyperlink-sources
Vo Minh Thu <noteed at gmail.com>**20100608145444
Ignore-this: 8eea9aa3fc87c38131844444096c9fab
The --help option output now prints only the first (if any)
long option. Because of this, --{enable,disable}-optimisation
(british spelling) is simply added to the list of options
without testing showOrParseArgs. --hyperlink-sources is now
also accepted for the haddock command.
]
[Do not recognise the "executable" field inside an executable stanza
Duncan Coutts <duncan at haskell.org>**20100616150146
Ignore-this: 15df99db5c5ae688fe5d1c67d24377d1
The executable field is only for the legacy pre-Cabal-1.2 stanza syntax.
]
[Parsing TestSuite through intermediate data structure
Thomas Tuegel <ttuegel at gmail.com>**20100609213406
Ignore-this: 997a00dfc2128d9b7d4c8f8b3c1cd0ea
Ticket #215 (Overhaul support for packages' tests). By parsing the test suite
stanza through an intermediate data structure, we can isolate errors due to
missing required fields in the parsing stage and avoid having error handlers
througout the code.
]
[Added QA checks for executable test suites
Thomas Tuegel <ttuegel at gmail.com>**20100609180636
Ignore-this: 52ccd6572f89310180372d1d3eb4393b
Ticket #215 (Overhaul support for packages' tests).
]
[Updated test suite for new test suite stanza format
Thomas Tuegel <ttuegel at gmail.com>**20100608161618
Ignore-this: 7d1ec575ac5ba02eb5322becd371e4a9
Ticket #215 (Overhaul support for packages' tests).
]
[Producing more useful output when running test suites
Thomas Tuegel <ttuegel at gmail.com>**20100608154847
Ignore-this: 645ea35c621dc3cd835e055228844c85
Ticket #215 (Overhaul support for packages' tests). The previous output format
made it difficult to distinguish successful test suites from failed test
suites.
]
[Using safe 'runProcess' interface to run executable test suites
Thomas Tuegel <ttuegel at gmail.com>**20100608152001
Ignore-this: 38c0697bec7dc428a0a9d63bc0fce6da
Ticket #215 (Overhaul support for packages' tests). The use of the old
interface also makes it possible to log stdout and stderr without separating
the two.
]
[New test-suite stanza format with 'main-is' and 'test-module' fields
Thomas Tuegel <ttuegel at gmail.com>**20100608150739
Ignore-this: 1baf9ec7c2bcfb637c4064b9b3c6112a
Ticket #215 (Overhaul support for packages' tests). Using a new format for the
test-suite stanza in the .cabal file, similar to the source-repository stanza.
]
[Consistently using 'test suite' instead of 'testsuite'
Thomas Tuegel <ttuegel at gmail.com>**20100607205935
Ignore-this: 242cd1e23afc0ca2f3227421a91dd62e
Ticket #215 (Overhaul support for packages' tests).
]
[Fix haddock syntax
Ian Lynagh <igloo at earth.li>**20100615112848
Ignore-this: d3c3b114f6df4eeb4dbf87b2f8f8f77c
]
[Fix haddock syntax
Ian Lynagh <igloo at earth.li>**20100615111829
Ignore-this: 31e81b5887bc683fe58aa6eefcba40e5
]
[Use -fno-warn-deprecations in Distribution.Simple
Ian Lynagh <igloo at earth.li>**20100615105418
Ignore-this: 78ce8578ee05e7b2fe9b23ba7449282b
Works around:
libraries/Cabal/Distribution/Simple.hs:78:0:
Warning: In the use of `runTests'
(imported from Distribution.Simple.UserHooks):
Deprecated: "Please use the new testing interface instead!"
]
[Merge the dylib-install-name patch
Duncan Coutts <duncan at haskell.org>**20100612162152
Ignore-this: 3fe05b2892d4bed2bdf6f23ab110e669
]
[Make it so cabal passes the dylib-install-name when building dynamic libraries on Mac OS/X.
Stephen Blackheath <oversensitive.pastors.stephen at blacksapphire.com>**20091001053101
Ignore-this: 76b7a6a834389eba436e71829510e0ce
]
[Restored 'runTests' UserHook
Thomas Tuegel <ttuegel at gmail.com>**20100604175635
Ignore-this: 128369134d640522c9e5fc3008c121c2
Ticket #215 (Overhaul support for packages' tests). Deprecated 'runTests'
UserHook to maintain compatibility with old packages, but encourage authors to
update to the new interface.
]
[Logging test output to file
Thomas Tuegel <ttuegel at gmail.com>**20100603210204
Ignore-this: 6f2254b3e0c330039992f01957e62a8f
Ticket #215 (Overhaul support for packages' tests). Log test output to a
uniquely named file in the system temporary directory. This avoids flooding the
terminal with long error messages.
]
[Defined constant for matching test type 'executable == 1'
Thomas Tuegel <ttuegel at gmail.com>**20100603150106
Ignore-this: 9eacb8f34bf7f86b704bf1aa3ac94660
Ticket #215 (Overhaul support for packages' tests).
]
[Corrected function 'withTest' and updated documentation
Thomas Tuegel <ttuegel at gmail.com>**20100602203311
Ignore-this: adb13ce3e294405e1a9706202465feb1
Ticket #215 (Overhaul support for packages' tests).
]
[Test command runs all executable testsuites
Thomas Tuegel <ttuegel at gmail.com>**20100601145827
Ignore-this: 7e5ccf7c9061e52b82d1647bd3b5e1c0
Ticket #215 (Overhaul support for packages' tests). The 'test' command runs all
executable tests listed in the package description when the package is
configured with tests enabled. The exit codes and standard output/error are
collected and reported.
]
[Using more specific error messages for unsupported test types
Thomas Tuegel <ttuegel at gmail.com>**20100601145430
Ignore-this: c6fa9827e890fa37cb06c8005c14edb
Ticket #215 (Overhaul support for packages' tests). Replaced generic error
message about unsupported test types with specific error messages for each
stage of the build/test process. This required changing the type of 'withTest'
to better match 'withExe' and 'withLib'.
]
[Check testsuite during package sanity checks
Thomas Tuegel <ttuegel at gmail.com>**20100527204242
Ignore-this: 1a80a8da0d8d55778605c87abbaa7708
Ticket #215 (Overhaul support for packages' tests). Check for
duplicate testsuite name or modules during 'cabal check'.
]
[Check for duplicate testsuite names
Thomas Tuegel <ttuegel at gmail.com>**20100527195438
Ignore-this: a9425d813d5e396a834c2cb33162090c
Ticket #215 (Overhaul support for packages' tests). During
package configuration, check for testsuites with the same name
as other testsuites or executables.
]
[Conditional inclusion of testsuites
Thomas Tuegel <ttuegel at gmail.com>**20100526195728
Ignore-this: a342fbd013e4c1b61f1a8c0a707c7a2f
Ticket #215 (Overhaul support for packages' tests). The
"--enable-tests" and "--disable-tests" command-line flags are
introduced, with "--disable-tests" being the default. If tests
are disabled, the testsuites are stripped from the
GenericPackageDescription during the configure stage, before
dependencies are resolved.
]
[Testsuite for Test stanza parsing
Thomas Tuegel <ttuegel at gmail.com>**20100526195509
Ignore-this: 72405e3311a7b0827decd07251373176
Ticket #215 (Overhaul support for packages' tests). Parse and
finalize a simple, dummy .cabal file containing a Test stanza.
Compare with the PackageDescription it which should result
from parsing.
]
[Configure and build executable testsuites
Thomas Tuegel <ttuegel at gmail.com>**20100526194355
Ignore-this: ae27f422a5565778c43bd25c553b2952
Ticket #215 (Overhaul support for packages' test). During the
build stage, executable testsuites are handled analogously to
ordinary executables. This means their sources are
preprocessed and compiled. To actually compile, the build
stage actions are performed on a dummy Executable.
]
[Parse Test stanzas
Thomas Tuegel <ttuegel at gmail.com>**20100526194027
Ignore-this: aba259fefc52dd6cf95e58624a527b8a
Ticket #215 (Overhaul support for packages' tests). Test
stanzas are parsed into the GenericPackageDescription and
PackageDescription data structures.
]
[Fix QA check on version range syntax to detect use of ()'s
Duncan Coutts <duncan at haskell.org>**20100602173703
Ignore-this: ae60f158b63b458a42086f262b2bc277
The problem was that we do the QA check on using the new version range
syntax after parsing. The new syntax allows ()'s but previously the
code threw them away in the parser stage. We now retain them in the
AST and deal with them appropriately. This now allows the QA check to
be accurate and detect things like "build-depends: base (>= 4.2)".
]
[Fix the wrapping of ghc options for the LHC backend.
Lemmih <lemmih at gmail.com>**20100602154611
Ignore-this: 92e42803c0db45403a5ef618fd5d31ef
]
[change LHC builder to use new command line interface
austin seipp <as at 0xff.ath.cx>**20100531173525
Ignore-this: ffece261e28f302cfbe0d7de51ed03a
]
[Add QA checks for tested-with field
Duncan Coutts <duncan at haskell.org>**20100601174045
Ignore-this: 96fcaa07e52edd94dabfbbe546dfc9f
Not allowed invalid version ranges. Also check for use of new syntax.
]
[Bump version to 1.9.2
Duncan Coutts <duncan at haskell.org>**20100531121711
Ignore-this: 462e00ecf4497be46209d310de16f192
]
[Make test suite dependencies less strict
Johan Tibell <johan.tibell at gmail.com>**20100527203753
Ignore-this: 509c4e9a5dc2fc33fc39a4c6a748fc89
]
[Fix warnings in LHC module
Duncan Coutts <duncan at haskell.org>**20100528004559
Ignore-this: 4def35179c2509f9cd0d393ada9ffb23
]
[Add a README explaining how to build and run the test suite
Johan Tibell <johan.tibell at gmail.com>**20100527212701
Ignore-this: 13b5cf62708214d5fc3b40fb3662084d
Fixes ticket #693.
]
[Make ar create index for in-place libraries when building
Johan Tibell <johan.tibell at gmail.com>**20100527211104
Ignore-this: 93e79618b6f015cb069abaadcab96ff
Should fix ticket #318
]
[Fix building packages with ghc-6.8 or older
Duncan Coutts <duncan at haskell.org>**20100521141048
Ignore-this: 65952598af9ac520c3d2764a8a2e63c
]
[There's no rts package for LHC.
Lemmih <lemmih at gmail.com>**20100519192710
Ignore-this: 65094c079459b6283fc5b00fa1f1aac2
]
[Fix register --global/--user
Duncan Coutts <duncan at haskell.org>**20100515213204
Ignore-this: 86a5e9dc03e47a8dc11595d6eadb5937
It is a rather silly feature and is not guaranteed to work. Having
configured and built using one set of dbs, there's no guarantee you
can register into another set. We should probably just remove it.
]
[Add some diagnostic info to some internal errors
Ian Lynagh <igloo at earth.li>**20100515193810
When giving an "internal error: unexpected package db stack" error, say
what the stack is.
]
[Fix warnings
Ian Lynagh <igloo at earth.li>**20100509003309]
[Allow filepath-1.2.*
Simon Marlow <marlowsd at gmail.com>**20100505101313
Ignore-this: c5bf7a356c3347b2d907e8ad7e2d7f3a
]
[Add the hs output dir to the C include dirs when compiling C code
Duncan Coutts <duncan at haskell.org>**20100422001101
Ignore-this: 11ff682fcceb3e0bede08f316c46c654
This allows C files in a package to include the _stub.h files
that ghc generates. This is needed for the C code to be able
to call the C functions exported using the FFI.
]
[Add the autogen dir to the C include dirs when checking foreign libs
Duncan Coutts <duncan at haskell.org>**20100422000908
Ignore-this: f014681ebb019fa310cbf4a87d18637e
This allows packages to generate .h files and stick them in the
autogen dir, and still have local .h files include those generated
header files. Used in gtk2hs.
]
[Do not pass the CopyFlags to the per-compiler installLib/Exe functions
Duncan Coutts <duncan at haskell.org>**20100420225830
Ignore-this: 62277568628a3eed636c06f4df57353e
]
[Bump version number
Duncan Coutts <duncan at haskell.org>**20100420224011
Ignore-this: 135d62045b5e6aedeeb865797b15cf53
]
[Better error message when installing for unsupported compilers
Duncan Coutts <duncan at haskell.org>**20100420223935
Ignore-this: 2f1369d9028e1f7639e73735aa25c62
]
[Pass the exe/lib to the per-compiler installLib/Exe functions
Duncan Coutts <duncan at haskell.org>**20100420223652
Ignore-this: 5ddfb4517bb0f89529256f8ae75d5854
So the generic code iterates over the libs/exes rather than
the per-compiler code doing that. It'll help when we have
more complex inter-component dependencies.
This is also the proper fix for ticket #525.
]
[cleaning up and removing warnings in UHC support
Andres Loeh <andres at cs.uu.nl>**20100330171045
Ignore-this: 1adb659d170f9cb7478e0110dcc198f7
]
[significant progress on UHC support
Andres Loeh <andres at cs.uu.nl>**20100330170211
Ignore-this: 193f161988c2f03032f3b73c290a8043
]
[started on UHC support
Andres Loeh <andres at cs.uu.nl>**20091215125422
Ignore-this: d3dc77aaf26be3fc1696eaf4a9d8e0f1
]
[Use Setup.hs when calling setup
Duncan Coutts <duncan at haskell.org>**20100321111750
Ignore-this: 117881f91837aa2755549edff49063fe
In case we've got a compiled Setup binary
]
[Add the new DoRec extension to Language.Haskell.Extension
Ian Lynagh <igloo at earth.li>**20100416205627
Part of GHC trac #3968.
]
[Remove BSD4 from the list of known/suggested licenses
Duncan Coutts <duncan at haskell.org>**20100416040538
Ignore-this: 8903f1d478b7c034143f700ef0873c75
We do not ever want to suggest the use of the BSD4 license.
This will fix a QA check message and the 'cabal init' command.
This change should be safe to push into the stable 1.8 branch.
]
[Add a VERSION_<package> define for each package in cabal_macros.h
Mathieu Boespflug <mboes at tweag.net>**20100329104632
Ignore-this: a3f8a43f9f15b044f7e9c5a31359717
The MIN_VERSION_<package> macros are useful to test whether we have at
least a given version of a dependency, but we can't extract the actual
version of dependency using this macro. This patch makes the version
of each dependency available to the code of the cabal package, which
can be useful when constructing global names in Template Haskell, for
instance.
]
[Also check compiling C headers at configure-time
Duncan Coutts <duncan at haskell.org>**20100415063657
Ignore-this: ce1d74257f28099530eaa2cf8da4d42
So we now both check if the headers can be pre-processed and separately
if they can be compiled. If it fails the pre-processing check then it
is usually (but not always) a missing header. If it fails to compile
then it is definately borked, not missing. Error messages reflect this.
]
[better error messages for erroneous local C headers
mcallister.keegan at gmail.com**20100409022543
Ignore-this: d3840ee01cf2076fe89d14e7ccc2ccac
Addresses the issue in tickets #532, #648.
When the all-together test of C libraries and headers fails, use only the
preprocessor to probe the headers individually. If they all check out,
give a more equivocal error message and suggest -v3.
]
[document all the language extensions
mcallister.keegan at gmail.com**20100409060559
Ignore-this: 21de95e9f614235dd2c447297c33fc0f
Resolves ticket #344.
]
[Various minor improvements to c2hs support
Duncan Coutts <duncan at haskell.org>**20100413083252
Ignore-this: 37c3a2896d2d6229408f8db300817a92
- ticket #327: require c2hs version 0.15 as minimum
- ticket #536: pass c2hs include dirs of dependent packages
- ticket #537: pass c2hs location of gcc -E
]
[Get ghc, hsc2hs and cpphs programs more robustly in preprocessing
Duncan Coutts <duncan at haskell.org>**20100412023642
Ignore-this: 14e2d1dd686dbb3256178729c4af5331
Avoid pattern match failure in obscure circumstances
Should fix ticket #383
]
[Move .hs-boot file pre-processor hack to a more sensible place
Duncan Coutts <duncan at haskell.org>**20100412015127
Ignore-this: 3608adbc406e99018862efa996c1ad96
]
[Also set -stubdir for haddock-stomping workaround
Duncan Coutts <duncan at haskell.org>**20100411194550
Ignore-this: f4ca351bb11ff3ffcc1f5e0332dd9db4
Probably needed in the case of foreign exports and TH.
]
[Adjust cpp options passed to cpp, c2hs and hsc2hs
Duncan Coutts <duncan at haskell.org>**20100411194213
Ignore-this: 7d65b0ddcaac8bdda9954aee5a81fe1d
* Not changed for cpp, just code refactored.
* For c2hs add cpp-options and the sysdefines (-D${os}_BUILD_OS etc)
* For hsc2hs add the sysdefines
]
[de-haskell98 wash2hs
gwern0 at gmail.com**20100309015416
Ignore-this: 3b47d4982f1ebe40d9d78d71a9ab2d4d
]
[de-haskell98 twoMains
gwern0 at gmail.com**20100309015328
Ignore-this: 48f03ca94606814463112fdcc8b9e98f
]
[Add markdown version of user guide
Duncan Coutts <duncan at haskell.org>**20100411161012
Ignore-this: 3bee08cc1631204ade2c7d8086f52dfc
Plan is to switch over from docbook xml.
]
[Workaround the fact that haddock stomps on our precious .hi and .o files
Duncan Coutts <duncan at haskell.org>**20100408225156
Ignore-this: 301321a9ad31195da3cf78d8a0a72edd
When using "haddock --optghc-XTemplateHaskell" haddock will write out .o
and .hi files. This is bad because it replaces the ones we previously
built. This results in broken packages later on. Of course haddock
should not do this, it should write temp files elsewhere. The workaround
is to tell haddock to write the files to a temp dir.
]
[Remove an out-of-date comment
Ian Lynagh <igloo at earth.li>**20100326131752]
[Factorise duplicate finding in package description checks
Duncan Coutts <duncan at haskell.org>**20100320215132
Ignore-this: 9a0e068b05f611f77bee85ca5b943919
]
[Fix local inplace registration for ghc-6.12
Duncan Coutts <duncan at haskell.org>**20100320172108
Ignore-this: 197ec567d3bf300c6ed6430f03a5409d
This is for the case of intra-package deps where the lib has to be
registered into a local package db. We use "-inplace" suffix for
the local installed package ids (rather than using an ABI hash).
]
[On windows, pick up ar.exe from the ghc install before looking on the $PATH
Duncan Coutts <duncan at haskell.org>**20100320143643
Ignore-this: a3931cad3a8fd821a9b1ddd893db8c32
Some ar.exe versions floating around seem to have weird non-posix behaviour.
]
[Document the "manual" attribute of flags
Ian Lynagh <igloo at earth.li>**20100317203744]
[Tweak doc Makefile
Ian Lynagh <igloo at earth.li>**20100317202418]
[Fix mismatch between arch and os variables in D.S.InstallDirs interpolation
Andrea Vezzosi <sanzhiyan at gmail.com>**20100119031642
Ignore-this: 3a66bd9771f294fc1f52be8824ca051b
]
[Get the correct value of $topdir on Windows with GHC 6.12.1
Ian Lynagh <igloo at earth.li>**20091230204613]
[Revert the change to filter out deps of non-buildable components
Duncan Coutts <duncan at haskell.org>**20091229222533
Ignore-this: 7f6f18997e28b843422d2c55a8bce302
It does not work as intended and gives inconsistent results between
cabal install and cabal configure. The problem with the approach was
that we were filtering out the dependencies of non-buildable components
at the end. But that does not help much since if one of the deps of
the non-buildable component were not available then we would have
failed earlier with a constraint failure. A proper solution would have
to tackle it from the beginning, not just as a filter at the end.
The meaning of build-depends and buildable: False needs more thought.
]
[Silence warning about unused paramater
Duncan Coutts <duncan at haskell.org>**20091229211649]
[Remove deprecated --copy-prefix= feature
Duncan Coutts <duncan at haskell.org>**20091228203513
It's been deprecated since Cabal 1.1.4 (over 3 years).
The replacement since then has been --destdir=
]
[Fix generating Paths_pkgname module with hugs
Duncan Coutts <duncan at haskell.org>**20091228202618
In the case that the progsdir is not relative to the $prefix
]
[Change preprocessModule to preprocessFile
Duncan Coutts <duncan at haskell.org>**20091228190125
So we can stop pretending that "main-is: foo.hs" is a module name.
Also allows us to deprecate ModuleName.simple which bypasses the
ModuleName type invariant.
]
[Move registering to per-compiler modules, fix inplace register for hugs
Duncan Coutts <duncan at haskell.org>**20091228025220]
[Add a number of TODOs
Duncan Coutts <duncan at haskell.org>**20091228024948]
[Fix priority of the two global hugs package dbs
Duncan Coutts <duncan at haskell.org>**20091228024849]
[Fix name clashes in hugs module
Duncan Coutts <duncan at haskell.org>**20091228024814]
[Add parenthesis to macros in cabal_macros.h
Antoine Latter <aslatter at gmail.com>**20091229023358
Ignore-this: 5c5e7244d10bcd82da2cbf4432b30a6d
Now this like "#if !MIN_VERSION_base(4,2,0)" will work
]
[Make the datadir follow the $prefix on Windows
Duncan Coutts <duncan at haskell.org>**20091228165056
Ignore-this: ce33a328dbf2d1e419cf6e5047bff091
This is slightly experimental, we'll see how it goes. See ticket #466.
]
[Simplify getInstalledPackages and callers
Duncan Coutts <duncan at haskell.org>**20091223234857
Ignore-this: 7927e992e0b040347dc24530219eb8eb
No longer returns Maybe, we can find installed packages for all
the compilers we support (and this feature is a requirement for
support for new compilers).
This is an API change so cannot merge to Cabal-1.8.x branch.
]
[Implement support for hugs and nhc98 package databases
Duncan Coutts <duncan at haskell.org>**20091223233557
Ignore-this: aa12e2a278e89544ead82d7c8d3b325a
That is, work out which packages are installed for hugs and nhc98.
In both cases there is special support for the core packages.
In future both should use the standard method when they supply
proper installed package info files for the bundled libraries.
]
[Find the version of hugs
Duncan Coutts <duncan at haskell.org>**20091222175415
This is really hard and rather nasty.
]
[Convert XXX comments to TODO or FIXME as appropriate
Duncan Coutts <duncan at haskell.org>**20091222160247]
[Fixes for compiling Cabal with hugs
Duncan Coutts <duncan at haskell.org>**20091223103916
Ignore-this: f49c719d33e3909996f391e80911c51c
]
[Make lack of language extensions an error not a warning
Duncan Coutts <duncan at haskell.org>**20091216204505
Also improve the error message somewhat
]
[Specify DOCTYPE when generating userguide html
Duncan Coutts <duncan at haskell.org>**20091216035321
Ignore-this: 9d3b09e3c593a8d5f39b691ef2ceb377
Useless docbook tools.
]
[Registering packages needs all the package dbs listed
Duncan Coutts <duncan at haskell.org>**20091211133233
Ignore-this: 249cc7ae1452bfa8e970f0ba24d4ff5f
Important for the case of registering inplace when we're using a
specific package db, e.g. when doing isolated builds.
]
[Switch a few distribution checks to build warnings
Duncan Coutts <duncan at haskell.org>**20091202143549
Ignore-this: bbadf449113d009b51837bc1dd3488af
In particular the one about -prof since this leads to borked packages.
]
[Make it so cabal passes the dylib-install-name when building dynamic libraries on Mac OS/X.
Ian Lynagh <igloo at earth.li>**20091204144142
This is a rerecord of
Stephen Blackheath <oversensitive.pastors.stephen at blacksapphire.com>**20091001053101
to avoid conflicts.
]
[Take line endings into account in IOEncodingUTF8 mode
Duncan Coutts <duncan at haskell.org>**20091202002553
Ignore-this: 59a60d9adaf90e94b69336bbb5619d2f
When collecting the output from programs.
]
[Install shared libraries as executable files
Ian Lynagh <igloo at earth.li>**20091201145349
Fixes GHC trac #3682. Patch from juhpetersen.
]
[Fix warnings
Ian Lynagh <igloo at earth.li>**20091129164643]
[Tweak layout to work with alternative layout rule
Ian Lynagh <igloo at earth.li>**20091129163614]
[Bump version in HEAD branch to 1.9.0
Duncan Coutts <duncan at haskell.org>**20091129161734
Ignore-this: bbbc9fbb9abdee3f51bdcf972554d93d
The 1.8.x branch remains at 1.8.0.1
]
[Update changelog for 1.8.x release
Duncan Coutts <duncan at haskell.org>**20091129161613
Ignore-this: 43b797ce87ba439869c080e0a8e20eab
]
[Package registration files are always UTF8
Duncan Coutts <duncan at haskell.org>**20091129153341
Ignore-this: 7863e05c5514d1fee5165fda3815b116
As is the output from ghc-pkg dump.
]
[Add support for text encoding when invoking a program
Duncan Coutts <duncan at haskell.org>**20091129153110
Ignore-this: c839875b970d31200d98ead9c8730215
Can be either locale text or specifically UTF8.
Also tidy up the rawSystemStd* variants and pass
a text/binary mode flag for the input and output.
]
[Change where we add a trailing newline when showing InstalledPackageInfo
Duncan Coutts <duncan at haskell.org>**20091128171755
Ignore-this: 5e91f3e0988cf60572eefc374735727f
Do it in the pretty-printing rather than just before writing the file.
]
[Update docs on a couple util functions
Duncan Coutts <duncan at haskell.org>**20091128171114
Ignore-this: f8df6d6f06dcc2f173180fa063aba091
]
[Update docs for class Package
Duncan Coutts <duncan at haskell.org>**20091128170909
Ignore-this: 2b36ab0d8c422465d489ca2dc7010204
]
[Be less verbose when checking foreign deps
Duncan Coutts <duncan at haskell.org>**20091128170810
Ignore-this: 576c714db6ac0dad7220f9824552c30c
]
[Add backwards compat version of findProgramOnPath
Duncan Coutts <duncan at haskell.org>**20091128152444
Ignore-this: be475bbcbb539d2f2f834a2f0ca235f9
Break a couple fewer package's Setup.hs files
]
[Experimentally, change order of user-supplied program args
Duncan Coutts <duncan at haskell.org>**20091120135619
Ignore-this: f9b8b4ecc68ee8b2294768c95a2ef774
Put them last rather than first.
]
[Fix building with base 3
Duncan Coutts <duncan at haskell.org>**20091117141958
Ignore-this: 5ee71207064f5298bb40bafbf537d684
]
[Canonicalise the package deps returned by finalizePackageDescription
Duncan Coutts <duncan at haskell.org>**20091109193556
Ignore-this: eb489503c4a9e27dd8d427cf707461f9
The guarantee is supposed to be that each package name appears at most
once with all the constraints for that dependency. The cabal-install
planner relies on this property.
]
[Improve the error message for missing sh.exe on Windows
Duncan Coutts <duncan at haskell.org>**20091109182624
Ignore-this: 5801ce5598387ad238e61a075285ddf0
When ettempting to run ./configure scripts. Fixes ticket #403.
]
[Deprecated PatternSignatures in favor of ScopedTypeVariables
Niklas Broberg <niklas.broberg at gmail.com>**20090603121321
Ignore-this: cc1cb044e3db25cb53e1830da34a317b
]
[JHC support requires jhc >= 0.7.2
Duncan Coutts <duncan at haskell.org>**20091109113232
Ignore-this: 97e456357263977187c2768c957b8be7
]
[Remove some commented out code
Duncan Coutts <duncan at haskell.org>**20091106133047
Ignore-this: f4a122d90207de861acc5af603cf55ea
]
[JHC.getInstalledPackages: remove check for --user flag, since JHC-0.7.2 supports local packages
haskell at henning-thielemann.de**20091029103515]
[JHC.buildLib: make this working for JHC-0.7.2
haskell at henning-thielemann.de**20091028223004]
[JHC.getInstalledPackages: adapt to package lists emitted by jhc-0.7.2
haskell at henning-thielemann.de**20091028211802]
[Bump minor version
Duncan Coutts <duncan at haskell.org>**20091104180106
Ignore-this: 6ccbdc1bfa80f66cf74584ff66018582
A few changes since version 1.8.0 that was released with ghc-6.12rc1
]
[Tweak the assertion on overall package deps
Duncan Coutts <duncan at haskell.org>**20091104175912
Ignore-this: abe2735469828829219938ee4275ebda
]
[Exclude non-buildable components when constructing the overall package deps
Duncan Coutts <duncan at haskell.org>**20091104130435
Ignore-this: 60a11926991ce894da07f3e4c54ed257
]
[Pass profiling flag to ghc when compiling C files.
Bertram Felgenhauer <int-e at gmx.de>**20091103165558
Ignore-this: 422eaeca8c7246170931adecc8556f15
The main effect of this change is that the PROFILING macro gets defined
when compiling C files and profiling is enabled. This is useful for code
that inspects closures.
Caveat:
The change relies on the fact that Cabal does not track dependencies
of C files but recompiles them every time. If dependency tracking is
added, we'll need different extensions for profiling and non-profiling
object files.
]
[Build with ghc-6.6
Duncan Coutts <duncan at haskell.org>**20091028161849
Ignore-this: 5042dc4f628b68d9d9e40d33837e9818
]
[Fix haddock markup
Duncan Coutts <duncan at haskell.org>**20091021124111
Ignore-this: 7a301d4ede384f2256b02dbf179c0d9b
]
[Only pass -B... to gcc for GHC < 6.11
Ian Lynagh <igloo at earth.li>**20091012144707
It is no longer needed in 6.12.
]
[Use -Wl,-R, for the gcc rpath flag.
Duncan Coutts <duncan at haskell.org>**20091006211326
Ignore-this: 2323285313bad2ec91e4e27a0ae6177
Apparently it was only gcc on Solaris that groks -R directly,
so we have to use -Wl to pass it through to ld. Both GNU and
Solaris ld grok -R, only GNU ld accepts -rpath.
]
[Don't complain if there is no ghc rts package registered
Duncan Coutts <duncan at haskell.org>**20091006172618
Ignore-this: 8634380cb75891a13988123bbbfd372b
]
[I was wrong, the test was correct before.
Duncan Coutts <duncan at haskell.org>**20091006172046
Ignore-this: e1967271893b0d745d25a9ee09b624cb
rolling back:
Mon Oct 5 17:32:02 BST 2009 Stephen Blackheath <grossly.sensitive.stephen at blacksapphire.com>
* Fix test case InternalLibrary4 on account of a change in Cabal's behaviour.
M ./tests/PackageTests/BuildDeps/InternalLibrary4/Check.hs -5 +4
]
[Unbreak configure for packages that depend on different versions of themselves
Duncan Coutts <duncan at haskell.org>**20091006171845
Ignore-this: bce724e750b48ffa7e669c6573b49a8d
]
[Bump version number to 1.8.0
Ian Lynagh <igloo at earth.li>**20091006160120]
[Loosen the invariant, it was too strict
Simon Marlow <marlowsd at gmail.com>**20091006133756
Ignore-this: 6087cfc11c19d4bac2fddcf007e9bb7c
The packages do not need to be in the same order when sorted by
package name as when sorted by InstalledPackageId.
]
[Fix test case InternalLibrary4 on account of a change in Cabal's behaviour.
Stephen Blackheath <grossly.sensitive.stephen at blacksapphire.com>**20091005163202
Ignore-this: abc7f45e5fe6eb8e28dee5bfe406b16c
]
[Keep asserts for testing pre-releases
Duncan Coutts <duncan at haskell.org>**20091005161425
Ignore-this: ca9406c17afcba272383eb3f66305a
]
[Fix configuring for packages with internal lib deps.
Duncan Coutts <duncan at haskell.org>**20091005161235
Ignore-this: 31d508508230864d43e3df033dd687d1
Was using the wrong set of packages when doing the finalise.
]
[Bump minor version
Duncan Coutts <duncan at haskell.org>**20091005114150
Ignore-this: 85fe7d55bac00035cd92c4ffc3f71c2
]
[Stop converting between installed package id and source package id
Duncan Coutts <duncan at haskell.org>**20091005111806
Ignore-this: ed5b14ec4010ab1b8d5cde0ac5ac83e5
In the LocalBuildInfo, for each component, for the list of component
dependencies, keep both the InstalledPackageId and the PackageId.
That way we don't need to keep converting the InstalledPackageId
to the PackageId, via the package index (which is just horrible).
]
[Reduce the insanity in Configure
Duncan Coutts <duncan at haskell.org>**20091005110957
Ignore-this: 93fa0d351701e6317afb46df94e64777
It was making so many different kinds of package index and converting
back and forth between package id and installed package id that it
made my brain hurt. Thou shalt not convert blithly between package Id
and installed package Id for thou know not what thy doest.
]
[Get and merge ghc's package dbs more sensibly
Duncan Coutts <duncan at haskell.org>**20091005110714
Ignore-this: fc4b3c983dc7aa0ebc362e990c6a8a2b
Use the merge rather than just making a big list.
]
[Rewrite the PackageIndex again
Duncan Coutts <duncan at haskell.org>**20091005110330
Ignore-this: ea36efcd3ee2bb5dae40de998b6b4de6
It's a unified index again, rather than one for looking up by an
InstalledPackageId and one for the source PackageId. The new one
lets you look up by either. It also maintains the order of
preference of different installed packages that share the same
source PackageId. In configure we just pick the first preference.
]
[Don't use -#include flag with ghc-6.12
Duncan Coutts <duncan at haskell.org>**20091004154334
Ignore-this: b520998e5b5213155de0cba1680e1338
]
[Fix sdist for packages using .lhs-boot files
Duncan Coutts <duncan at haskell.org>**20091002145221
Ignore-this: eaed8d1170bc81b9baa3825f8b662adc
]
[Fix deadlocks when calling waitForProcess; GHC trac #3542
Ian Lynagh <igloo at earth.li>**20090928174553
We now wait on MVars indicating that stdout and stderr have been
closed before making the waitForProcess call.
]
[Update dependencies
Ian Lynagh <igloo at earth.li>**20090920152411]
[Simplify the use of simplifyVersionRange
Duncan Coutts <duncan at haskell.org>**20090920153433
Ignore-this: fd41587284e064b185cd1db423ddf493
Use the simplifyDependency wrapper
]
[Fix Integer defaulting
Duncan Coutts <duncan at haskell.org>**20090920153249
Ignore-this: a747789b708b34cf3589a4c5a9fdb9cd
]
[Don't simplify empty/inconsistent version ranges
Duncan Coutts <duncan at haskell.org>**20090920151647
Ignore-this: aeddcb5625dd29963036c07be5a9c2da
They all get squashed to ">1 && <1" which while canonical is not helpful.
]
[Fix pretty printing of version ranges to use parens in the right places
Duncan Coutts <duncan at haskell.org>**20090917042612
Ignore-this: 198737aa806fa92774494f6e33344a84
]
[Fix the depth calculation for the version range expression check
Duncan Coutts <duncan at haskell.org>**20090917032748
Ignore-this: da1f0fefd17c1269f39e93e4623dc274
Previously it was complaining about expressions like
>= 2 && < 3
because internally >= is represented in terms of >, == and ||.
The fix is to use new fold that gives a view with the extra
syntactic sugar so that <= and <= can be counted as one.
]
[Modify foldVersionRange and add foldVersionRange'
Duncan Coutts <duncan at haskell.org>**20090917032713
Ignore-this: cdb7ff28869dd8637cbc7d1a02620c5b
Now foldVersionRange gives a view with no syntactic sugar
while foldVersionRange' gives a view with the syntactic sugar.
]
[Fix the version-range parser to allow arbitrary expressions over constraints.
Malcolm.Wallace at cs.york.ac.uk**20090911111643
Previously, only a single conjunction (&&) or disjunction (||) was
parseable, despite an internal representation that permits arbitrary
combinations. Now, any sequence of (&&) and (||) combining forms is
parsed. (&&) binds more tightly than (||).
]
[Use -package-id rather than -package with GHC 6.11+
Simon Marlow <marlowsd at gmail.com>**20090906112416
Ignore-this: a9cb1e8684411ea3fa04e0d54826f76b
]
[Install dyn way hi files
Duncan Coutts <duncan at haskell.org>**20090908142853
Ignore-this: 9de867381e500fda321a29e137e71414
]
[Use -R flags for hsc2hs wherever we use -L flags on ELF platforms.
Duncan Coutts <duncan at haskell.org>**20090828233704
Ignore-this: 357aa0d1865a1fe6bf37fb6f41e2c93a
This fixes use of hsc2hs in cases where things like libgmp
is not on the system's dynamic linker path. It's ok to use
rpath in the case of hsc2hs because the linked programs are
run immediately and never installed.
]
[Add the ABI hash to the InstalledPackageId for inplace registrations too
Simon Marlow <marlowsd at gmail.com>**20090826155157
Ignore-this: f10a1e90492a356a8ed8ed78fd056176
Previously, we just added a -inplace suffix, but this will cause
problems when developing multiple packages inplace, and then
installing them.
Also, there was a round of refactoring: registerPackage now takes the
InstalledPackageId as an argument, and generateRegistrationInfo is
exposed for constructing it. This means that callers of
registerPackage get to munge the InstalledPackageInfo before it is
registered.
]
[Bump minor version to 1.7.4
Duncan Coutts <duncan at haskell.org>**20090824010433
Ignore-this: 360111493090f2cf86a65dfa2bd41da0
due to recent API changes
]
[Change finalizePackageDescription to take dep test function
Duncan Coutts <duncan at haskell.org>**20090822234256
Ignore-this: 573c4d60e9c40f8814371a6c3a0b8c9
Ths is instead of taking a set of installed packages. This insulates
us from the representation of the installed package set which is good
since we now have several representations. It also opens the door to
generalising the kinds of constraints we can handle.
]
[Add a HACKING file
Duncan Coutts <duncan at haskell.org>**20090822151636
Ignore-this: 222a83edbe3bf27574bfe51df7f109f0
Seems people do not know that the source guide exists.
]
[Add a bunch of TODOs and minor doc changes
Duncan Coutts <duncan at haskell.org>**20090822134721
Most TODOs related to the new InstalledPackageId stuff.
]
[Refactor and simplify the fixup in "hc-pkg dump"
Duncan Coutts <duncan at haskell.org>**20090822134408
We have to set the installedPackageId if it's missing.
There's no need for this to depend on the version of ghc which
is nice since this module is not supposed to be ghc specific.
]
[Rename the InstalledPackageInfo field package to sourcePackageId
Duncan Coutts <duncan at haskell.org>**20090822134111
The old one was always too generic and it now contrasts
better with the new installedPackageId field.
]
[Add a unuque identifier for installed packages (part 9 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806132217
Ignore-this: 942731e2e26cfad6c53e728b911f1912
When registering, choose the InstalledPackageId.
- When registering inplace, use "foo-1.0-inplace"
- If this isn't GHC, just use "foo-1.0-installed"
- When installing a package with GHC, call
Distribution.Simple.GHC.libAbiHash to get the hash, and
use "foo-1.0-<hash>".
]
[Add a unuque identifier for installed packages (part 7 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806131728
Ignore-this: cf0e7da3e1e8e2b39336649c479c0938
Follow changes in Distribution.Simple.LocalBuildInfo (installedPkgs is
now an InstalledPackageIndex).
]
[Add a unuque identifier for installed packages (part 8 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806131700
Ignore-this: 7cc5db4eb24ced8f3e8770fb8c19650f
Distribution.Simple.Configure: follow changes to PackageIndex and
INstalledPackageInfo.
]
[Add a unuque identifier for installed packages (part 6 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806132002
Ignore-this: 80e560a4b659edd2ec9345aa57af862a
Add libAbiHash, which extracts a String representing a hash of
the ABI of a built library. It can fail if the library has not
yet been built.
]
[Add a unuque identifier for installed packages (part 5 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806131748
Ignore-this: 9e242223ca16314148bf92616c19838b
Follow changes to Distribution.Simple.LocalBuildInfo.componentPackageDeps.
]
[Add a unuque identifier for installed packages (part 4 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806131829
Ignore-this: cd1f965c30d3dbd26dd184b3fd126163
Distribution.Simple.LocalBuildInfo:
- the LocalBuildInfo record contains an index of the installed
packages; this has changed from PackageIndex InstalledPackageInfo
to InstalledPackageIndex.
- ComponentLocalBuildInfo stores the "external package dependencies"
of the component, which was
componentPackageDeps :: [PackageId]
and is now
componentInstalledPackageDeps :: [InstalledPackageId]
- we now export
componentPackageDeps :: LocalBuildInfo -> [PackageId]
(since to get the PackageId for an InstalledPackageId, you need
to look it up in the InstalledPackageIndex, which is in the
LocalBuildInfo)
- similarly, previously
externalPackageDeps :: LocalBuildInfo -> [PackageId]
is now
externalPackageDeps :: LocalBuildInfo -> [InstalledPackageId]
]
[Add a unuque identifier for installed packages (part 3 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806131810
Ignore-this: 455a736ea5a3241aa6040f4c684ab0b3
This part adds the InstalledPackageIndex type to
Distribution.Simple.PackageIndex. Now that packages have a unique
identifier within a package database, it makes sense to use this as
the key for looking up installed packages, so InstalledPackageIndex is
a mapping from InstalledPackageId to InstalledPackageInfo.
Distribution.Simple.PackageIndex still supports other kinds of package
mappings: PackageIndex is a mapping from PackageName.
All the functions in the section "Special Queries" now work on
InstalledPackageIndex rather than PackageFixedDeps pkg => PackageIndex
pkg:
topologicalOrder,
reverseTopologicalOrder,
dependencyInconsistencies,
dependencyCycles,
brokenPackages,
dependencyClosure,
reverseDependencyClosure
dependencyGraph
]
[Add a unuque identifier for installed packages (part 2 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806131906
Ignore-this: f3fba4465373bd4b7397384f08ca189e
Note: this patch doesn't build on its own, you also need the rest of
the patch series.
Compatibility with older GHCs. When reading a package database
created by an older version of GHC without installedPackageIds, we
have to fake an InstalledPackageId for the internal
InstalledPackageInfo.
So, when reading in an InstalledPackageInfo from an older GHC, we set
the installedPackageId to be the textual representation of the
PackageIdentifier: i.e. <package>-<version>. Now, previously the
depends field of InstalledPackageInfo was [PackageIdentifier], and is
now [InstalledPackageId], so we will read each PackageIdentifier as an
InstalledPackageId (a String). The dependencies will still point to
the correct package, however, because we have chosen the
installedPackageId to be the textual representation of the
PackageIdentifier.
]
[Add a unuque identifier for installed packages (part 1 of 9)
Simon Marlow <marlowsd at gmail.com>**20090806131928
Ignore-this: b774e5719e666baee504e1f52381cc8b
NOTE: the patch has been split into 9 pieces for easy
reviewing, the individual pieces won't build on their own.
Part 1 does the following:
Distribution.Package:
- define the InstalledPackageId type as a newtype of String
Distribution.InstalledPackageInfo:
- add an installedPackageId field to InstalledPackageInfo
- change the type of the depends field from [PackageIdentifier]
to [InstalledPackageId]
The idea behind this change is to add a way to uniquely identify
installed packages, letting us decouple the identity of an installed
package instance from its package name and version. The benefits of
this are
- We get to detect when a package is broken because its
dependencies have been recompiled, or because it is being
used with a different package than it was compiled against.
- We have the possibility of having multiple instances of a
given <package>-<version> installed at the same time. In the
future this might be used for "ways". It might also be
useful during the process of upgrading/recompiling packages.
]
[Refactoring: fit into 80 columns
Simon Marlow <marlowsd at gmail.com>**20090806115825
Ignore-this: e4e9bdea632814842121fcf7c7d6c3a
]
[Use a simpler method for the check on the base-upper-bound
Duncan Coutts <duncan at haskell.org>**20090812133313
Ignore-this: 9234cc76670a135906c8b7d2e19e6199
The key point is that we do not complain for packages
that do not depend on base at all (like ghc-prim).
]
[Fix the base-upper-bound Cabal check error
Ian Lynagh <igloo at earth.li>**20090811204455]
[Fix "unused-do-bind" warnings properly
Duncan Coutts <duncan at haskell.org>**20090727161125
Though I'm not at all sure I like the _ <- bind idiom.
]
[Undo incorrect fixes for "unused-do-bind" warnings.
Duncan Coutts <duncan at haskell.org>**20090727160907
We capture (and discard) the program output because we do not
want it printed to the console. We do not currently have a
specific variant for redirecting the output to /dev/null so
we simply use the variant that captures the output.
rolling back:
Fri Jul 10 22:04:45 BST 2009 Ian Lynagh <igloo at earth.li>
* Don't ask for the output of running ld, as we ignore it anyway
M ./Distribution/Simple/GHC.hs -2 +2
M ./Distribution/Simple/LHC.hs -2 +2
Fri Jul 10 22:08:02 BST 2009 Ian Lynagh <igloo at earth.li>
* Don't use the Stdout variant of rawSystemProgramConf to call gcc
We ignore the output anyway
M ./Distribution/Simple/Configure.hs -2 +3
]
[Pass GHC >= 6.11 the -fbuilding-cabal-package flag
Ian Lynagh <igloo at earth.li>**20090726181405]
[Follow the change in GHC's split-objs directory naming
Ian Lynagh <igloo at earth.li>**20090723234430]
[Fix a "warn-unused-do-bind" warning
Ian Lynagh <igloo at earth.li>**20090710212059]
[Don't use the Stdout variant of rawSystemProgramConf to call gcc
Ian Lynagh <igloo at earth.li>**20090710210802
We ignore the output anyway
]
[Don't ask for the output of running ld, as we ignore it anyway
Ian Lynagh <igloo at earth.li>**20090710210445]
[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
Ian Lynagh <igloo at earth.li>**20090710210407]
[Fix unused import warnings
Ian Lynagh <igloo at earth.li>**20090707133559]
[Remove unused imports
Ian Lynagh <igloo at earth.li>**20090707115824]
[Bump version to 1.7.3 due to recent API changes
Duncan Coutts <duncan at haskell.org>**20090707095901]
[Simplify and generalise installDirsTemplateEnv
Duncan Coutts <duncan at haskell.org>**20090705205411
Take a set of templates rather than file paths.
]
[Rename and export substituteInstallDirTemplates
Duncan Coutts <duncan at haskell.org>**20090705205257
This does the mutual substituition of the installation
directory templates into each other.
]
[Follow changes in haddock
Ian Lynagh <igloo at earth.li>**20090705193610
The --verbose flag is now called --verbosity
]
[TAG 2009-06-25
Ian Lynagh <igloo at earth.li>**20090625160144]
[Undo a simplification in the type of absoluteInstallDirs
Duncan Coutts <duncan at haskell.org>**20090705154155
Existing Setup scripts use it so we can't change it. Fixes #563.
]
[Help Cabal find gcc/ld on Windows
Simon Marlow <marlowsd at gmail.com>**20090626140250
Ignore-this: bad21fe3047bc6e23165160c88dd53d9
the layout changed in the new GHC build system
]
[clean up createTempDirectory, using System.Posix or System.Directory
Simon Marlow <marlowsd at gmail.com>**20090625105648
Ignore-this: 732aac57116c308198a8aaa2f67ec475
rather than low-level System.Posix.Internals operations which are
about to go away.
]
[follow change in System.Posix.Internals.c_open
Simon Marlow <marlowsd at gmail.com>**20090622133654
Ignore-this: d2c775473d6dfb1dcca40f51834a2d26
]
[update to work with the new GHC IO library internals (fdToHandle)
Simon Marlow <marlowsd at gmail.com>**20090612095346
Ignore-this: 2697bd2b64b3231ab4d9bb13490c124f
]
[Describe the autoconfUserHooks option more accurately in the user guide
Duncan Coutts <duncan at haskell.org>**20090614191400]
[Fix && entity refs in doc xml
Duncan Coutts <duncan at haskell.org>**20090614191230]
[documentation update: add a description of the syntax for 'compiler' fields in .cabal files
Brent Yorgey <byorgey at cis.upenn.edu>**20090610194550]
[use Haskell 98 import syntax
Ross Paterson <ross at soi.city.ac.uk>**20090610174619
Ignore-this: 26774087968e247b41d69350c015bc30
]
[fix typo of exitcode
Ross Paterson <ross at soi.city.ac.uk>**20090610174541
Ignore-this: e21da0e6178e69694011e5286b382d72
]
[Put a "%expect 0" directive in the .y file of a test
Ian Lynagh <igloo at earth.li>**20090608204035]
[Rearrange the PathTemplateEnv stuff and export more pieces
Duncan Coutts <duncan at haskell.org>**20090607224721]
[Rewrite the Register module
Duncan Coutts <duncan at haskell.org>**20090607182821
It was getting increasingly convoluted and incomprehensible.
Now uses the Program.HcPkg and Program.Scripts modules.
]
[Simplify OSX ranlib madness
Duncan Coutts <duncan at haskell.org>**20090607180717]
[Use new Program.Ld and Program.Ar in GHC module
Duncan Coutts <duncan at haskell.org>**20090607180534]
[Use the new HcPkg module in the GHC getInstalledPackages function
Duncan Coutts <duncan at haskell.org>**20090607180442]
[Add specialised modules for handling ar and ld
Duncan Coutts <duncan at haskell.org>**20090607180257]
[Add improved xargs style function
Duncan Coutts <duncan at haskell.org>**20090607180214
More flexible and based on the ProgramInvocation stuff
]
[Pass verbosity to hc-pkg
Duncan Coutts <duncan at haskell.org>**20090607180146]
[Use a better api for registering libs in the internal package db
Duncan Coutts <duncan at haskell.org>**20090607125436]
[Add new Program modules
Duncan Coutts <duncan at haskell.org>**20090607121301]
[New module for handling calling the hc-pkg program
Duncan Coutts <duncan at haskell.org>**20090607120650]
[New module to write program invocations as shell scripts or batch files
Duncan Coutts <duncan at haskell.org>**20090607120520
For tasks like registering where we call hc-pkg, this allows us to
produce a single program invocation and then either run it directly
or write it out as a script.
]
[Re-export the program invocation stuff from the Program module
Duncan Coutts <duncan at haskell.org>**20090607120404]
[Fix rawSystemStdin util function
Duncan Coutts <duncan at haskell.org>**20090607120324
Close the input after pushing it. Return any error message.
]
[Split the Program module up a bit
Duncan Coutts <duncan at haskell.org>**20090607101246
Add an explicit intermediate ProgramInvocation data type.
]
[Do not pass Maybe LocalBuildInfo to clean hook
Duncan Coutts <duncan at haskell.org>**20090604203830
It is a bad idea for clean to do anything different depending
on whether the package was configured already or not. The
actual cleaning code did not use the LocalBuildInfo so this
only changes in the UserHooks interface. No Setup.hs scripts
actually make of this parameter for the clean hook.
Part of ticket #133.
]
[Simplify checkPackageProblems function
Duncan Coutts <duncan at haskell.org>**20090604203709
Since we now always have a GenericPackageDescription
]
[Change UserHooks.confHook to use simply GenericPackageDescription
Duncan Coutts <duncan at haskell.org>**20090604203400
Rather than Either GenericPackageDescription PackageDescription
In principle this is an interface change that could break Setup.hs
scripts but in practise the few scripts that use confHook just pass
the arguments through and so are not sensitve to the type change.
]
[Change UserHooks.readDesc to use GenericPackageDescription
Duncan Coutts <duncan at haskell.org>**20090604202837
Also changes Simple.defaultMainNoRead to use GenericPackageDescription.
This is an API change that in principle could break Setup.hs scripts
but in practise there are no Setup.hs scripts that use either.
]
[Pass a verbosity flag to ghc-pkg
Ian Lynagh <igloo at earth.li>**20090605143244]
[When build calls register, pass the verbosity level too
Ian Lynagh <igloo at earth.li>**20090605142718]
[Fix unlit
Ian Lynagh <igloo at earth.li>**20090605130801
The arguments to isPrefixOf were the wrong way round. We want to see if
the line starts "\\begin{code}", not if the line is a prefix of that string.
]
[Tweak a comment so that it doesn't confuse haddock
Ian Lynagh <igloo at earth.li>**20090605130728]
[Tweak new build system
Ian Lynagh <igloo at earth.li>**20090404204426]
[GHC new build system fixes
Ian Lynagh <igloo at earth.li>**20090329153151]
[Add ghc.mk for the new GHC build system
Ian Lynagh <igloo at earth.li>**20090324211819]
[Bump version due to recent changes
Duncan Coutts <duncan at haskell.org>**20090603101833]
[Ticket #89 final: Regression tests for new dependency behaviour.
rubbernecking.trumpet.stephen at blacksapphire.com**20090601215651
Ignore-this: 52e04d50f1d045a14706096413c19a85
]
[Make message "refers to a library which is defined within the same.." more grammatical
rubbernecking.trumpet.stephen at blacksapphire.com**20090601214918
Ignore-this: 3887c33ff39105f3483ca97a7f05f3eb
]
[Remove a couple unused imports.
Duncan Coutts <duncan at haskell.org>**20090601192932]
[Ban upwardly open version ranges in dependencies on base
Duncan Coutts <duncan at haskell.org>**20090601191629
Fixes ticket #435. This is an approximation. It will ban most
but not all cases where a package specifies no upper bound.
There should be no false positives however, that is cases that
really are always bounded above that the check flags up.
Doing a fully precise test needs a little more work.
]
[Split requireProgram into two different functions
Duncan Coutts <duncan at haskell.org>**20090601174846
Now requireProgram doesn't take a version range and does not check
the program version (indeed it doesn't need to have one). The new
function requireProgramVersion takes a required program version
range and returns the program version. Also update callers.
Also fixes the check that GHC has a version number.
]
[Ignore a byte order mark (BOM) when reading UTF8 text files
Duncan Coutts <duncan at haskell.org>**20090531225008
Yes of course UTF8 text files should not use the BOM but
notepad.exe does anyway. Fixes ticket #533.
]
[executables can now depend on a library in the same package.
Duncan Coutts <duncan at haskell.org>**20090531220720
Fixes ticket #89. The library gets registered into an inplace
package db file which is used when building the executables.
Based partly on an original patch by Stephen Blackheath.
]
[Always build ar files with indexes
Duncan Coutts <duncan at haskell.org>**20090531193412
Since we have to be able to use these inplace we always need
the index it's not enough to just make the index on installing.
This particularly affects OSX.
]
[Make rendering the ghc package db stack more lenient
Duncan Coutts <duncan at haskell.org>**20090531192545
Allow the user package db to appear after a specific one.
No reason not to and makes some things in cabal-install more convenient.
]
[Simplify version ranges in configure messages and errors
Duncan Coutts <duncan at haskell.org>**20090531192426
Part of #369
]
[Add and export simplifyDependency
Duncan Coutts <duncan at haskell.org>**20090531192332
Just uses simplifyVersionRange on the version range in the dep
]
[Use the PackageDbStack in the local build info and compiler modules
Duncan Coutts <duncan at haskell.org>**20090531153124
This lets us pass a whole stack of package databases to the compiler.
This is more flexible than passing just one and working out what
other dbs that implies. This also lets us us more than one specific
package db, which we need for the inplace package db use case.
]
[Simplify version ranges before printing in configure error message
Duncan Coutts <duncan at haskell.org>**20090530213922
Part of ticket #369. Now instead of:
setup: At least the following dependencies are missing:
base <3 && <4 && <3 && <3 && <4
we get:
setup: At least the following dependencies are missing:
base <3
]
[Bump version to 1.7.1 due to recent changes
Duncan Coutts <duncan at haskell.org>**20090530211320]
[Minor renaming
Duncan Coutts <duncan at haskell.org>**20090530202312
Part of one of Stephen Blackheath's patches
]
[Improve an internal error message slightly
Duncan Coutts <duncan at haskell.org>**20090530205540]
[Detect intra-package build-depends
Duncan Coutts <duncan at haskell.org>**20090530204447
Based on an original patch by Stephen Blackheath
With this change build-depends on a library within the same package
are detected. Such deps are not full handled yet so for the moment
they are explicitly banned, however this is another step towards
actually supporting such dependencies. In particular deps on
internal libs are resolved to the internal one in preference to any
existing external version of the same lib.
]
[Use accurate per-component package deps
Duncan Coutts <duncan at haskell.org>**20090530202350
Based on an original patch by Stephen Blackheath
Previously each component got built using the union of all package
deps of all components in the entire package. Now we use exactly the
deps specified for that component. To prevent breaking old packages
that rely on the sloppy behaviour, package will only get the new
behaviour if they specify they need at least cabal-version: >= 1.7.1
]
[Add *LBI variants of withLib and withExe that give corresponding build info
rubbernecking.trumpet.stephen at blacksapphire.com**20090528113232
Ignore-this: 6856385f1c210e33c352da4a0b6e876a
]
[Register XmlSyntax and RegularPatterns as known extensions in Language.Haskell.Extension
Niklas Broberg <d00nibro at chalmers.se>**20090529102848
Ignore-this: 32aacd8aeef9402a1fdf3966a213db7d
Concrete XML syntax is used in the Haskell Server Pages extension
language, and a description can be found in the paper "Haskell Server
Pages through Dynamic Loading" by Niklas Broberg, published in Haskell
Workshop '05.
Regular expression pattern matching is described in the paper "Regular
Expression Patterns" by Niklas Broberg, Andreas Farre and Josef
Svenningsson, published in ICFP '04.
]
[Resolve merge conflict with dynlibPref patch
Duncan Coutts <duncan at haskell.org>**20090528115249
The dynlibPref patch accidentally was only pushed to ghc's branch.
]
[Use dynlibdir = libdir for the moment
Duncan Coutts <duncan at well-typed.com>**20090519134115
It will need more thought about how much control the user needs
and what the default shared libs management scheme should be.
]
[Use componentPackageDeps, remove packageDeps, add externalPackageDeps
Duncan Coutts <duncan at haskell.org>**20090527225016
So now when building, we actually use per-component set of package deps.
There's no actual change in behaviour yet as we're still setting each of
the componentPackageDeps to the union of all the package deps.
]
[Pass ComponentLocalBuildInfo to the buildLib/Exe
Duncan Coutts <duncan at haskell.org>**20090527210731
Not yet used
]
[Simplify writeInstalledConfig slightly
Duncan Coutts <duncan at haskell.org>**20090527204755]
[No need to drop dist/installed-pkg-config after every build
Duncan Coutts <duncan at haskell.org>**20090527204500
We generate this file if necessary when registering.
]
[Make absoluteInstallDirs only take the package id
Duncan Coutts <duncan at haskell.org>**20090527203112
It doesn't need the entire PackageDescription
]
[Rejig calls to per-compiler build functions
Duncan Coutts <duncan at haskell.org>**20090527195146
So it's now a bit clearer what is going on in the generic build code
Also shift info calls up to generic code
]
[Split nhc and hugs's build action into buildLib and buildExe
Duncan Coutts <duncan at haskell.org>**20090527194206]
[Split JHC's build into buildLib and buildExe
Duncan Coutts <duncan at haskell.org>**20090527192036]
[Sync LHC module from GHC module
Duncan Coutts <duncan at haskell.org>**20090527191615]
[Give withLib and withExe sensible types
Duncan Coutts <duncan at haskell.org>**20090527185634]
[Fix types of libModules and exeModules
Duncan Coutts <duncan at haskell.org>**20090527185108
Take a Library/Executable rather than a PackageDescription
Means we're more precise in using it, just passing the info we need.
]
[Split ghc's build action into buildLib and buildExe
Duncan Coutts <duncan at haskell.org>**20090527183250]
[Remove unused ghc-only executable wrapper feature
Duncan Coutts <duncan at haskell.org>**20090527183245
Some kind of shell script wrapper feature might be useful,
but we should design it properly.
]
[Fixup .cabal file with the removed modules and files
Duncan Coutts <duncan at haskell.org>**20090527182344]
[Fix warnings about unused definitions and imports
Duncan Coutts <duncan at haskell.org>**20090527175253]
[Remove the makefile generation feature
Duncan Coutts <duncan at haskell.org>**20090527175002
It was an ugly hack and ghc no longer uses it.
]
[Add new ComponentLocalBuildInfo
Duncan Coutts <duncan at haskell.org>**20090527174418
We want to have each component have it's own dependencies,
rather than using the union of deps of the whole package.
]
[Ticket #89 part 2: Dependency-related test cases and a simple test harness
rubbernecking.trumpet.stephen at blacksapphire.com**20090526133509
Ignore-this: 830dd56363c34d8edff65314cd8ccb2
The purpose of these tests is mostly to pin down some existing behaviour to
ensure it doesn't get broken by the ticket #89 changes.
]
[Ticket #89 part 1: add targetBuildDepends field to PackageDescription's target-specific BuildInfos
rubbernecking.trumpet.stephen at blacksapphire.com**20090526133729
Ignore-this: 96572adfad12ef64a51dce2f7c5f738
This provides dependencies specifically for each library and executable target.
buildDepends is calculated as the union of the individual targetBuildDepends,
giving a result that's exactly equivalent to the old behaviour.
]
[LHC: register the external core files.
Lemmih <lemmih at gmail.com>**20090521021511
Ignore-this: d4e484d7b8e541c3ec4cb35ba8aba4d0
]
[Update the support for LHC.
Lemmih <lemmih at gmail.com>**20090515211659
Ignore-this: 2884d3eca0596a441e3b3c008e16fd6f
]
[Print a more helpful message when haddock's ghc version doesn't match
Duncan Coutts <duncan at haskell.org>**20090422093240
Eg now says something like:
cabal: Haddock's internal GHC version must match the configured GHC version.
The GHC version is 6.8.2 but haddock is using GHC version 6.10.1
]
[use -D__HADDOCK__ only when preprocessing for haddock < 2
Andrea Vezzosi <sanzhiyan at gmail.com>**20090302015137
Ignore-this: d186a5dbebe6d7fdc64e6414493c6271
haddock-2.x doesn't define any additional macros.
]
[Make die use an IOError that gets handled at the top level
Duncan Coutts <duncan at haskell.org>**20090301195143
Rather than printing the error there and then and throwing an
exit exception. The top handler now catches IOErrors and
formats and prints them before throwing an exit exception.
Fixes ticket #512.
]
[rewrite of Distribution.Simple.Haddock
Andrea Vezzosi <sanzhiyan at gmail.com>**20090219153738
Ignore-this: 5b465b2b0f5ee001caa0cb19355d6fce
In addition to (hopefully) making clear what's going on
we now do the additional preprocessing for all the versions of haddock
(but not for hscolour) and we run cpp before moving the files.
]
[Allow --with-ghc to be specified when running Cabal
Ian Lynagh <igloo at earth.li>**20090225172249]
[fix imports for non-GHC
Ross Paterson <ross at soi.city.ac.uk>**20090221164939
Ignore-this: 12756e3863e312352d5f6c69bba63b92
]
[Fix user guide docs about --disable-library-vanilla
Duncan Coutts <duncan at haskell.org>**20090219165539
It is not default. Looks like it was a copy and paste error.
]
[Specify a temp output file for the header/lib checks
Duncan Coutts <duncan at haskell.org>**20090218233928
Otherwise we litter the current dir with a.out and *.o files.
]
[Final changelog updates for 1.6.0.2
Duncan Coutts <duncan at haskell.org>**20090218222106]
[Use more cc options when checking for header files and libs
Duncan Coutts <duncan at haskell.org>**20090218110520
Use -I. to simulate the search path that gets used when we tell ghc
to -#include something. Also use the include dirs and cc options of
dependent packages. These two changes fix about 3 packages each.
]
[Validate the docbook xml before processing.
Duncan Coutts <duncan at haskell.org>**20090213134136
Apparently xsltproc does not validate against the dtd.
This should stop errors creaping back in.
]
[Make documentation validate
Samuel Bronson <naesten at gmail.com>**20090212235057]
[Folly the directions for docbook-xsl
Samuel Bronson <naesten at gmail.com>**20090213022615
As it says in http://docbook.sourceforge.net/release/xsl/current/README:
- Use the base canonical URI in combination with one of the
pathnames below. For example, for "chunked" HTML, output:
http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl
]
[Fix compat functions for setting file permissions on windows
Duncan Coutts <duncan at haskell.org>**20090205224415
Spotted by Dominic Steinitz
]
[Only print message about ignoring -threaded if its actually present
Duncan Coutts <duncan at haskell.org>**20090206174707]
[Don't build ghci lib if we're not making vanilla libs
Duncan Coutts <duncan at haskell.org>**20090206173914
As the .o files will not exist.
]
[Correct docdir -> mandir in InstallDirs
Samuel Bronson <naesten at gmail.com>**20090203043338]
[Fix message suggesting the --executables flag
Samuel Bronson <naesten at gmail.com>**20090201010708]
[Remove #ifdefery for windows, renameFile now works properly
Duncan Coutts <duncan at haskell.org>**20090202004450
It's even atomic on windows so we don't need the workaround.
]
[Make withTempDirectory create a new secure temp dir
Duncan Coutts <duncan at haskell.org>**20090201233318
Rather than taking a specific dir to create.
Update the one use of the function.
]
[Add createTempDirectory to Compat.TempFile module
Duncan Coutts <duncan at haskell.org>**20090201233213
Also clean up imports
]
[Improve the error message for missing foreign libs and make it fatal
Duncan Coutts <duncan at haskell.org>**20090131184813
The check should now be accurate enough that we can make it an
error rather than just a warning.
]
[Use the cc, cpp and ld options when checking foreign headers and libs
Duncan Coutts <duncan at haskell.org>**20090131184016
In partiular this is needed for packages that use ./configure
scripts to write .buildinfo files since they typically do not
split the cpp/cc/ldoptions into the more specific fields.
]
[Do the check for foreign libs after running configure
Duncan Coutts <duncan at haskell.org>**20090131182213
This lets us pick up build info discovered by the ./configure script
]
[move imports outside ifdef GHC
Ross Paterson <ross at soi.city.ac.uk>**20090130153505]
[Document most of the new file utility functions
Duncan Coutts <duncan at haskell.org>**20090130151640]
[#262 iterative tests for foreign dependencies
Gleb Alexeyev <gleb.alexeev at gmail.com>**20090130120228
Optimize for succesful case. First try all libs and includes in one command,
proceed with further tests only if the first test fails. The same goes for libs
and headers: look for an offending one only when overall test fails.
]
[Misc minor comment and help message changes
Duncan Coutts <duncan at haskell.org>**20090129233455]
[Deprecate smartCopySources and copyDirectoryRecursiveVerbose
Duncan Coutts <duncan at haskell.org>**20090129233234
Also use simplified implementation in terms of recently added functions.
]
[Switch copyFileVerbose to use compat copyFile
Duncan Coutts <duncan at haskell.org>**20090129233125
All remaining uses of it do not require copying permissions
]
[Let the setFileExecutable function work with hugs too
Duncan Coutts <duncan at haskell.org>**20090129232948]
[Switch hugs wrapper code to use setFileExecutable
Duncan Coutts <duncan at haskell.org>**20090129232542
instead of get/setPermissions which don't really work properly.
]
[Switch last uses of copyFile to copyFileVerbose
Duncan Coutts <duncan at haskell.org>**20090129232429]
[Stop using smartCopySources or copyDirectoryRecursiveVerbose
Duncan Coutts <duncan at haskell.org>**20090129231656
Instead if copyDirectoryRecursiveVerbose use installDirectoryContents
and for smartCopySources use findModuleFiles and installExecutableFiles
In both cases the point is so that we use functions for installing
files rather than functions to copy files.
]
[Use installOrdinaryFile and installExecutableFile in various places
Duncan Coutts <duncan at haskell.org>**20090129231321
instead of copyFileVerbose
]
[Make the Compat.CopyFile module with with old and new ghc
Duncan Coutts <duncan at haskell.org>**20090129225423]
[Add a bunch of utility functions for installing files
Duncan Coutts <duncan at haskell.org>**20090129180243
We want to separate the functions that do ordinary file copies
from the functions that install files because in the latter
case we have to do funky things with file permissions.
]
[Use setFileExecutable instead of copyPermissions
Duncan Coutts <duncan at haskell.org>**20090129180130
This lets us get rid of the Compat.Permissions module
]
[Export setFileOrdinary and setFileExecutable from Compat.CopyFile
Duncan Coutts <duncan at haskell.org>**20090129173413]
[Warn if C dependencies not found (kind of fixes #262)
gleb.alexeev at gmail.com**20090126185832
This is just a basic check - generate a sample program and check if it compiles and links with relevant flags. Error messages (warning messages,
actually) could use some improvement.
]
[Pass include directories to LHC
Samuel Bronson <naesten at gmail.com>**20090127220021]
[Add Distribution.Compat.CopyFile module
Duncan Coutts <duncan at haskell.org>**20090128181115
This is to work around the file permissions problems with the
standard System.Directory.copyFile function. When installing
files we do not want to copy permissions or attributes from the
source files. On unix we want to use specific permissions and
on windows we want to inherit default permissions. On unix:
copyOrdinaryFile sets the permissions to -rw-r--r--
copyExecutableFile sets the permissions to -rwxr-xr-x
]
[Remove unused support for installing dynamic exe files
Duncan Coutts <duncan at haskell.org>**20090128170421
No idea why this was ever added, they've never been built.
]
[Check for ghc-options: -threaded in libraries
Duncan Coutts <duncan at haskell.org>**20090125161226
It's totally unnecessary and messes up profiling in older ghc versions.
]
[Filter ghc-options -threaded for libs too
Duncan Coutts <duncan at haskell.org>**20090125145035]
[New changelog entries for 1.7.x
Duncan Coutts <duncan at haskell.org>**20090123175645]
[Update changelog for 1.6.0.2
Duncan Coutts <duncan at haskell.org>**20090123175629]
[Fix openNewBinaryFile on Windows with ghc-6.6
Duncan Coutts <duncan at haskell.org>**20090122172100
fdToHandle calls fdGetMode which does not work with ghc-6.6 on
windows, the workaround is not to call fdToHandle, but call
openFd directly. Bug reported by Alistair Bayley, ticket #473.
]
[filter -threaded when profiling is on
Duncan Coutts <duncan at haskell.org>**20090122014425
Fixes #317. Based on a patch by gleb.alexeev at gmail.com
]
[Move installDataFiles out of line to match installIncludeFiles
Duncan Coutts <duncan at haskell.org>**20090122005318]
[Fix installIncludeFiles to create target directories properly
Duncan Coutts <duncan at haskell.org>**20090122004836
Previously for 'install-includes: subdir/blah.h' we would not
create the subdir in the target location.
]
[Typo in docs for source-repository
Joachim Breitner <mail at joachim-breitner.de>**20090121220747]
[Make 'ghc-options: -O0' a warning rather than an error
Duncan Coutts <duncan at haskell.org>**20090118141949]
[Improve runE parse error message
Duncan Coutts <duncan at haskell.org>**20090116133214
Only really used in parsing config files derived from command line flags.
]
[The Read instance for License and InstalledPackageInfo is authoritative
Duncan Coutts <duncan at haskell.org>**20090113234229
It is ghc's optimised InstalledPackageInfo parser that needs updating.
rolling back:
Fri Dec 12 18:36:22 GMT 2008 Ian Lynagh <igloo at earth.li>
* Fix Show/Read for License
We were ending up with things like
InstalledPackageInfo {
...
license = LGPL Nothing,
...
}
i.e. "LGPL Nothing" rather than "LGPL", which we couldn't then read.
M ./Distribution/License.hs -2 +14
]
[Swap the order of global usage messages
Duncan Coutts <duncan at haskell.org>**20090113191810
Put the more important one first.
]
[Enable the global command usage to be set
Duncan Coutts <duncan at haskell.org>**20090113181303
extend it rather than overriding it.
Also rearrange slightly the default global --help output.
]
[On Windows, if gcc isn't where we expect it then keep looking
Ian Lynagh <igloo at earth.li>**20090109153507]
[Ban ghc-options: --make
Duncan Coutts <duncan at haskell.org>**20081223170621
I dunno, some people...
]
[Update changelog for 1.6.0.2 release
Duncan Coutts <duncan at haskell.org>**20081211142202]
[Make the compiler PackageDB stuff more flexible
Duncan Coutts <duncan at haskell.org>**20081211141649
We support using multiple package dbs, however the method for
specifying them is very limited. We specify a single package db
and that implicitly specifies any other needed dbs. For example
the user or a specific db require the global db too. We now
represent that stack explicitly. The user interface still uses
the single value method and we convert internally.
]
[Fix Show/Read for License
Ian Lynagh <igloo at earth.li>**20081212183622
We were ending up with things like
InstalledPackageInfo {
...
license = LGPL Nothing,
...
}
i.e. "LGPL Nothing" rather than "LGPL", which we couldn't then read.
]
[Un-deprecate Distribution.ModuleName.simple for now
Ian Lynagh <igloo at earth.li>**20081212164540
Distribution/Simple/PreProcess.hs uses it, so this causes build failures
with -Werror.
]
[Use the first three lhc version digits
Duncan Coutts <duncan at haskell.org>**20081211224048
Rather than two, and do it in a simpler way.
]
[Remove obsolete test code
Duncan Coutts <duncan at haskell.org>**20081211142054]
[Update the VersionInterval properties which now all pass
Duncan Coutts <duncan at haskell.org>**20081210145653]
[Eliminate NoLowerBound, Versions do have a lower bound of 0.
Duncan Coutts <duncan at haskell.org>**20081210145433
This eliminates the duplicate representation of ">= 0" vs "-any"
and makes VersionIntervals properly canonical.
]
[Update and extend the Version quickcheck properties
Duncan Coutts <duncan at haskell.org>**20081210143251
One property fails. The failure reveals that the VersionInterval type
is not quite a canonical representation of the VersionRange semantics.
This is because the lowest Version is [0] and not -infinity, so for
example the intervals (.., 0] and [0,0] are equivalent.
]
[Add documentation for VersionRange functions
Duncan Coutts <duncan at haskell.org>**20081210140632
With properties.
]
[Export withinVersion and deprecate betweenVersionsInclusive
Duncan Coutts <duncan at haskell.org>**20081210140411]
[Add checking of Version validity to the VersionIntervals invariant
Duncan Coutts <duncan at haskell.org>**20081210134100
Version numbers have to be a non-empty sequence of non-negataive ints.
]
[Fix implementation of withinIntervals
Duncan Coutts <duncan at haskell.org>**20081210000141]
[Fix configCompilerAux to consider user-supplied program flags
Duncan Coutts <duncan at haskell.org>**20081209193320
This fixes a bug in cabal-install
]
[Add ModuleName.fromString and deprecate ModuleName.simple
Duncan Coutts <duncan at haskell.org>**20081209151232
Also document the functions in the ModuleName module.
]
[Check for absolute, outside-of-tree and dist/ paths
Duncan Coutts <duncan at haskell.org>**20081208234312]
[Export more VersionIntervals operations
Duncan Coutts <duncan at haskell.org>**20081208222420
and check internal invariants
]
[Check for use of cc-options: -O
Duncan Coutts <duncan at haskell.org>**20081208182047]
[Fake support for NamedFieldPuns in ghc-6.8
Duncan Coutts <duncan at haskell.org>**20081208180018
Implement it in terms of the -XRecordPuns which was accidentally
added in ghc-6.8 and deprecates in 6.10 in favor of NamedFieldPuns
So this is for compatability so we can tell package authors always
to use NamedFieldPuns instead.
]
[Make getting ghc supported language extensions its own function
Duncan Coutts <duncan at haskell.org>**20081208175815]
[Check for use of deprecated extensions
Duncan Coutts <duncan at haskell.org>**20081208175441]
[Add a list of deprecated extenstions
Duncan Coutts <duncan at haskell.org>**20081208175337
Along with possibly another extension that replaces it.
]
[Change the checking of new language extensions
Duncan Coutts <duncan at haskell.org>**20081207202315
Check for new language extensions added in Cabal-1.2 and also 1.6.
Simplify the checking of -X ghc flags. Now always suggest using
the extensions field, as we separately warn about new extenssons.
]
[Tweak docs for VersionRange and VersionIntervals
Duncan Coutts <duncan at haskell.org>**20081207184749]
[Correct and simplify checkVersion
Duncan Coutts <duncan at haskell.org>**20081205232845]
[Make users of VersionIntervals use the new view function
Duncan Coutts <duncan at haskell.org>**20081205232707]
[Make VersionIntervals an abstract type
Duncan Coutts <duncan at haskell.org>**20081205232041
Provide asVersionIntervals as the view function for a VersionRange
This will let us enforce the internal data invariant
]
[Slight clarity improvement in compiler language extension handling
Duncan Coutts <duncan at haskell.org>**20081205210747]
[Slightly simplify the maintenance burden of adding new language extensions
Duncan Coutts <duncan at haskell.org>**20081205210543]
[Distributing a package with no synopsis and no description is inexcusable
Duncan Coutts <duncan at haskell.org>**20081205160719
Previously if one or the other or both were missing we only warned.
Now if neither are given it's an error. We still warn about either
missing.
]
[Add Test.Laws module for checking class laws
Duncan Coutts <duncan at haskell.org>**20081204144238
For Functor, Monoid and Traversable.
]
[Add QC Arbitrary instances for Version and VersionRange
Duncan Coutts <duncan at haskell.org>**20081204144204]
[Remove accidentally added bianry file
Duncan Coutts <duncan at haskell.org>**20081203000824]
[Fix #396 and add let .Haddock find autogen modules
Andrea Vezzosi <sanzhiyan at gmail.com>**20081201114853]
[Add checks for new and unknown licenses
Duncan Coutts <duncan at haskell.org>**20081202172742]
[Add MIT and versioned GPL and LGPL licenses
Duncan Coutts <duncan at haskell.org>**20081202171033
Since Cabal-1.4 we've been able to parse versioned licenses
and unknown licenses without the parser falling over.
]
[Don't nub lists of dependencies
Duncan Coutts <duncan at haskell.org>**20081202162259
It's pretty meaningless since it's only a syntactic check.
The proper thing is to maintain a dependency set or to
simplify dependencies before printing them.
]
[Fix the date in the LICENSE file
Duncan Coutts <duncan at haskell.org>**20081202161457]
[Fix the version number in the makefile
Duncan Coutts <duncan at haskell.org>**20081202161441]
[Use VersionRange abstractly
Duncan Coutts <duncan at haskell.org>**20081202160321]
[Do the cabal version check properly.
Duncan Coutts <duncan at haskell.org>**20081202155410
Instead of matching on the actual expression ">= x.y" we use the
sematic view of the version range so we can do it precisely.
Also use foldVersionRange to simplify a couple functions.
]
[Drop support for ghc-6.4 era OPTIONS pragmas
Duncan Coutts <duncan at haskell.org>**20081202154744
It's still possible to build with ghc-6.4 but you have to pass
extra flags like "ghc --make -cpp -fffi Setup.hs" We could not
keep those OPTIONS pragmas and make it warning-free with ghc-6.10.
See http://hackage.haskell.org/trac/ghc/ticket/2800 for details.
]
[Almost make the VersionRange type abstract
Duncan Coutts <duncan at haskell.org>**20081202154307
Export constructor functions and deprecate all the real constructors
We should not be pattern matching on this type because it's just
syntax. For meaningful questions we should be matching on the
VersionIntervals type which represents the semantics.
]
[Change isAnyVersion to be a semantic rather than syntactic test
Duncan Coutts <duncan at haskell.org>**20081202142123
Also add simplify and isNoVersion.
]
[Add VersionIntervals, a view of VersionRange
Duncan Coutts <duncan at haskell.org>**20081202141040
as a sequence of non-overlapping intervals. This provides a canonical
representation for the semantics of a VersionRange. This makes several
operations easier.
]
[Fix pretty-printing of version wildcards, was missing leading ==
Duncan Coutts <duncan at haskell.org>**20081202135949]
[Add a fold function for the VersionRange
Duncan Coutts <duncan at haskell.org>**20081202135845
Use it to simplify the eval / withinRange function
]
[Improve the error on invalid file globs slightly
Duncan Coutts <duncan at haskell.org>**20081202135335]
[Use commaSep everywhere in the Check module
Duncan Coutts <duncan at haskell.org>**20081202135208]
[Fix message in the extra-source-files field check
Duncan Coutts <duncan at haskell.org>**20081202135000]
[Add checks for file glob syntax
Duncan Coutts <duncan at haskell.org>**20081202133954
It requires cabal-version: >= 1.6 to be specified
]
[Add check for use of "build-depends: foo == 1.*" syntax
Duncan Coutts <duncan at haskell.org>**20081202131459
It requires Cabal-1.6 or later.
]
[Distinguish version wild cards in the VersionRange AST
Duncan Coutts <duncan at haskell.org>**20081128170513
Rather than encoding them in existing constructors.
This will enable us to check that uses of the new syntax
are flagged in .cabal files with cabal-version: >= 1.6
]
[Fix comment in LHC module
Duncan Coutts <duncan at haskell.org>**20081123100710
Yes, LHC really does use ghc-pkg (with a different package.conf)
]
[Use the new bug-reports and source-repository info in the .cabal file
Duncan Coutts <duncan at haskell.org>**20081123100041]
[Simplify build-depends and base3/4 flags
Duncan Coutts <duncan at haskell.org>**20081123100003]
[Simplify default global libdir for LHC
Duncan Coutts <duncan at haskell.org>**20081123095802
So it uses libdir=$prefix/lib rather than libdir=/usr/local/lib
]
[Simplify the compat exceptions stuff
Duncan Coutts <duncan at haskell.org>**20081123095737]
[Fix warnings in the LHC module
Duncan Coutts <duncan at haskell.org>**20081122224011]
[Distribution/Simple/GHC.hs: remove tabs for whitespace to eliminate warnings in cabal-install
gwern0 at gmail.com**20081122190011
Ignore-this: 2fd54090af86e67e25e51ade42992b53
]
[Warn about use of tabs
Duncan Coutts <duncan at haskell.org>**20081122154134]
[Bump Cabal HEAD version to 1.7.x development series
Duncan Coutts <duncan at haskell.org>**20081122145817
Support for LHC is the first divergence between 1.7
and the stable 1.6.x series.
]
[Update changelog for 1.6.0.x fixes
Duncan Coutts <duncan at haskell.org>**20081122145758]
[LHC: Don't use --no-user-package-conf. It doesn't work with ghc-6.8.
Lemmih <lemmih at gmail.com>**20081122012341
Ignore-this: 88a837b38cf3e897cc5ed4bb22046cee
]
[Semi-decent lhc support.
Lemmih <lemmih at gmail.com>**20081121034138]
[Make auto-generated *_paths.hs module warning-free.
Thomas Schilling <nominolo at googlemail.com>**20081106142734
On newer GHCs using {-# OPTIONS_GHC -fffi #-} gives a warning which
can lead to a compile failure when -Werror is activated. We therefore
emit this option if we know that the LANGUAGE pragma is supported
(ghc >= 6.6.1).
]
[Escape ld-options with the -optl prefix when passing them to ghc
Duncan Coutts <duncan at haskell.org>**20081103151931
Fixes ticket #389
]
[Simplify previous pkg-config fix
Duncan Coutts <duncan at haskell.org>**20081101200309]
[Fix bug where we'd try to configure an empty set of pkg-config packages
Duncan Coutts <duncan at haskell.org>**20081101195512
This happened when the lib used pkg-config but the exe did not.
It cropped up in hsSqlite3-0.0.5.
]
[Add GHC 6.10.1's extensions to the list in Language.Haskell.Extension
Ian Lynagh <igloo at earth.li>**20081019141408]
[Ensure that the lib target directory is present when installing
Duncan Coutts <duncan at haskell.org>**20081017004437
Variant on a patch from Bryan O'Sullivan
]
[Release kind is now rc
Duncan Coutts <duncan at haskell.org>**20081011183201]
[TAG 1.6.0.1
Duncan Coutts <duncan at haskell.org>**20081011182516]
Patch bundle hash:
dd6b4a5a4c3a2183707ff47e48f73420279fe821
More information about the cabal-devel
mailing list