[darcs-devel] [issue1065] Darcs taking infinite time to merge patches from Cabal
Simon Peyton-Jones
bugs at darcs.net
Mon Sep 8 14:33:22 UTC 2008
New submission from Simon Peyton-Jones <simonpj at microsoft.com>:
[Sending again this time with the trace as a zipped attachment]
More darcs2 woe, this time on Linux. I'm simply merging patches from the cabal repository into my working tree. My working tree is absolutely un-modified, but it's old, so there are 197 patches to pull.
Problem is this: Darcs is hung saying "Merging them 64/197". So far it's consumed 8 minutes of CPU time on a fast machine.
This is terribly depressing: there is nothing tricky going on here. No local modifications, no conflicts, nothing but a straight pull. Presumably by the time we get to "Merging them" there is no network traffic either. It's just stuck (apparently) in a horribly inefficient algorithm, or an infinite loop. I can't tell which.
What should I do now? It's still running (I'm up to 11 mins of CPU now). I'll leave it to run, on the grounds that disturbing it will disturb any evidence you may want me to collect. But I'll kill it in a while.
rsvp
Simon
== running darcs pull -av --repodir libraries/Cabal
Pulling from "http://darcs.haskell.org/packages/Cabal"...
This is GHC's branch of the main Cabal repo.
NB. DO NOT push new Cabal patches to this repo, instead use the main Cabal repo at
http://darcs.haskell.org/cabal
Patches to this repo must pass GHC's validate script before being pushed.
**********************
We have the following new (to them) patches:
They have the following patches to pull:
Wed May 14 15:47:28 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add in {-# OPTIONS #-} for the benefit of ghc-6.4.x
Which do not grok OPTIONS_GHC or LANGUAGE pragmas
Wed May 14 01:39:19 BST 2008 Ian Lynagh <igloo at earth.li>
UNDO: Define bracketOnError in compat; fixes the build for GHC 6.4
Wed May 14 16:32:06 BST 2008 Duncan Coutts <duncan at haskell.org>
* Eliminate use of bracketOnError, use handle instead
It's actually more appropriate anyway.
This means we don't need any Distribution.Compat.Exception.
Wed May 14 16:33:43 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove redundant Char test in parseBuildToolName
It was made redundant after the isSymbol test was removed.
Spotted by Igloo.
Wed May 14 16:41:04 BST 2008 Duncan Coutts <duncan at haskell.org>
* Check invariant on every construction and elide on lookups
Wed May 14 17:29:54 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add PackageIndex.lookupPackageName and extra deletion functions
Wed May 14 18:18:22 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove Distribution.Compat.Exception from other-modules
Fri May 9 10:44:55 BST 2008 Duncan Coutts <duncan at haskell.org>
* Do not display version tags
Tue May 13 10:43:01 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove unused import
Mon May 19 18:38:08 BST 2008 Duncan Coutts <duncan at haskell.org>
* Allow the bindir, libdir and libexec dir to be specified via env vars too
Same as for the datadir. Eg for package Foo, you'd use
Foo_bindir=... Foo_datadir=... Foo_libexecdir=... ./Foo
The next step would be generating a wrapper script that allows
running the program inplace. It should also work for a library.
Fri May 9 14:04:48 BST 2008 Bertram Felgenhauer <int-e at gmx.de>
* add data-dir field to package config
Cabal will look for data files to install relative to the directory given
in the data-dir field, allowing package authors to better structure their
source tree. There's no behavioural change by default.
Fri May 9 14:13:06 BST 2008 Bertram Felgenhauer <int-e at gmx.de>
* document data-dir field
Sun May 11 14:00:35 BST 2008 Ian Lynagh <igloo at earth.li>
UNDO: Remove gnerated file (doc/fptools.css)
Tue May 20 20:17:00 BST 2008 Duncan Coutts <duncan at haskell.org>
* Rename doc/fptools.css to avoid the ghc build system cleaning it
The user guide gets built in two different ways. There's a target
in Cabal's the top level Makefile and there is also the stuff that
the ghc build system uses. The ghc build system expects to copy in
doc/fptools.css and then delete it again on make clean. We want a
persistent copy so that we can make the docs when we've just got a
standalone Cabal build tree, so that's now kept as doc/Cabal.css.
Wed May 21 16:34:20 BST 2008 Duncan Coutts <duncan at haskell.org>
* Write out Bool config values correctly
Used by cabal-install when writing the default ~/.cabal/config file.
Previously it was using show for type Maybe Bool and writing out
"Just True" when of course it should just be "True".
Thu May 29 10:22:44 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add notThisVersion :: Version -> VersionRange
Opposite of ThisVersion, it means /= x.y but is actually implemented
as > x.y || < x.y as we do not have not or not equal as primitives.
Thu May 29 10:26:07 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add thisPackageVersion and notThisPackageVersion
Util functions for makeing dependencies from package identifiers.
thisPackageVersion (foo-1.0) = foo ==1.0
notThisPackageVersion (foo-1.0) = foo /=1.0
The latter is handy as a constraint in dependency resolution.
Thu May 29 10:53:46 BST 2008 Duncan Coutts <duncan at haskell.org>
* Change the PackageIndex invariant so the buckets are ordered
Each bucket holds packages with the same name case-insensitively.
Previously each buckets was internally unordered. Now they're
ordered by the full package id which means first by package name
case-sensitively and then by version.
Thu May 29 11:42:14 BST 2008 Duncan Coutts <duncan at haskell.org>
* Put spaces round || and && when displaying version range expressions
This makes them much more readable.
Thu May 29 11:47:14 BST 2008 Duncan Coutts <duncan at haskell.org>
* Bump version due to api changes
Tue May 27 14:58:30 BST 2008 Duncan Coutts <duncan at haskell.org>
* Note compatability issue in deprecation message for defaultUserHooks
Mon Jun 9 19:58:40 BST 2008 Duncan Coutts <duncan at haskell.org>
* Install license file into the right place
even if the license file was kept in a subdir of the src tree.
The canonical example was: license-file: debian/copyright
It was being installed into $docdir/debian/ and failing since
that dir did not exist. It's now installed into just $docdir.
Mon Jun 9 20:02:51 BST 2008 Duncan Coutts <duncan at haskell.org>
* Install haddock interface only when generated
This is actually Andrea Rossato's patch but it didn't merge
cleanly due to more recent changes. Fixes ticket #250.
Mon Jun 9 20:05:55 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fail better when using haddock 2.x and the --hoogle flag
Fixes ticket #249
Tue Jun 10 00:36:09 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix pre-processing for haddock and executables
Now look in the right place to find the pre-processed source
files belongign to executables. Fixes ticket #252.
Tue Jun 10 19:01:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add withFileContents and withUTF8FileContents
Safe block scoped reading of files.
These guarantee that the file gets closed.
Tue Jun 10 19:02:17 BST 2008 Duncan Coutts <duncan at haskell.org>
* Close the package.conf file after reading it
We had a bug on windows where we open and read ghc's package.conf
database but because we did not consume the final newline we did
not close the file. Then when we called ghc-pkg to register a
package it failed because it could not rename the open file.
Tue Jun 10 19:05:28 BST 2008 Duncan Coutts <duncan at haskell.org>
* Switch to scoped file reading rather than lazy readFile
Tue Jun 10 19:07:27 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use writeFileAtomic everywhere instead of writeFile
Tue Jun 10 19:09:47 BST 2008 Duncan Coutts <duncan at haskell.org>
* Switch the hugs code to safe file reading and writing
Thu Jun 12 10:18:10 BST 2008 Duncan Coutts <duncan at haskell.org>
* Filter out the Paths_pkgname file in sdist
Fixes ticket #187 finally (I hope).
Thu Jun 12 10:24:25 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix the register --gen-pkg-config flag
When specified without any file name it is supposed to use
a default file name rather than be ignored completely.
Thu Jun 12 10:28:55 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use the standard autogenModulesDir rather than a local copy
Thu Jun 12 10:29:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Lift the restriction that libraries must have exposed-modules
This allows libs that have only private modules or C code. This
might be used to make libs that have non-exposed modules and only
export C APIs. It could also be used to make packages that consist
only of C code. That might be useful for bindings where it may
make sense to split the C and Haskell code into separate packages.
Thu Jun 12 16:43:09 BST 2008 Duncan Coutts <duncan at haskell.org>
* base-1.0 does not have Data.Map.alter so use insertWith instead
Thu Jun 12 16:44:44 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update copyright and authors list in the .cabal file
Thu Jun 12 16:46:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update the release notes
Thu Jun 12 17:29:06 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update the README and convert it to markdown syntax
Thu Jun 12 17:41:44 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add the 1.2.4.0 release to the changelog
Thu Jun 12 17:42:42 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add the 1.4.0.0 release to the changelog
Thu Jun 12 18:49:58 BST 2008 Duncan Coutts <duncan at haskell.org>
* Put upper bounds on all the build-depends
Thu Jun 12 20:03:17 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move the mkGHCMakefile.sh out of the root dir
Having it there confuses people.
They think they have to run it as part of the install process.
Thu Jun 12 20:05:58 BST 2008 Duncan Coutts <duncan at haskell.org>
* Include the readme and the changelog in the tarball
Sat Jun 14 17:07:07 BST 2008 Ross Paterson <ross at soi.city.ac.uk>
* force results inside withHaskellFile
withUTF8FileContents now closes the file, so we need to force what we're
computing from the contents before it's gone.
Mon Jun 16 18:15:05 BST 2008 Duncan Coutts <duncan at haskell.org>
* construct InstalledPackageInfo from scratch rather than by overriding
It means we catch any fields that get added. As it happens we were
missing a field, though its value is supposed to be just [] which is
the same value as we got from the default emptyInstalledPackageInfo.
Mon Jun 16 18:54:46 BST 2008 Duncan Coutts <duncan at haskell.org>
* Makefile tweak, setup depends on Setup.hs
Tue Jun 17 14:04:34 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update changelog for 1.4.0.1
Tue Jun 17 14:38:11 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix css location in generation of user guide
Sat Jun 14 00:03:52 BST 2008 Duncan Coutts <duncan at haskell.org>
* '.' should not always be in hs-source dirs
We changed the parsing of list fields in the .cabal file so that it
adds to the current value rather than replacing it. This allows you
to put multiple entries for a list field and they all get
concatenated. However that means that the '.' in the hsSourceDirs of
emptyBuildInfo is always added to and not replaced like we did
previously. That's not what we want in this case. We want to use '.'
for hsSourceDirs *only* if hsSourceDirs is otherwise null. As it
happens, due to the way the configurations code works, we're already
filling in the default if it'd otherwise be null so we do not need
'.' in the emptyBuildInfo at all.
Fri Jun 13 21:54:45 BST 2008 Duncan Coutts <duncan at haskell.org>
* haddock-2.2 and later do now support the --hoogle flag
Thu Jun 19 18:50:06 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add version wildcard syntax
build-depends: foo ~1.2.*
means:
build-depends: foo >=1.2 && <1.3
It's also valid everywhere else version ranges are used.
Sat Jun 14 01:16:54 BST 2008 Duncan Coutts <duncan at haskell.org>
* No more need for the distinction between null and emptyBuildInfo
Now that we have removed the hsSourceDirs = [currentDir] default
from emptyBuildInfo it is now equal to nullBuildInfo.
Sat Jun 14 01:29:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add PackageName as a newtype
Sat Jun 14 01:37:05 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add PackageSet, like PackageIndex but case sensitive
Actually it turns out that we don't need case insensitivity in many
cases, mosty just for simple lookups in the UI. For everything else
the ordinary Ord instance is much simpler. The fact that listing the
contents of a PackageIndex doesn't come out in Ord order actually
causes real problems in cabal-install and necessitates re-sorting.
So we should move to using PackageSet in most cases and just leave
the search and lookup operations in PackageIndex.
Thu Jun 19 23:09:40 BST 2008 Duncan Coutts <duncan at haskell.org>
* Include trailing newline in hscolour command description
Thu Jun 19 23:22:58 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use conservative render style for display
Fri Jun 27 19:20:13 BST 2008 Ian Lynagh <igloo at earth.li>
* Update .darcs-boring
Sun Jun 29 12:42:39 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix a haddock typo
Sun Jun 29 12:43:42 BST 2008 Ian Lynagh <igloo at earth.li>
* haddock typo
Thu Jun 26 18:14:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add simple file name globbing (*) to data-files and extra-source-files
Sat Jun 21 02:37:27 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add compat InstalledPackageInfo types for older GHCs
We need these types for their Read instances so that we
can still read older GHCs package db files when we make
changes to the current InstalledPackageInfo type, or the
types contained in it, like PackageIdentifier or License.
Thu Jun 26 00:20:51 BST 2008 Duncan Coutts <duncan at haskell.org>
* Tweaks to the readme, hopefully will reduce confusion
Thu Jun 26 20:29:39 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add ModuleName as a new type instead of using String everywhere
Thu Jun 26 20:52:04 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove a couple old deprecated empty modules
Thu Jun 26 21:09:33 BST 2008 Duncan Coutts <duncan at haskell.org>
* Whitespace changes, convert tabs to spaces
Sat Jun 28 18:25:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update module headers
Use cabal-devel at haskell.org as the maintainer in most cases except for
a few which were pre-existing modules copied from elsewhere or modules
like L.H.Extension which really belong to libraries at haskell.org
Remove the useless stability module. We have more detailed information
on stability elsewhere (in the version number and user guide).
Add more top level module documentation, taken from the source guide.
Sat Jun 28 18:30:10 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove the SetupWrapper module
It's not used in Cabal itself and while cabal-install used
it previously, it now has its own extended implementation.
Sun Jun 29 17:49:39 BST 2008 Ian Lynagh <igloo at earth.li>
* Allow installing executables in-place, and using shell script wrappers
GHC-only currently.
Thu Jul 3 01:11:51 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix the build with GHC 6.4.2: Data.Map.alter doesn't exist
Thu Jul 3 01:12:16 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix using specified package databases
If we are using a specified package database, we need to tell GHC what
it is when building
Thu Jul 3 16:47:14 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix haddocking (with old haddocks?)
Fri Jul 4 15:05:41 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* massage a pattern-with-context around nhc98's typechecker
Fri Jul 4 15:06:13 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* help nhc98's import overlap resolver
Sat Jul 5 11:50:48 BST 2008 Ross Paterson <ross at soi.city.ac.uk>
* fix #if __GLASGOW_HASKELL__ test
The problem is that
#if __GLASGOW_HASKELL__ < NNN
is also true for non-GHC. It should be
#if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < NNN
Thu Jul 10 16:46:00 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove the need for a compat Data.Map module
Stop using Map.alter, use the same solution as the PackageIndex module.
Thu Jul 10 19:14:37 BST 2008 Duncan Coutts <duncan at haskell.org>
* Correct the order of args given by --PROG-options
They were getting reversed. Problem located by Igloo.
Fri Jul 11 00:14:15 BST 2008 Ian Lynagh <igloo at earth.li>
* In Makefile.in, put all the rules that mentions srcdir together
Fri Jul 11 00:15:19 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix some whitespace in Makefile.in
Fri Jul 11 01:07:26 BST 2008 Ian Lynagh <igloo at earth.li>
* Teach "Setup makefile" how to cope with multiple hs-source-dirs
Fri Jul 11 01:08:26 BST 2008 Ian Lynagh <igloo at earth.li>
* Add a hack to copy .hs-boot files into dist/...
When a preprocessor generates a .hs file we need to put the .hs-boot
file next to it so that GHC can find it.
Sat Jul 12 13:19:16 BST 2008 Ian Lynagh <igloo at earth.li>
* If install is given a distPref, pass it on to copy and register
Sat Jul 12 18:38:51 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix the "Setup makefile" rules for C files
Sat Jul 12 18:39:34 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix installing datafiles
If datadir is foo and the datafile is bar then we should install it to
$datadir/bar, not $datadir/foo/bar.
Fri Jul 11 15:20:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Simplify ghc version test slightly
Fri Jul 11 17:01:38 BST 2008 Duncan Coutts <duncan at haskell.org>
* derive Eq for ConfiguredProgram
a request from Saizan
Sun Jul 13 12:05:48 BST 2008 Ian Lynagh <igloo at earth.li>
* If we are using ghc as hsc2hs's cc, then tell it where package.conf is
if we have been told to use a specific one with --package-db
Sun Jul 13 13:39:58 BST 2008 Ian Lynagh <igloo at earth.li>
* Pass -package-conf foo when using GHC as CC
Tue Jul 15 14:24:29 BST 2008 Ian Lynagh <igloo at earth.li>
* Put GHC's programArgs in GHC_OPTS when making a Makefile
Sun Jul 20 20:48:01 BST 2008 Ian Lynagh <igloo at earth.li>
* Generate expanded makefile rules directly, rather than using $(eval ...)
We used to do this with $(eval ...) and $(call ...) in the
Makefile, but make 3.79.1 (which is what comes with msys)
doesn't understand $(eval ...), so now we just stick the
expanded loop directly into the Makefile we generate.
Sun Jul 20 21:46:09 BST 2008 Duncan Coutts <duncan at haskell.org>
* Pass -x to strip on OSX
Sun Jul 20 23:08:51 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix warnings and add a comment explaining why we pass -x to strip on OS X
Tue Jul 22 13:57:59 BST 2008 Ian Lynagh <igloo at earth.li>
* And exitcode of 2 from ghc-pkg when doing describe '*' means no packages
This is a bit of a kludge around GHC's #2201, until Cabal is updated to
use ghc-pkg dump.
Tue Jul 22 17:33:46 BST 2008 Ian Lynagh <igloo at earth.li>
* If we have GHC >= 6.9 then use the new -optdep replacement flags
Sun Jul 20 20:49:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Convert from PackageIndex to PackageSet
Turns out the feature to do case-insensitive lookups was only
needed in cabal-install (and only in one little part) and
elsewhere it causes problems. So use PackageSet instead.
Sun Jul 20 23:17:02 BST 2008 Duncan Coutts <duncan at haskell.org>
* Change some PackageSet functions to return the package rather than the id
dependencyGraph and reverseDependencyClosure now return the
full package rather than just the PackageIdentifier
Sun Jul 20 23:37:31 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add PackageSet.topologicalOrder and reverseTopologicalOrder
with type :: PackageFixedDeps pkg => PackageSet pkg -> [pkg]
Mon Jul 21 00:28:18 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add gccProgram
on Windows we have to find ghc's private copy of gcc.exe
Mon Jul 21 00:37:59 BST 2008 Duncan Coutts <duncan at haskell.org>
* Always use gcc as cc with hsc2hs
Lookup what flags to use from the package index. Previously this
was done by calling ghc as cc and passing -package flags to ghc.
ghc would then lookup what extra flags to pass to gcc. We now do
that ourselves directly and it's a good deal simpler and it's
portable to the other haskell implementations. This is only a
first go, the flags may not all be exactly right. Needs testing.
Mon Jul 21 00:40:19 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't need the complex code in detecting hsc2hs anymore
Since we do not need to know if hsc2hs uses ghc or gcc as cc
by default since in either case we now tell it to use gcc.
Wed Jul 23 11:18:48 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix the location of gcc.exe in a Windows GHC installation
Wed Jul 23 12:22:32 BST 2008 Ian Lynagh <igloo at earth.li>
* Substitute for $topdir when we read GHC's InstalledPackageInfo's
Thu Jul 24 17:57:53 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* help nhc98's module disambiguator a bit
Mon Jul 28 16:36:29 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* more import qualification to help nhc98
Mon Jul 28 17:45:06 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* disambiguate Control.Exception.catch for nhc98
Tue Jul 29 15:50:40 BST 2008 Duncan Coutts <duncan at haskell.org>
* Pass -no-user-package-conf to ghc when not using UserPackageDB
Should eliminate the corner case where we're doing a global
install but the user package db contains the exact same
version as in the global package db. Perhaps we should warn
in that case anyway since it's likely to go wrong later.
Tue Jul 29 16:16:12 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use "pkg == 1.2.*" as the version wildcard syntax
Rather than "pkg ~ 1.2.*". This seemed to be the consensus.
The syntax "pkg == 1.2.*" means "pkg >= 1.2 && < 1.3" and it
is to encourage people to put upper bounds on api versions.
Tue Jul 29 16:19:52 BST 2008 Duncan Coutts <duncan at haskell.org>
* Allow $arch and $os in install paths.
Fixes ticket #312. For example a user could use:
cabal configure --libsubdir="$pkgid/$compiler/$arch"
if they wanted to have packages for multiple architectures
co-exist in the same filestore area.
Tue Jul 29 16:26:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix the semantics of the simple file globbing to be sane
I realised when I started to document it that the behaviour
was not terribly consistent or sensible. The meaning now is:
The limitation is that * wildcards are only allowed in
place of the file name, not in the directory name or
file extension. In particular, wildcards do not include
directories contents recursively. Furthermore, if a
wildcard is used it must be used with an extension, so
"data-files: data/*" is not allowed. When matching a
wildcard plus extension, a file's full extension must
match exactly, so "*.gz" matches "foo.gz" but not
"foo.tar.gz".
The reason for providing only a very limited form of wildcard
is to concisely express the common case of a large number of
related files of the same file type without making it too easy
to accidentally include unwanted files.
Tue Jul 29 16:40:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* File globs must match at least one file or it's an error.
Tue Jul 29 16:56:54 BST 2008 Duncan Coutts <duncan at haskell.org>
* Document the $os and $arch install path vars
Tue Jul 29 16:59:20 BST 2008 Duncan Coutts <duncan at haskell.org>
* Document the wildcard behaviour in data-files and extra-source-files fields
Tue Jul 29 17:03:08 BST 2008 Duncan Coutts <duncan at haskell.org>
* Document more clearly that every modules must be listed
in one of the fields exposed-modules, other-modules or main-is
Add an extra note to the section on the Paths_pkgname module
as the fact that it's automatically generated confuses people.
Tue Jul 29 17:08:08 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move the docs for the buildable field to a better place.
It doesn't need to be right up near the top.
Tue Jul 29 17:09:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove references to cabal-setup from the documentation
Change to runhaskell Setup or cabal-install as appropriate.
Tue Jul 29 17:20:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move docs for build-depends into the build information section
Since it is shared between libs and exes. Extend the documentation
to describe the syntax of version constraints, including the new
version range syntax "build-depends: foo ==1.2.*".
Tue Jul 29 17:37:29 BST 2008 Ian Lynagh <igloo at earth.li>
* Tweak whitespace
Tue Jul 29 18:02:15 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix linking with hsc2hs on OS X
We don't tell hsc2hs to link the actual Haskell packages, so with GHC's
rts package we need to also filter out the -u flags.
Tue Jul 29 18:27:50 BST 2008 Ian Lynagh <igloo at earth.li>
* Tweak a test to not go via the pretty printer
Tue Jul 29 18:27:57 BST 2008 Ian Lynagh <igloo at earth.li>
* Pass the right -F and --framework flags when running hsc2hs on OS X
Tue Jul 29 18:05:56 BST 2008 Duncan Coutts <duncan at haskell.org>
* Do not use ',' as a list separator for the cpp/cc/ld-options fields
It breaks for some options like "ld-options: -Wl,-z,now"
No existing .cabal files on hackage were using ',' as a
list separator so this should not break anything.
Tue Jul 29 20:18:55 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix uses of verbosity > deafening to use >=
The maximum verbosity value is deafening so >= the correct test.
This primarily affected haddock.
Tue Jul 29 20:57:14 BST 2008 Duncan Coutts <duncan at haskell.org>
* Do the ghc rts ldOptions hack in a slightly more hygenic way
Wed Jul 30 17:34:32 BST 2008 Duncan Coutts <duncan at haskell.org>
* Rearrange the Monoid instances for Library, Executable, BuildInfo
No functional change, just moving code about.
We now define the Monoid methods directly rather than in
terms of emptyLibrary, unionLibrary etc.
Wed Jul 30 17:45:16 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add an "exposed" field to the .cabal file library section
It's a bool flag that says if by default the library should
be registered with the compiler as exposed/unhidden (for
compilers which have such a concept, ie ghc). You might want
to do this for packages which would otherwise pollute the
module namespace or clash with other common packages.
It should be very rarely used. The only current examples we
know of are the ghc api package and the dph packages.
Wed Jul 30 17:50:31 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove unused inDir util function
Wed Jul 30 19:29:57 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove unused imports
Wed Jul 30 19:39:10 BST 2008 Ian Lynagh <igloo at earth.li>
* Make Cabal compatible with extensible exceptions
The code is now also more correct, e.g. when we are ignoring IO exceptions
while trying to delete something, we don't also ignore timeout exceptions.
Wed Jul 30 20:45:26 BST 2008 Ian Lynagh <igloo at earth.li>
* Remove unused imports
Thu Jul 31 20:48:41 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix the Windows build
Sun Aug 3 21:12:53 BST 2008 Ian Lynagh <igloo at earth.li>
* Windows fixes
Wed Aug 6 14:03:09 BST 2008 Simon Marlow <marlowsd at gmail.com>
* setup makefile: put the source-dir suffix rules after the distdir suffix rules
This matches the behaviour of 'setup build' works, and is robust to
people accidentally having old preprocessed sources lying around in the
source dir.
Sat Aug 9 22:11:48 BST 2008 Ian Lynagh <igloo at earth.li>
* When running "Setup makefile", put "default: all" at the top of the Makefile
This make "make" work even if Makefile.local contains any targets.
Sun Aug 10 01:51:35 BST 2008 Ian Lynagh <igloo at earth.li>
* Make binary-dist do nothing in doc/Makefile, for now
Wed Aug 6 14:05:12 BST 2008 Simon Marlow <marlowsd at gmail.com>
* allow Cabal to use base-4
Mon Aug 11 18:30:16 BST 2008 Simon Marlow <marlowsd at gmail.com>
* Add auto-generated CPP macros for package version testing
Now when using CPP you get
MIN_VERSION_<package>(A,B,C)
for each <package> in build-depends, which is true if the version of
<package> in use is >= A.B.C, using the normal ordering on version
numbers.
This is done by auto-generating a header file
dist/build/autogen/cabal_macros.h, and passing a -include flag when
running CPP.
Thu Jul 31 17:28:07 BST 2008 Duncan Coutts <duncan at haskell.org>
* Document the "exposed" .cabal file field
Sat Aug 2 01:20:45 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix instance Monoid ConfigFlags for configStripExes
Mon Aug 4 15:38:17 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't try to install libHSfoo.a if the lib had no object files
To allow meta-packages.
Mon Aug 4 16:58:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Adjust registration to allow packages with no modules or objects
So ghc-pkg does not complain about missing files and dirs.
Mon Aug 4 20:03:24 BST 2008 Thomas Schilling <nominolo at googlemail.com>
* Document and refactor 'parsePackageDescription'.
Hopefully this makes this function more understandable and easier to
modify.
Wed Aug 6 01:13:52 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move parseFreeText into ParseUtils and use it more widely
Wed Aug 6 01:15:47 BST 2008 Duncan Coutts <duncan at haskell.org>
* Generalise checkPackageFiles to any monad, not just IO
This is to let us use the same checks for virtual or
in-memory file systems, like tarball contents.
Wed Aug 6 13:13:15 BST 2008 Duncan Coutts <duncan at haskell.org>
* Tidy up the ppFields function and uses
Put the arguments in a more sensible order:
ppFields :: [FieldDescr a] -> a -> Doc
and make the implementation clearer.
clean up the use of it in the PackageDescription.Parse module
Wed Aug 6 13:26:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add parsse utils for simple flat formats.
Should help to simplify the InstalledPackageInfo parser
and also for similar formats in cabal-install.
Wed Aug 6 13:28:07 BST 2008 Duncan Coutts <duncan at haskell.org>
* Simplify InstalledPackageInfo parser and pretty printer
Using the new utils in ParseUtils.
Thu Aug 7 20:03:07 BST 2008 David Waern
* Use 'ghc-pkg dump' instead of 'ghc-pkg describe *'
Does not implement lazy parsing of the output of ghc-pkg dump, so this
is only a partial fix of #311.
For more information about why we want to use ghc-pkg dump, see GHC
ticket #2201.
Tue Aug 12 17:07:31 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't use tab characters in the generated Paths module
Tue Aug 12 17:09:41 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add data Platform = Platform Arch OS
Since we tend to pass them around together rather a lot.
Also add a Text instance with a format like "i386-linux"
Tue Aug 12 18:10:06 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add alias type PackageId = PackageIdentifier
Tue Aug 12 18:12:07 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix the config-file field name of the install command's packagedb option
Tue Aug 12 22:13:49 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix warnings in Windows Paths_pkgname module
Tue Aug 12 22:22:36 BST 2008 Duncan Coutts <duncan at haskell.org>
* Flush stdout when printing debugging messages
Tue Aug 12 23:04:15 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't warn about missing strip.exe on Windows
We don't expect Windows systems to have the strip program anyway.
Wed Aug 13 14:21:12 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* fix imports for nhc98
Wed Aug 13 20:20:17 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add util rewriteFile :: FilePath -> String -> IO ()
Write a file but only if it would have new content.
If we would be writing the same as the existing content
then leave the file as is so that we do not update the
file's modification time.
Wed Aug 13 20:32:45 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move Paths_pkgname and cabal_macros.h generation into their own modules
Wed Aug 13 22:30:35 BST 2008 Ian Lynagh <igloo at earth.li>
* Catch exit exceptions as well as IO exceptions after running programs
We need to catch IO exceptions for things like "couldn't find the program",
but we also need to catch exit exceptions as Cabal uses them to signal
what the program returned.
Thu Aug 21 14:25:51 BST 2008 Simon Marlow <marlowsd at gmail.com>
* Don't propagate cc-options to the InstalledPackageInfo
cc-options is for options to be passed to C compilations in the
current package. If we propagate those options to the
InstalledPackageInfo, they get passed to C compilations in any package
that depends on this one, which could be disastrous. I've seen
cc-options like these:
cc-options: -optc-std=c99
cc-options: -D_FILE_OFFSET_BITS=64
Cc-options: -Wall
these are all clearly intended to be local, but are in fact currently
propagated to all dependent packages.
Thu Aug 21 14:34:21 BST 2008 Simon Marlow <marlowsd at gmail.com>
* Don't pass cc-options to Haskell compilations
This has no effect with GHC 6.9, and with earlier GHC's it was a
misuse of cc-options.
Thu Aug 14 19:25:58 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* unbreak for non-GHC
Wed Aug 13 13:49:57 BST 2008 Duncan Coutts <duncan at haskell.org>
* Minor info and help message improvements
Mon Aug 18 20:49:51 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix spelling of compatibility
At request of gwern who found that it was driving him nuts.
Sun Aug 24 14:51:45 BST 2008 Ian Lynagh <igloo at earth.li>
* We now depend on concurrent (split off from base)
Thu Aug 21 16:49:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix for #333, "Setup sdist --snapshot fails"
Credit to Spencer Janssen. This is just a slight alternative
to the fix he proposed. It simplifies prepareSnapshotTree.
Sat Aug 2 14:54:52 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update changelog
Fri Aug 22 17:08:28 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update changelog for recent 1.5.x changes
Fri Aug 22 17:09:18 BST 2008 Duncan Coutts <duncan at haskell.org>
* Bump version number to 1.5.3
Mon Aug 25 14:23:52 BST 2008 Ian Lynagh <igloo at earth.li>
* Teach Cabal about the PackageImports extension
Mon Aug 25 17:42:58 BST 2008 Duncan Coutts <duncan at haskell.org>
* Rename --distpref to --distdir
It's more consistent with the other flag names for dirs.
Kept the old name too, but it's not shown by --help.
Sun Aug 24 21:37:44 BST 2008 Duncan Coutts <duncan at haskell.org>
* More changelog updates for 1.4.0.2
Sun Aug 24 21:39:23 BST 2008 Duncan Coutts <duncan at haskell.org>
* Note the per-user install path on Windows in the README
Tue Aug 26 01:32:40 BST 2008 Duncan Coutts <duncan at haskell.org>
* Separate out and export installDirsOptions
The InstallDirs is a separate type so it's handy to have the
command line and config file options for it available
separately. It'd be useful in cabal-install for one thing.
Tue Aug 26 01:55:02 BST 2008 Duncan Coutts <duncan at haskell.org>
* Ban package names that are not valid windows file names
At least for the purposes of distribution. So if you're on unix
then you can call your package 'LPT1' if you feel you must, but
you cannot distribute a package with this name.
Tue Aug 26 21:48:10 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add release date of 1.4.0.2
Wed Aug 27 18:01:05 BST 2008 Ian Lynagh <igloo at earth.li>
* Add support for manually en/disabled flags
The immediate use for these is so that, in haddock, we can require
ghc-paths normally, but in the GHC build we can manually turn off a flag
so that this dependency isn't needed. We can't use a normal flag, or
in the normal build Cabal would infer that the flag needs to be turned
off if ghc-paths isn't available.
Thu Aug 28 15:23:03 BST 2008 Ian Lynagh <igloo at earth.li>
* We need to pass the CPP options to haddock 2
Thu Aug 28 15:24:24 BST 2008 Ian Lynagh <igloo at earth.li>
* Allow passing haddock's location and options to "Setup haddock"
Thu Aug 28 16:55:54 BST 2008 Ian Lynagh <igloo at earth.li>
* In wrappers, $executablename needs to expand to something with DESTDIR
The installed wrapper needs to call the executable in its final place,
not inside the DESTDIR where we are constructing a package.
Mon Sep 1 15:58:43 BST 2008 Simon Marlow <marlowsd at gmail.com>
* Haddock 2: #include <cabal_macros.h>
Sun Aug 31 23:04:18 BST 2008 Duncan Coutts <duncan at haskell.org>
* Bump the version number to 1.5.4
due to the PackageSet/Index api changes
Tue Sep 2 18:03:48 BST 2008 Ian Lynagh <igloo at earth.li>
* Update CPP-Options in Cabal.cabal to define CABAL_VERSION=1,5,4
It was still defining CABAL_VERSION=1,5,3
Wed Aug 27 09:23:49 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add checkPackageFileNames function to check portability of file names
Windows has restrictions on names of files and portable
tar archives have some weird length restrictions too.
Not yet used but should be used in sdist and hackage.
Sat Aug 30 14:02:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* Merge PackageSet and PackageIndex
Have just a single module that provides both the case sensitive and
insensitive operations. Turns out we hardly use the case insensitive
operations, and the places where we do are not performance sensitive
at all. So we use the PackageSet implementation which stores the
packages case sensitively and tack on the case insensitive operations
but with linear time implementations rather than log time. For the
merged module/type name use PackageIndex because that is what older
released versions exported, so less needless client breakage.
Sun Aug 31 22:25:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't redundantly pass programArgs in when calling programs.
That's already done by the Program framework so we were passing
those extra args in twice.
Sun Aug 31 22:48:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add some more handy Program utils
Mostly for dealing with lists of programs so that client
code doesn't need quite to much flip foldl' (flip thing)
Add specific helpers for reconfiguring programs and
restoring a full ProgramConfiguration after usign read.
Sun Aug 31 22:50:54 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use the new Program utils to simplify code in Configure
Sun Aug 31 22:51:35 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add flags to build command for specifying program paths
So we're going to allow --with-PROG for the build and haddock
commands, in addition to the existing --PROG-options= flags.
Sun Aug 31 22:53:25 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update the haddock command help text
The haddock command now supports --haddock-options=
Sun Aug 31 22:55:51 BST 2008 Duncan Coutts <duncan at haskell.org>
* Simplify the handling of --with-prog= in build/haddock commands.
We allow extra rgs and the location of programs to be given to
the build and haddock commands, not just at configure time. The
code to do this is now simpler and more general. This should not
be the default use mode however since it involves configuring
the programs each time where as doing it at configure time allows
it to be done once and saved. Further, specifying a different
version of the program at build time than at configure time is
likely to fail, especially for the compiler programs. Changing
the compiler really requires reconfiguring.
Sun Aug 31 23:01:45 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use a hopefully more robust method of determining the gcc version
Sun Aug 31 23:17:56 BST 2008 Duncan Coutts <duncan at haskell.org>
* Display the right message for sdist --snapshot
Tue Sep 2 10:28:02 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* package concurrent not available in nhc98
Tue Sep 2 18:14:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add more detail to the -Werror and -fvia-C checks
Also, ban rather than just warn about the -optl-Wl,-s hack
now that Cabal strips exes by default.
Wed Sep 3 13:38:13 BST 2008 Ian Lynagh <igloo at earth.li>
* Pass the interfaces for the transitive set of dependencies to haddock
Otherwise we don't get links to types from packages that we don't
directly depend on.
Wed Sep 3 23:36:08 BST 2008 Ian Lynagh <igloo at earth.li>
* follow library changes
Wed Sep 3 23:01:16 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix cabal_macros.h for package names containing '-'
As with the Paths_pkgname module, we map '-' to '_' as the
former is not a valid character in cpp macro identifiers.
Fixes cpp redefinition warnings. First reported by gwern.
Fri Sep 5 00:31:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix to compile with base-1.0:Data.List
which did not have isInfixOf
Getting and merging the following patches:
Wed May 14 15:47:28 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add in {-# OPTIONS #-} for the benefit of ghc-6.4.x
Which do not grok OPTIONS_GHC or LANGUAGE pragmas
Wed May 14 01:39:19 BST 2008 Ian Lynagh <igloo at earth.li>
UNDO: Define bracketOnError in compat; fixes the build for GHC 6.4
Wed May 14 16:32:06 BST 2008 Duncan Coutts <duncan at haskell.org>
* Eliminate use of bracketOnError, use handle instead
It's actually more appropriate anyway.
This means we don't need any Distribution.Compat.Exception.
Wed May 14 16:33:43 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove redundant Char test in parseBuildToolName
It was made redundant after the isSymbol test was removed.
Spotted by Igloo.
Wed May 14 16:41:04 BST 2008 Duncan Coutts <duncan at haskell.org>
* Check invariant on every construction and elide on lookups
Wed May 14 17:29:54 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add PackageIndex.lookupPackageName and extra deletion functions
Wed May 14 18:18:22 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove Distribution.Compat.Exception from other-modules
Fri May 9 10:44:55 BST 2008 Duncan Coutts <duncan at haskell.org>
* Do not display version tags
Tue May 13 10:43:01 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove unused import
Mon May 19 18:38:08 BST 2008 Duncan Coutts <duncan at haskell.org>
* Allow the bindir, libdir and libexec dir to be specified via env vars too
Same as for the datadir. Eg for package Foo, you'd use
Foo_bindir=... Foo_datadir=... Foo_libexecdir=... ./Foo
The next step would be generating a wrapper script that allows
running the program inplace. It should also work for a library.
Fri May 9 14:04:48 BST 2008 Bertram Felgenhauer <int-e at gmx.de>
* add data-dir field to package config
Cabal will look for data files to install relative to the directory given
in the data-dir field, allowing package authors to better structure their
source tree. There's no behavioural change by default.
Fri May 9 14:13:06 BST 2008 Bertram Felgenhauer <int-e at gmx.de>
* document data-dir field
Sun May 11 14:00:35 BST 2008 Ian Lynagh <igloo at earth.li>
UNDO: Remove gnerated file (doc/fptools.css)
Tue May 20 20:17:00 BST 2008 Duncan Coutts <duncan at haskell.org>
* Rename doc/fptools.css to avoid the ghc build system cleaning it
The user guide gets built in two different ways. There's a target
in Cabal's the top level Makefile and there is also the stuff that
the ghc build system uses. The ghc build system expects to copy in
doc/fptools.css and then delete it again on make clean. We want a
persistent copy so that we can make the docs when we've just got a
standalone Cabal build tree, so that's now kept as doc/Cabal.css.
Wed May 21 16:34:20 BST 2008 Duncan Coutts <duncan at haskell.org>
* Write out Bool config values correctly
Used by cabal-install when writing the default ~/.cabal/config file.
Previously it was using show for type Maybe Bool and writing out
"Just True" when of course it should just be "True".
Thu May 29 10:22:44 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add notThisVersion :: Version -> VersionRange
Opposite of ThisVersion, it means /= x.y but is actually implemented
as > x.y || < x.y as we do not have not or not equal as primitives.
Thu May 29 10:26:07 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add thisPackageVersion and notThisPackageVersion
Util functions for makeing dependencies from package identifiers.
thisPackageVersion (foo-1.0) = foo ==1.0
notThisPackageVersion (foo-1.0) = foo /=1.0
The latter is handy as a constraint in dependency resolution.
Thu May 29 10:53:46 BST 2008 Duncan Coutts <duncan at haskell.org>
* Change the PackageIndex invariant so the buckets are ordered
Each bucket holds packages with the same name case-insensitively.
Previously each buckets was internally unordered. Now they're
ordered by the full package id which means first by package name
case-sensitively and then by version.
Thu May 29 11:42:14 BST 2008 Duncan Coutts <duncan at haskell.org>
* Put spaces round || and && when displaying version range expressions
This makes them much more readable.
Thu May 29 11:47:14 BST 2008 Duncan Coutts <duncan at haskell.org>
* Bump version due to api changes
Tue May 27 14:58:30 BST 2008 Duncan Coutts <duncan at haskell.org>
* Note compatability issue in deprecation message for defaultUserHooks
Mon Jun 9 19:58:40 BST 2008 Duncan Coutts <duncan at haskell.org>
* Install license file into the right place
even if the license file was kept in a subdir of the src tree.
The canonical example was: license-file: debian/copyright
It was being installed into $docdir/debian/ and failing since
that dir did not exist. It's now installed into just $docdir.
Mon Jun 9 20:02:51 BST 2008 Duncan Coutts <duncan at haskell.org>
* Install haddock interface only when generated
This is actually Andrea Rossato's patch but it didn't merge
cleanly due to more recent changes. Fixes ticket #250.
Mon Jun 9 20:05:55 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fail better when using haddock 2.x and the --hoogle flag
Fixes ticket #249
Tue Jun 10 00:36:09 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix pre-processing for haddock and executables
Now look in the right place to find the pre-processed source
files belongign to executables. Fixes ticket #252.
Tue Jun 10 19:01:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add withFileContents and withUTF8FileContents
Safe block scoped reading of files.
These guarantee that the file gets closed.
Tue Jun 10 19:02:17 BST 2008 Duncan Coutts <duncan at haskell.org>
* Close the package.conf file after reading it
We had a bug on windows where we open and read ghc's package.conf
database but because we did not consume the final newline we did
not close the file. Then when we called ghc-pkg to register a
package it failed because it could not rename the open file.
Tue Jun 10 19:05:28 BST 2008 Duncan Coutts <duncan at haskell.org>
* Switch to scoped file reading rather than lazy readFile
Tue Jun 10 19:07:27 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use writeFileAtomic everywhere instead of writeFile
Tue Jun 10 19:09:47 BST 2008 Duncan Coutts <duncan at haskell.org>
* Switch the hugs code to safe file reading and writing
Thu Jun 12 10:18:10 BST 2008 Duncan Coutts <duncan at haskell.org>
* Filter out the Paths_pkgname file in sdist
Fixes ticket #187 finally (I hope).
Thu Jun 12 10:24:25 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix the register --gen-pkg-config flag
When specified without any file name it is supposed to use
a default file name rather than be ignored completely.
Thu Jun 12 10:28:55 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use the standard autogenModulesDir rather than a local copy
Thu Jun 12 10:29:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Lift the restriction that libraries must have exposed-modules
This allows libs that have only private modules or C code. This
might be used to make libs that have non-exposed modules and only
export C APIs. It could also be used to make packages that consist
only of C code. That might be useful for bindings where it may
make sense to split the C and Haskell code into separate packages.
Thu Jun 12 16:43:09 BST 2008 Duncan Coutts <duncan at haskell.org>
* base-1.0 does not have Data.Map.alter so use insertWith instead
Thu Jun 12 16:44:44 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update copyright and authors list in the .cabal file
Thu Jun 12 16:46:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update the release notes
Thu Jun 12 17:29:06 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update the README and convert it to markdown syntax
Thu Jun 12 17:41:44 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add the 1.2.4.0 release to the changelog
Thu Jun 12 17:42:42 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add the 1.4.0.0 release to the changelog
Thu Jun 12 18:49:58 BST 2008 Duncan Coutts <duncan at haskell.org>
* Put upper bounds on all the build-depends
Thu Jun 12 20:03:17 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move the mkGHCMakefile.sh out of the root dir
Having it there confuses people.
They think they have to run it as part of the install process.
Thu Jun 12 20:05:58 BST 2008 Duncan Coutts <duncan at haskell.org>
* Include the readme and the changelog in the tarball
Sat Jun 14 17:07:07 BST 2008 Ross Paterson <ross at soi.city.ac.uk>
* force results inside withHaskellFile
withUTF8FileContents now closes the file, so we need to force what we're
computing from the contents before it's gone.
Mon Jun 16 18:15:05 BST 2008 Duncan Coutts <duncan at haskell.org>
* construct InstalledPackageInfo from scratch rather than by overriding
It means we catch any fields that get added. As it happens we were
missing a field, though its value is supposed to be just [] which is
the same value as we got from the default emptyInstalledPackageInfo.
Mon Jun 16 18:54:46 BST 2008 Duncan Coutts <duncan at haskell.org>
* Makefile tweak, setup depends on Setup.hs
Tue Jun 17 14:04:34 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update changelog for 1.4.0.1
Tue Jun 17 14:38:11 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix css location in generation of user guide
Sat Jun 14 00:03:52 BST 2008 Duncan Coutts <duncan at haskell.org>
* '.' should not always be in hs-source dirs
We changed the parsing of list fields in the .cabal file so that it
adds to the current value rather than replacing it. This allows you
to put multiple entries for a list field and they all get
concatenated. However that means that the '.' in the hsSourceDirs of
emptyBuildInfo is always added to and not replaced like we did
previously. That's not what we want in this case. We want to use '.'
for hsSourceDirs *only* if hsSourceDirs is otherwise null. As it
happens, due to the way the configurations code works, we're already
filling in the default if it'd otherwise be null so we do not need
'.' in the emptyBuildInfo at all.
Fri Jun 13 21:54:45 BST 2008 Duncan Coutts <duncan at haskell.org>
* haddock-2.2 and later do now support the --hoogle flag
Thu Jun 19 18:50:06 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add version wildcard syntax
build-depends: foo ~1.2.*
means:
build-depends: foo >=1.2 && <1.3
It's also valid everywhere else version ranges are used.
Sat Jun 14 01:16:54 BST 2008 Duncan Coutts <duncan at haskell.org>
* No more need for the distinction between null and emptyBuildInfo
Now that we have removed the hsSourceDirs = [currentDir] default
from emptyBuildInfo it is now equal to nullBuildInfo.
Sat Jun 14 01:29:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add PackageName as a newtype
Sat Jun 14 01:37:05 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add PackageSet, like PackageIndex but case sensitive
Actually it turns out that we don't need case insensitivity in many
cases, mosty just for simple lookups in the UI. For everything else
the ordinary Ord instance is much simpler. The fact that listing the
contents of a PackageIndex doesn't come out in Ord order actually
causes real problems in cabal-install and necessitates re-sorting.
So we should move to using PackageSet in most cases and just leave
the search and lookup operations in PackageIndex.
Thu Jun 19 23:09:40 BST 2008 Duncan Coutts <duncan at haskell.org>
* Include trailing newline in hscolour command description
Thu Jun 19 23:22:58 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use conservative render style for display
Fri Jun 27 19:20:13 BST 2008 Ian Lynagh <igloo at earth.li>
* Update .darcs-boring
Sun Jun 29 12:42:39 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix a haddock typo
Sun Jun 29 12:43:42 BST 2008 Ian Lynagh <igloo at earth.li>
* haddock typo
Thu Jun 26 18:14:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add simple file name globbing (*) to data-files and extra-source-files
Sat Jun 21 02:37:27 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add compat InstalledPackageInfo types for older GHCs
We need these types for their Read instances so that we
can still read older GHCs package db files when we make
changes to the current InstalledPackageInfo type, or the
types contained in it, like PackageIdentifier or License.
Thu Jun 26 00:20:51 BST 2008 Duncan Coutts <duncan at haskell.org>
* Tweaks to the readme, hopefully will reduce confusion
Thu Jun 26 20:29:39 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add ModuleName as a new type instead of using String everywhere
Thu Jun 26 20:52:04 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove a couple old deprecated empty modules
Thu Jun 26 21:09:33 BST 2008 Duncan Coutts <duncan at haskell.org>
* Whitespace changes, convert tabs to spaces
Sat Jun 28 18:25:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update module headers
Use cabal-devel at haskell.org as the maintainer in most cases except for
a few which were pre-existing modules copied from elsewhere or modules
like L.H.Extension which really belong to libraries at haskell.org
Remove the useless stability module. We have more detailed information
on stability elsewhere (in the version number and user guide).
Add more top level module documentation, taken from the source guide.
Sat Jun 28 18:30:10 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove the SetupWrapper module
It's not used in Cabal itself and while cabal-install used
it previously, it now has its own extended implementation.
Sun Jun 29 17:49:39 BST 2008 Ian Lynagh <igloo at earth.li>
* Allow installing executables in-place, and using shell script wrappers
GHC-only currently.
Thu Jul 3 01:11:51 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix the build with GHC 6.4.2: Data.Map.alter doesn't exist
Thu Jul 3 01:12:16 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix using specified package databases
If we are using a specified package database, we need to tell GHC what
it is when building
Thu Jul 3 16:47:14 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix haddocking (with old haddocks?)
Fri Jul 4 15:05:41 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* massage a pattern-with-context around nhc98's typechecker
Fri Jul 4 15:06:13 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* help nhc98's import overlap resolver
Sat Jul 5 11:50:48 BST 2008 Ross Paterson <ross at soi.city.ac.uk>
* fix #if __GLASGOW_HASKELL__ test
The problem is that
#if __GLASGOW_HASKELL__ < NNN
is also true for non-GHC. It should be
#if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ < NNN
Thu Jul 10 16:46:00 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove the need for a compat Data.Map module
Stop using Map.alter, use the same solution as the PackageIndex module.
Thu Jul 10 19:14:37 BST 2008 Duncan Coutts <duncan at haskell.org>
* Correct the order of args given by --PROG-options
They were getting reversed. Problem located by Igloo.
Fri Jul 11 00:14:15 BST 2008 Ian Lynagh <igloo at earth.li>
* In Makefile.in, put all the rules that mentions srcdir together
Fri Jul 11 00:15:19 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix some whitespace in Makefile.in
Fri Jul 11 01:07:26 BST 2008 Ian Lynagh <igloo at earth.li>
* Teach "Setup makefile" how to cope with multiple hs-source-dirs
Fri Jul 11 01:08:26 BST 2008 Ian Lynagh <igloo at earth.li>
* Add a hack to copy .hs-boot files into dist/...
When a preprocessor generates a .hs file we need to put the .hs-boot
file next to it so that GHC can find it.
Sat Jul 12 13:19:16 BST 2008 Ian Lynagh <igloo at earth.li>
* If install is given a distPref, pass it on to copy and register
Sat Jul 12 18:38:51 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix the "Setup makefile" rules for C files
Sat Jul 12 18:39:34 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix installing datafiles
If datadir is foo and the datafile is bar then we should install it to
$datadir/bar, not $datadir/foo/bar.
Fri Jul 11 15:20:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Simplify ghc version test slightly
Fri Jul 11 17:01:38 BST 2008 Duncan Coutts <duncan at haskell.org>
* derive Eq for ConfiguredProgram
a request from Saizan
Sun Jul 13 12:05:48 BST 2008 Ian Lynagh <igloo at earth.li>
* If we are using ghc as hsc2hs's cc, then tell it where package.conf is
if we have been told to use a specific one with --package-db
Sun Jul 13 13:39:58 BST 2008 Ian Lynagh <igloo at earth.li>
* Pass -package-conf foo when using GHC as CC
Tue Jul 15 14:24:29 BST 2008 Ian Lynagh <igloo at earth.li>
* Put GHC's programArgs in GHC_OPTS when making a Makefile
Sun Jul 20 20:48:01 BST 2008 Ian Lynagh <igloo at earth.li>
* Generate expanded makefile rules directly, rather than using $(eval ...)
We used to do this with $(eval ...) and $(call ...) in the
Makefile, but make 3.79.1 (which is what comes with msys)
doesn't understand $(eval ...), so now we just stick the
expanded loop directly into the Makefile we generate.
Sun Jul 20 21:46:09 BST 2008 Duncan Coutts <duncan at haskell.org>
* Pass -x to strip on OSX
Sun Jul 20 23:08:51 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix warnings and add a comment explaining why we pass -x to strip on OS X
Tue Jul 22 13:57:59 BST 2008 Ian Lynagh <igloo at earth.li>
* And exitcode of 2 from ghc-pkg when doing describe '*' means no packages
This is a bit of a kludge around GHC's #2201, until Cabal is updated to
use ghc-pkg dump.
Tue Jul 22 17:33:46 BST 2008 Ian Lynagh <igloo at earth.li>
* If we have GHC >= 6.9 then use the new -optdep replacement flags
Sun Jul 20 20:49:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Convert from PackageIndex to PackageSet
Turns out the feature to do case-insensitive lookups was only
needed in cabal-install (and only in one little part) and
elsewhere it causes problems. So use PackageSet instead.
Sun Jul 20 23:17:02 BST 2008 Duncan Coutts <duncan at haskell.org>
* Change some PackageSet functions to return the package rather than the id
dependencyGraph and reverseDependencyClosure now return the
full package rather than just the PackageIdentifier
Sun Jul 20 23:37:31 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add PackageSet.topologicalOrder and reverseTopologicalOrder
with type :: PackageFixedDeps pkg => PackageSet pkg -> [pkg]
Mon Jul 21 00:28:18 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add gccProgram
on Windows we have to find ghc's private copy of gcc.exe
Mon Jul 21 00:37:59 BST 2008 Duncan Coutts <duncan at haskell.org>
* Always use gcc as cc with hsc2hs
Lookup what flags to use from the package index. Previously this
was done by calling ghc as cc and passing -package flags to ghc.
ghc would then lookup what extra flags to pass to gcc. We now do
that ourselves directly and it's a good deal simpler and it's
portable to the other haskell implementations. This is only a
first go, the flags may not all be exactly right. Needs testing.
Mon Jul 21 00:40:19 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't need the complex code in detecting hsc2hs anymore
Since we do not need to know if hsc2hs uses ghc or gcc as cc
by default since in either case we now tell it to use gcc.
Wed Jul 23 11:18:48 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix the location of gcc.exe in a Windows GHC installation
Wed Jul 23 12:22:32 BST 2008 Ian Lynagh <igloo at earth.li>
* Substitute for $topdir when we read GHC's InstalledPackageInfo's
Thu Jul 24 17:57:53 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* help nhc98's module disambiguator a bit
Mon Jul 28 16:36:29 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* more import qualification to help nhc98
Mon Jul 28 17:45:06 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* disambiguate Control.Exception.catch for nhc98
Tue Jul 29 15:50:40 BST 2008 Duncan Coutts <duncan at haskell.org>
* Pass -no-user-package-conf to ghc when not using UserPackageDB
Should eliminate the corner case where we're doing a global
install but the user package db contains the exact same
version as in the global package db. Perhaps we should warn
in that case anyway since it's likely to go wrong later.
Tue Jul 29 16:16:12 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use "pkg == 1.2.*" as the version wildcard syntax
Rather than "pkg ~ 1.2.*". This seemed to be the consensus.
The syntax "pkg == 1.2.*" means "pkg >= 1.2 && < 1.3" and it
is to encourage people to put upper bounds on api versions.
Tue Jul 29 16:19:52 BST 2008 Duncan Coutts <duncan at haskell.org>
* Allow $arch and $os in install paths.
Fixes ticket #312. For example a user could use:
cabal configure --libsubdir="$pkgid/$compiler/$arch"
if they wanted to have packages for multiple architectures
co-exist in the same filestore area.
Tue Jul 29 16:26:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix the semantics of the simple file globbing to be sane
I realised when I started to document it that the behaviour
was not terribly consistent or sensible. The meaning now is:
The limitation is that * wildcards are only allowed in
place of the file name, not in the directory name or
file extension. In particular, wildcards do not include
directories contents recursively. Furthermore, if a
wildcard is used it must be used with an extension, so
"data-files: data/*" is not allowed. When matching a
wildcard plus extension, a file's full extension must
match exactly, so "*.gz" matches "foo.gz" but not
"foo.tar.gz".
The reason for providing only a very limited form of wildcard
is to concisely express the common case of a large number of
related files of the same file type without making it too easy
to accidentally include unwanted files.
Tue Jul 29 16:40:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* File globs must match at least one file or it's an error.
Tue Jul 29 16:56:54 BST 2008 Duncan Coutts <duncan at haskell.org>
* Document the $os and $arch install path vars
Tue Jul 29 16:59:20 BST 2008 Duncan Coutts <duncan at haskell.org>
* Document the wildcard behaviour in data-files and extra-source-files fields
Tue Jul 29 17:03:08 BST 2008 Duncan Coutts <duncan at haskell.org>
* Document more clearly that every modules must be listed
in one of the fields exposed-modules, other-modules or main-is
Add an extra note to the section on the Paths_pkgname module
as the fact that it's automatically generated confuses people.
Tue Jul 29 17:08:08 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move the docs for the buildable field to a better place.
It doesn't need to be right up near the top.
Tue Jul 29 17:09:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove references to cabal-setup from the documentation
Change to runhaskell Setup or cabal-install as appropriate.
Tue Jul 29 17:20:24 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move docs for build-depends into the build information section
Since it is shared between libs and exes. Extend the documentation
to describe the syntax of version constraints, including the new
version range syntax "build-depends: foo ==1.2.*".
Tue Jul 29 17:37:29 BST 2008 Ian Lynagh <igloo at earth.li>
* Tweak whitespace
Tue Jul 29 18:02:15 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix linking with hsc2hs on OS X
We don't tell hsc2hs to link the actual Haskell packages, so with GHC's
rts package we need to also filter out the -u flags.
Tue Jul 29 18:27:50 BST 2008 Ian Lynagh <igloo at earth.li>
* Tweak a test to not go via the pretty printer
Tue Jul 29 18:27:57 BST 2008 Ian Lynagh <igloo at earth.li>
* Pass the right -F and --framework flags when running hsc2hs on OS X
Tue Jul 29 18:05:56 BST 2008 Duncan Coutts <duncan at haskell.org>
* Do not use ',' as a list separator for the cpp/cc/ld-options fields
It breaks for some options like "ld-options: -Wl,-z,now"
No existing .cabal files on hackage were using ',' as a
list separator so this should not break anything.
Tue Jul 29 20:18:55 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix uses of verbosity > deafening to use >=
The maximum verbosity value is deafening so >= the correct test.
This primarily affected haddock.
Tue Jul 29 20:57:14 BST 2008 Duncan Coutts <duncan at haskell.org>
* Do the ghc rts ldOptions hack in a slightly more hygenic way
Wed Jul 30 17:34:32 BST 2008 Duncan Coutts <duncan at haskell.org>
* Rearrange the Monoid instances for Library, Executable, BuildInfo
No functional change, just moving code about.
We now define the Monoid methods directly rather than in
terms of emptyLibrary, unionLibrary etc.
Wed Jul 30 17:45:16 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add an "exposed" field to the .cabal file library section
It's a bool flag that says if by default the library should
be registered with the compiler as exposed/unhidden (for
compilers which have such a concept, ie ghc). You might want
to do this for packages which would otherwise pollute the
module namespace or clash with other common packages.
It should be very rarely used. The only current examples we
know of are the ghc api package and the dph packages.
Wed Jul 30 17:50:31 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove unused inDir util function
Wed Jul 30 19:29:57 BST 2008 Duncan Coutts <duncan at haskell.org>
* Remove unused imports
Wed Jul 30 19:39:10 BST 2008 Ian Lynagh <igloo at earth.li>
* Make Cabal compatible with extensible exceptions
The code is now also more correct, e.g. when we are ignoring IO exceptions
while trying to delete something, we don't also ignore timeout exceptions.
Wed Jul 30 20:45:26 BST 2008 Ian Lynagh <igloo at earth.li>
* Remove unused imports
Thu Jul 31 20:48:41 BST 2008 Ian Lynagh <igloo at earth.li>
* Fix the Windows build
Sun Aug 3 21:12:53 BST 2008 Ian Lynagh <igloo at earth.li>
* Windows fixes
Wed Aug 6 14:03:09 BST 2008 Simon Marlow <marlowsd at gmail.com>
* setup makefile: put the source-dir suffix rules after the distdir suffix rules
This matches the behaviour of 'setup build' works, and is robust to
people accidentally having old preprocessed sources lying around in the
source dir.
Sat Aug 9 22:11:48 BST 2008 Ian Lynagh <igloo at earth.li>
* When running "Setup makefile", put "default: all" at the top of the Makefile
This make "make" work even if Makefile.local contains any targets.
Sun Aug 10 01:51:35 BST 2008 Ian Lynagh <igloo at earth.li>
* Make binary-dist do nothing in doc/Makefile, for now
Wed Aug 6 14:05:12 BST 2008 Simon Marlow <marlowsd at gmail.com>
* allow Cabal to use base-4
Mon Aug 11 18:30:16 BST 2008 Simon Marlow <marlowsd at gmail.com>
* Add auto-generated CPP macros for package version testing
Now when using CPP you get
MIN_VERSION_<package>(A,B,C)
for each <package> in build-depends, which is true if the version of
<package> in use is >= A.B.C, using the normal ordering on version
numbers.
This is done by auto-generating a header file
dist/build/autogen/cabal_macros.h, and passing a -include flag when
running CPP.
Thu Jul 31 17:28:07 BST 2008 Duncan Coutts <duncan at haskell.org>
* Document the "exposed" .cabal file field
Sat Aug 2 01:20:45 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix instance Monoid ConfigFlags for configStripExes
Mon Aug 4 15:38:17 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't try to install libHSfoo.a if the lib had no object files
To allow meta-packages.
Mon Aug 4 16:58:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Adjust registration to allow packages with no modules or objects
So ghc-pkg does not complain about missing files and dirs.
Mon Aug 4 20:03:24 BST 2008 Thomas Schilling <nominolo at googlemail.com>
* Document and refactor 'parsePackageDescription'.
Hopefully this makes this function more understandable and easier to
modify.
Wed Aug 6 01:13:52 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move parseFreeText into ParseUtils and use it more widely
Wed Aug 6 01:15:47 BST 2008 Duncan Coutts <duncan at haskell.org>
* Generalise checkPackageFiles to any monad, not just IO
This is to let us use the same checks for virtual or
in-memory file systems, like tarball contents.
Wed Aug 6 13:13:15 BST 2008 Duncan Coutts <duncan at haskell.org>
* Tidy up the ppFields function and uses
Put the arguments in a more sensible order:
ppFields :: [FieldDescr a] -> a -> Doc
and make the implementation clearer.
clean up the use of it in the PackageDescription.Parse module
Wed Aug 6 13:26:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add parsse utils for simple flat formats.
Should help to simplify the InstalledPackageInfo parser
and also for similar formats in cabal-install.
Wed Aug 6 13:28:07 BST 2008 Duncan Coutts <duncan at haskell.org>
* Simplify InstalledPackageInfo parser and pretty printer
Using the new utils in ParseUtils.
Thu Aug 7 20:03:07 BST 2008 David Waern
* Use 'ghc-pkg dump' instead of 'ghc-pkg describe *'
Does not implement lazy parsing of the output of ghc-pkg dump, so this
is only a partial fix of #311.
For more information about why we want to use ghc-pkg dump, see GHC
ticket #2201.
Tue Aug 12 17:07:31 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't use tab characters in the generated Paths module
Tue Aug 12 17:09:41 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add data Platform = Platform Arch OS
Since we tend to pass them around together rather a lot.
Also add a Text instance with a format like "i386-linux"
Tue Aug 12 18:10:06 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add alias type PackageId = PackageIdentifier
Tue Aug 12 18:12:07 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix the config-file field name of the install command's packagedb option
Tue Aug 12 22:13:49 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix warnings in Windows Paths_pkgname module
Tue Aug 12 22:22:36 BST 2008 Duncan Coutts <duncan at haskell.org>
* Flush stdout when printing debugging messages
Tue Aug 12 23:04:15 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't warn about missing strip.exe on Windows
We don't expect Windows systems to have the strip program anyway.
Wed Aug 13 14:21:12 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* fix imports for nhc98
Wed Aug 13 20:20:17 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add util rewriteFile :: FilePath -> String -> IO ()
Write a file but only if it would have new content.
If we would be writing the same as the existing content
then leave the file as is so that we do not update the
file's modification time.
Wed Aug 13 20:32:45 BST 2008 Duncan Coutts <duncan at haskell.org>
* Move Paths_pkgname and cabal_macros.h generation into their own modules
Wed Aug 13 22:30:35 BST 2008 Ian Lynagh <igloo at earth.li>
* Catch exit exceptions as well as IO exceptions after running programs
We need to catch IO exceptions for things like "couldn't find the program",
but we also need to catch exit exceptions as Cabal uses them to signal
what the program returned.
Thu Aug 21 14:25:51 BST 2008 Simon Marlow <marlowsd at gmail.com>
* Don't propagate cc-options to the InstalledPackageInfo
cc-options is for options to be passed to C compilations in the
current package. If we propagate those options to the
InstalledPackageInfo, they get passed to C compilations in any package
that depends on this one, which could be disastrous. I've seen
cc-options like these:
cc-options: -optc-std=c99
cc-options: -D_FILE_OFFSET_BITS=64
Cc-options: -Wall
these are all clearly intended to be local, but are in fact currently
propagated to all dependent packages.
Thu Aug 21 14:34:21 BST 2008 Simon Marlow <marlowsd at gmail.com>
* Don't pass cc-options to Haskell compilations
This has no effect with GHC 6.9, and with earlier GHC's it was a
misuse of cc-options.
Thu Aug 14 19:25:58 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* unbreak for non-GHC
Wed Aug 13 13:49:57 BST 2008 Duncan Coutts <duncan at haskell.org>
* Minor info and help message improvements
Mon Aug 18 20:49:51 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix spelling of compatibility
At request of gwern who found that it was driving him nuts.
Sun Aug 24 14:51:45 BST 2008 Ian Lynagh <igloo at earth.li>
* We now depend on concurrent (split off from base)
Thu Aug 21 16:49:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix for #333, "Setup sdist --snapshot fails"
Credit to Spencer Janssen. This is just a slight alternative
to the fix he proposed. It simplifies prepareSnapshotTree.
Sat Aug 2 14:54:52 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update changelog
Fri Aug 22 17:08:28 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update changelog for recent 1.5.x changes
Fri Aug 22 17:09:18 BST 2008 Duncan Coutts <duncan at haskell.org>
* Bump version number to 1.5.3
Mon Aug 25 14:23:52 BST 2008 Ian Lynagh <igloo at earth.li>
* Teach Cabal about the PackageImports extension
Mon Aug 25 17:42:58 BST 2008 Duncan Coutts <duncan at haskell.org>
* Rename --distpref to --distdir
It's more consistent with the other flag names for dirs.
Kept the old name too, but it's not shown by --help.
Sun Aug 24 21:37:44 BST 2008 Duncan Coutts <duncan at haskell.org>
* More changelog updates for 1.4.0.2
Sun Aug 24 21:39:23 BST 2008 Duncan Coutts <duncan at haskell.org>
* Note the per-user install path on Windows in the README
Tue Aug 26 01:32:40 BST 2008 Duncan Coutts <duncan at haskell.org>
* Separate out and export installDirsOptions
The InstallDirs is a separate type so it's handy to have the
command line and config file options for it available
separately. It'd be useful in cabal-install for one thing.
Tue Aug 26 01:55:02 BST 2008 Duncan Coutts <duncan at haskell.org>
* Ban package names that are not valid windows file names
At least for the purposes of distribution. So if you're on unix
then you can call your package 'LPT1' if you feel you must, but
you cannot distribute a package with this name.
Tue Aug 26 21:48:10 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add release date of 1.4.0.2
Wed Aug 27 18:01:05 BST 2008 Ian Lynagh <igloo at earth.li>
* Add support for manually en/disabled flags
The immediate use for these is so that, in haddock, we can require
ghc-paths normally, but in the GHC build we can manually turn off a flag
so that this dependency isn't needed. We can't use a normal flag, or
in the normal build Cabal would infer that the flag needs to be turned
off if ghc-paths isn't available.
Thu Aug 28 15:23:03 BST 2008 Ian Lynagh <igloo at earth.li>
* We need to pass the CPP options to haddock 2
Thu Aug 28 15:24:24 BST 2008 Ian Lynagh <igloo at earth.li>
* Allow passing haddock's location and options to "Setup haddock"
Thu Aug 28 16:55:54 BST 2008 Ian Lynagh <igloo at earth.li>
* In wrappers, $executablename needs to expand to something with DESTDIR
The installed wrapper needs to call the executable in its final place,
not inside the DESTDIR where we are constructing a package.
Mon Sep 1 15:58:43 BST 2008 Simon Marlow <marlowsd at gmail.com>
* Haddock 2: #include <cabal_macros.h>
Sun Aug 31 23:04:18 BST 2008 Duncan Coutts <duncan at haskell.org>
* Bump the version number to 1.5.4
due to the PackageSet/Index api changes
Tue Sep 2 18:03:48 BST 2008 Ian Lynagh <igloo at earth.li>
* Update CPP-Options in Cabal.cabal to define CABAL_VERSION=1,5,4
It was still defining CABAL_VERSION=1,5,3
Wed Aug 27 09:23:49 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add checkPackageFileNames function to check portability of file names
Windows has restrictions on names of files and portable
tar archives have some weird length restrictions too.
Not yet used but should be used in sdist and hackage.
Sat Aug 30 14:02:50 BST 2008 Duncan Coutts <duncan at haskell.org>
* Merge PackageSet and PackageIndex
Have just a single module that provides both the case sensitive and
insensitive operations. Turns out we hardly use the case insensitive
operations, and the places where we do are not performance sensitive
at all. So we use the PackageSet implementation which stores the
packages case sensitively and tack on the case insensitive operations
but with linear time implementations rather than log time. For the
merged module/type name use PackageIndex because that is what older
released versions exported, so less needless client breakage.
Sun Aug 31 22:25:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Don't redundantly pass programArgs in when calling programs.
That's already done by the Program framework so we were passing
those extra args in twice.
Sun Aug 31 22:48:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add some more handy Program utils
Mostly for dealing with lists of programs so that client
code doesn't need quite to much flip foldl' (flip thing)
Add specific helpers for reconfiguring programs and
restoring a full ProgramConfiguration after usign read.
Sun Aug 31 22:50:54 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use the new Program utils to simplify code in Configure
Sun Aug 31 22:51:35 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add flags to build command for specifying program paths
So we're going to allow --with-PROG for the build and haddock
commands, in addition to the existing --PROG-options= flags.
Sun Aug 31 22:53:25 BST 2008 Duncan Coutts <duncan at haskell.org>
* Update the haddock command help text
The haddock command now supports --haddock-options=
Sun Aug 31 22:55:51 BST 2008 Duncan Coutts <duncan at haskell.org>
* Simplify the handling of --with-prog= in build/haddock commands.
We allow extra rgs and the location of programs to be given to
the build and haddock commands, not just at configure time. The
code to do this is now simpler and more general. This should not
be the default use mode however since it involves configuring
the programs each time where as doing it at configure time allows
it to be done once and saved. Further, specifying a different
version of the program at build time than at configure time is
likely to fail, especially for the compiler programs. Changing
the compiler really requires reconfiguring.
Sun Aug 31 23:01:45 BST 2008 Duncan Coutts <duncan at haskell.org>
* Use a hopefully more robust method of determining the gcc version
Sun Aug 31 23:17:56 BST 2008 Duncan Coutts <duncan at haskell.org>
* Display the right message for sdist --snapshot
Tue Sep 2 10:28:02 BST 2008 Malcolm.Wallace at cs.york.ac.uk
* package concurrent not available in nhc98
Tue Sep 2 18:14:13 BST 2008 Duncan Coutts <duncan at haskell.org>
* Add more detail to the -Werror and -fvia-C checks
Also, ban rather than just warn about the -optl-Wl,-s hack
now that Cabal strips exes by default.
Wed Sep 3 13:38:13 BST 2008 Ian Lynagh <igloo at earth.li>
* Pass the interfaces for the transitive set of dependencies to haddock
Otherwise we don't get links to types from packages that we don't
directly depend on.
Wed Sep 3 23:36:08 BST 2008 Ian Lynagh <igloo at earth.li>
* follow library changes
Wed Sep 3 23:01:16 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix cabal_macros.h for package names containing '-'
As with the Paths_pkgname module, we map '-' to '_' as the
former is not a valid character in cpp macro identifiers.
Fixes cpp redefinition warnings. First reported by gwern.
Fri Sep 5 00:31:26 BST 2008 Duncan Coutts <duncan at haskell.org>
* Fix to compile with base-1.0:Data.List
which did not have isInfixOf
diffing dir...
Merging them 64/197
----------
files: darcs-bug-trace.gz
messages: 5939
nosy: cvs-ghc, dagit, kowey, simonpj
status: unread
title: Darcs taking infinite time to merge patches from Cabal
__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue1065>
__________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: darcs-bug-trace.gz
Type: application/x-gzip
Size: 24611 bytes
Desc: not available
Url : http://lists.osuosl.org/pipermail/darcs-devel/attachments/20080908/2b8255bd/attachment-0001.bin
More information about the darcs-devel
mailing list