Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: haskell/cabal
...
head fork: haskell/cabal
This comparison is big! We’re only showing the most recent 250 commits
Commits on Apr 19, 2015
@freizl freizl Move SrcDirs following Main file generator. c01b5a6
Commits on Apr 20, 2015
@jtdaugherty jtdaugherty bootstrap.sh: fixes linker matching to avoid cases where tested linke…
…r names appear unexpectedly in compiler output (fixes #2542)

This fixes cases where strings like "ld" appear in compiler output on lines
that have nothing to do with the linker command invocation.
7709f1b
@23Skidoo 23Skidoo Merge pull request #2543 from GaloisInc/master
bootstrap.sh: fixes linker matching to avoid cases where tested linker names appear unexpectedly in compiler output (fixes #2542)
8a09d3e
Commits on Apr 22, 2015
@geoff-codes geoff-codes Rewrite linker check to avoid grepping "ld"s.
I was the one who introduced that bit, and it seems like well may have caused more trouble than it helped... so, sorry :(

Anyway, clang has since then grown the ability to `-print-prog-name`, so I've done away with all that grepping through -### stuff.
@creswick @23skidoo, could you see if this works for you?
fbfe6c9
@geoff-codes geoff-codes Add a missing warning guard. 17a25d2
@23Skidoo 23Skidoo Merge pull request #2550 from geoff-codes/patch-1
Rewrite linker check to avoid grepping "ld"s.
1dba5bd
Commits on Apr 23, 2015
@NathanHowell NathanHowell Add Functor, Foldable and Traversable instances to Condition 51585ae
@23Skidoo 23Skidoo Merge pull request #2551 from NathanHowell/traversable-condition
Add Functor, Foldable and Traversable instances to Condition
56b8a0f
@23Skidoo 23Skidoo Paths_ module: don't require base >= 4.
Fixes #994.
41b3c7b
Commits on Apr 24, 2015
@23Skidoo 23Skidoo Merge pull request #2552 from 23Skidoo/issue-994
Paths_ module: don't require base >= 4.
2b3a694
Commits on Apr 28, 2015
@23Skidoo 23Skidoo Revert "Revert "Print a more friendly message when http_proxy is down.""
This reverts commit c9a7735.
487f435
@23Skidoo 23Skidoo Wording. a4d55d6
@23Skidoo 23Skidoo Merge pull request #2560 from 23Skidoo/issue-1962
Print a more friendly message when http_proxy is down.
f2d01e5
@dcoutts dcoutts Force cabal upload to always use digest auth and never basic auth 3d1e7db
@23Skidoo 23Skidoo Implement a dummy 'uninstall' command.
As suggested by @sclv on reddit. See
#648 (comment)
8bfea3b
@byorgey byorgey Merge pull request #2483 from cdepillabout/cabal-install-create-main-hs
Make `cabal init` create Main.hs if it doesn't exist.
a3aa3db
Commits on Apr 29, 2015
@23Skidoo 23Skidoo Doc fix: 'cabal freeze PACKAGES' is not supported.
Fixes #2565.
c1d034b
@23Skidoo 23Skidoo Merge pull request #2567 from haskell/23Skidoo-patch-1
Doc fix: 'cabal freeze PACKAGES' is not supported.
104b38a
@23Skidoo 23Skidoo Merge pull request #2564 from 23Skidoo/uninstall-dummy
Implement a dummy 'uninstall' command.
1e208a8
@23Skidoo 23Skidoo Merge pull request #2541 from freizl/master
Move SrcDirs following Main file generator.
4fd43c1
Commits on May 01, 2015
@ezyang ezyang Document more functions in Paths_pkgname, fixes #715
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
b0c146a
@23Skidoo 23Skidoo Merge pull request #2570 from ezyang/cabal-715
Document more functions in Paths_pkgname, fixes #715
1201bc7
Commits on May 02, 2015
@23Skidoo 23Skidoo Merge pull request #2563 from dcoutts/master
Force cabal upload to always use digest auth and never basic auth
03ededf
@23Skidoo 23Skidoo -Wall police. b5f7285
@23Skidoo 23Skidoo -Wall police. 609f449
Commits on May 04, 2015
@bergmark bergmark Use PVP-compliant example when warning about missing base upper bound.
Refs hackage-server#253.
b503ba5
@23Skidoo 23Skidoo Merge pull request #2574 from bergmark/pvp-base-warning
Use PVP-compliant example when warning about missing base upper bound
725ec29
Commits on May 05, 2015
@23Skidoo 23Skidoo Implement offline mode for the 'install' command.
When in offline mode, 'cabal install' only installs packages from the local
tarball cache. Offline mode can be enabled with the '--offline' flag.

Fixes #2566.
993a008
@23Skidoo 23Skidoo Update changelog.
[ci skip]
54edd8f
Commits on May 13, 2015
@23Skidoo 23Skidoo Tweak message. 56378f1
Commits on May 14, 2015
@23Skidoo 23Skidoo Small simplifaction. 9904790
Commits on May 15, 2015
@dcoutts dcoutts Allow -Werror and similar when guarded by a manual flag
Improve the package description check for -Werror and similar flags so
that they are allowed so long as they're not enabled by default. We
check the conditions that they're guarded by to make sure they're always
false (given the default values of the manual flags). Also extend the
error messages to explain how to use these flags with conditionals.
cbfea2a
@dcoutts dcoutts Improve the -fhpc check warning message 5980710
@dcoutts dcoutts Make the -threaded flag check a build warning
The -threaded flag really makes no difference for libraries, it's a
link-time option only.
d11e2de
@dcoutts dcoutts -rtsopts and -with-rtsopts also have not effect in libraries f54fd96
@dcoutts dcoutts Fix warnings 4b0daa9
@dcoutts dcoutts Improve the -auto-all -fprof-auto warning message
And extend it to cover other similar variants. People often put it in to
help them profile *this* package, but it causes problems for profiling
other packages. The -fprof-auto-exported is arguably ok though.
fa9298c
@dcoutts dcoutts Extend ghc-options checks to ghc-prof-options
Currently there are no checks that need to be specific to one of them.
Both sets of options get used in distributed packages.
76561fb
@23Skidoo 23Skidoo Merge pull request #2594 from dcoutts/master
Improve a number of ghc-options checks
5aaad3a
@23Skidoo 23Skidoo Fix warnings. 3347edd
@dcoutts dcoutts Merge pull request #2578 from 23Skidoo/offline-mode
Implement offline mode for the 'install' command.
9e10034
Commits on May 20, 2015
@dcoutts dcoutts Handle multiple preferred-versions in the index tarball better
The existing code supports reading multiple preferred-versions files in
the 00-index.tar and merging them. However it doesn't do it quite right
when the same file is updated, it merged them instead of the later one
overriding the first.

This should make no difference right now because the 00-index.tar
typically only contains a single preferred-versions file, with no
updates.
36265fb
@qnikst qnikst Provide cabal_macros in c2hs invocation.
This commit includes cabal_macros in c2hs call, so it will
be possible to use MIN_VERSION macros in chs files.
65bbbc1
Commits on May 21, 2015
@23Skidoo 23Skidoo Merge pull request #2600 from qnikst/c2hs-cabal-macros
Provide cabal_macros in c2hs invocation.
3bb8293
@23Skidoo 23Skidoo Update changelog
[ci skip]
f03e310
@dcoutts dcoutts Merge pull request #2515 from edsko/pr/setup-deps
Introduce "setup dependencies"
d938b91
@dcoutts dcoutts Merge pull request #2530 from edsko/pr/base-shim
Add support for base shims to the modular solver
259b4e3
@dcoutts dcoutts Merge pull request #2531 from edsko/pr/switch-default
Make the modular solver the default always, and deprecate the top-down solver
4083456
@lukexi lukexi Don't recompile C files unless needed bec1f5a
@23Skidoo 23Skidoo Merge pull request #2601 from lukexi/master
Don't recompile C files unless needed
dd086a0
@23Skidoo 23Skidoo Update changelog
[ci skip]
3f52deb
@23Skidoo 23Skidoo Update changelog
[ci skip]
908b7eb
Commits on May 22, 2015
@triplepointfive triplepointfive Fix sandbox delete-source error message typo
\a is considered as a bell character, which is omitted as a result
d9f3d38
@23Skidoo 23Skidoo Merge pull request #2603 from triplepointfive/delete-source-typo
Fix sandbox delete-source error message typo
a2aaf2b
Commits on May 24, 2015
@AngusL AngusL Document 'extensions' field replacements
Resolves #2401.
3f53ee2
@23Skidoo 23Skidoo Merge pull request #2609 from AngusL/master
Document 'extensions' field replacements
49dba82
Commits on May 28, 2015
@mtolly mtolly Automatically configure when running haddock
Fixes #2275
8f4844e
Commits on May 29, 2015
@phadej phadej Implement #2366. More Condition instances 9dcb7c3
Commits on May 30, 2015
@phadej phadej Fix #2598. Omit empty CondTree branches e6bff69
@dcoutts dcoutts Merge pull request #2624 from phadej/pp-cond-tree-branches
Fix #2598. Omit empty CondTree branches
d052980
@nomeata nomeata Only set rpath on dynamic executables
not static ones. They make no sense there, increase startup time and
may violate some distributions policy on rpaths. This closes #2625.
6bea1db
@fisx fisx Support new section syntax for remote-repo. a1e6056
Commits on May 31, 2015
@fisx fisx Gardening. 48e7ce0
@phadej phadej Resolve #2593: Lift global database restrictions b1a8631
@fisx fisx Render remote repos into sections, not fields. 2ddcb30
@phadej phadej Fix #367. Find module files in all source directories. db754ed
@fisx fisx Empty lines between several repos. 130d67e
@phadej phadej Make cabal check warn about BOM
Implements first bullet point of #2573
c9f47d6
@phadej phadej Ignore bom when reading cabal files from index tarball 8fde866
@23Skidoo 23Skidoo Merge pull request #2626 from nomeata/master
Only set rpath on dynamic executables
776e9e2
Commits on Jun 01, 2015
@edsko edsko Explain what linking is
Addresses #2500 (comment).
44027f9
@edsko edsko Separate module for modular solver DSL
Addresses #2500 (comment).
03afe0c
@edsko edsko Introduce and use innM.
Addresses #2500 (comment).
a7ca91b
@edsko edsko Document addLinking
Addresses #2500 (comment)
Addresses #2500 (comment)
e75396b
@edsko edsko Call 'preferLinked' as the _first_ heuristic
Addresses #2500 (comment).
00bfa27
@edsko edsko Use P-setup rather P.setup for setup deps of P
(in the solver log)

Addresses #2500 (comment)
d923114
@edsko edsko Move varPI to where Var is defined.
Addresses #2500 (comment)
a44994e
@edsko edsko Add comment for LinkGroup
Addresses #2500 (comment)
fcd7a3e
@edsko edsko Remove redundant TODO 108791b
@dcoutts dcoutts Merge pull request #2621 from phadej/cabal-check-bom
Make cabal check warn about BOM
e8bcc41
@dcoutts dcoutts Merge pull request #2618 from phadej/condition-monad
Resolve #2366. More Condition instances
0390352
@edsko edsko Merge lgCanon and lgInstance
We previously recorded the canonical package and the instance of a link group
separately, but it turns out we can always record these together: when we know
one we know the other. This makes various choices a lot clearer.

Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
Addresses #2500 (comment)
bc2cf0c
@edsko edsko Add comment to dependencyInconsistencies
Addresses #2500 (comment)
ad5ff6f
@tuncer tuncer bootstrap.sh: bump versions 0b21f3e
@23Skidoo 23Skidoo Merge pull request #2634 from tuncer/bootstrap-vsn-bump
bootstrap.sh: bump versions
9d18a8a
@edsko edsko Setup dependencies are in 1.23, not 1.21.
Addresses #2515 (comment).
6c31ee0
@edsko edsko Nudge people towards using explicit setup deps
Addresses #2515 (comment)
529912e
@23Skidoo 23Skidoo Merge pull request #2635 from edsko/pr/address-remaining-solver-comments
Address remaining solver comments
72440fd
@dcoutts dcoutts Ignore tags when parsing version numbers
No change to the syntax, old tags syntax allowed but simply ignored.

Version tags have been deprecated for years and are disappearing from
the Version type in base soon.
5fd690b
@ezyang ezyang Add libname install-dirs variable, use it by default. Fixes #2437.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
2cf65bf
Commits on Jun 02, 2015
@tibbe tibbe Allow using cabal program itself as the external setup method
This fixes issues when the version of Cabal that cabal-install was built
against differs from the one registered in the local package DB. Normally
we compile an external setup against the local Cabal library, which could
lead to failures or inconsistent results compared to using the internal
method.

This fixes #2438 and fixes #1938.
03b02fb
Commits on Jun 03, 2015
@dcoutts dcoutts Merge pull request #2633 from tibbe/act-as-setup
Allow using cabal program itself as the external setup method
70600e9
@dcoutts dcoutts Merge pull request #2637 from dcoutts/master
Ignore tags when parsing version numbers
7a715a1
Commits on Jun 04, 2015
@ddssff ddssff Restore the lost unit tests for version numbers
These were dropped during the migration to github.  This patch restores
them, but note that they do not all pass!
bd3e80f
@ddssff ddssff Convert old tests to tasty 4c0d862
@ddssff ddssff Add invertVersionRange and invertVersionIntervals to Distribution.Ver…
…sion, with tests
cedd81e
@ddssff ddssff Avoid use of deprecated versionTags field in invertVersionIntervals 31d2e39
Commits on Jun 06, 2015
@dcoutts dcoutts Fix a minor bug in pretty printing version ranges
Redundant parens. Was breaking one test.
1892fd6
@dcoutts dcoutts Disable failing version range tests for now
Also fix or silence build warnings
8bf62e3
@dcoutts dcoutts Merge branch 'seereason-invert-version-range' fac3d13
Commits on Jun 07, 2015
@taruti taruti Distribution.Simple.Setup: fix HaddockFlags mappend 84d6db1
Commits on Jun 08, 2015
@23Skidoo 23Skidoo Merge pull request #2649 from taruti/master
Distribution.Simple.Setup: fix HaddockFlags mappend
f89b6b6
Commits on Jun 10, 2015
@byorgey byorgey Merge pull request #2416 from lspitzner/documentation
commandline documentation
6c73028
Commits on Jun 11, 2015
@bgamari bgamari Parse C compiler flags from GHC correctly
GHC hands us a String which we previously tried to parse as a [String],
causing GHC's compiler flags to be ignored.
6b07a72
@ezyang ezyang Reduce temporary directory name length, fixes #2502
Instead of:
C:\Users\Ganesh\AppData\Local\Temp\data-default-instances-old-locale-0.0.1-11924\data-default-instances-old-locale-0.0.1
we get:
C:\Users\Ganesh\AppData\Local\Temp\data-default-instances-old-locale-0.0.1-11924

Instead of:
dist\build\libHSdata-default-instances-old-locale-0.0.1-6jcjjaR25tK4x3nJhHHjFM.a-11924\libHSdata-default-instances-old-locale-0.0.1-6jcjjaR25tK4x3nJhHHjFM.a
we get:
dist\build\objs-11924\libHSdata-default-instances-old-locale-0.0.1-6jcjjaR25tK4x3nJhHHjFM.a

This should put us under the limit.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
515f879
Commits on Jun 14, 2015
@23Skidoo 23Skidoo Use 'maybe a f' instead of 'fromMaybe a . fmap f'. b64bd2e
@23Skidoo 23Skidoo Redundant import. 0c353c1
Commits on Jun 16, 2015
@eightyeight eightyeight Only warn for Setup.hs if build type isn't Simple
Because cabal sdist will add a default Setup.hs anyway
30d7735
@23Skidoo 23Skidoo Merge pull request #2657 from eightyeight/only-warn-setuphs-nonsimple…
…-builds

Only warn for missing Setup.hs if build type isn't Simple
912e8be
Commits on Jun 17, 2015
@23Skidoo 23Skidoo A fix for @ezyang's fix for #2502.
Instead of:
C:\Users\Ganesh\AppData\Local\Temp\data-default-instances-old-locale-0.0.1-11924\data-default-instances-old-locale-0.0.1
(which was the case before @ezyang's patch)
we now get:
C:\Users\Ganesh\AppData\Local\Temp\cabal-tmp-11924\data-default-instances-old-locale-0.0.1

Fixes #2658.
e4da79a
Commits on Jun 18, 2015
@dcoutts dcoutts Merge pull request #2652 from bgamari/T2292
Parse C compiler flags from GHC correctly
ea302a9
@dcoutts dcoutts Merge pull request #2615 from mtolly/master
Automatically run `configure` before `haddock`
94a83b1
Commits on Jun 19, 2015
@grayjay grayjay Test cabal exec error message in a more portable way
This change allows the tests "can run executables installed in the sandbox" and
"adds the sandbox bin directory to the PATH" to run on Windows by removing the
executable name from the required error message.
99a9611
@grayjay grayjay Compare file paths with equalFilePath for portability
Without this change, differences in filename capitalization caused "cabal
sandbox delete" to fail with this error message when used with a default
sandbox on Windows:

cabal.exe: Non-default sandbox location used:
'C:\folder\.cabal-sandbox'.
Assuming a shared sandbox. Please delete
'C:\folder\.cabal-sandbox' manually.

This commit also allows the cabal-install package tests that delete sandboxes
to run on Windows.
7c50bfe
@23Skidoo 23Skidoo Merge pull request #2666 from grayjay/cabal-sandbox-delete
Compare file paths with equalFilePath for portability
b9d1a65
@23Skidoo 23Skidoo Merge pull request #2665 from grayjay/cabal-exec-error-message-test
Test cabal exec error message in a more portable way
4e6f238
@dcoutts dcoutts Merge pull request #2630 from phadej/sdist-all-sources
Fix #367. Find module files in all source directories.
a33248d
Commits on Jun 20, 2015
@grayjay grayjay Allow cabal freeze tests to run on Windows
The tests now read cabal.config strictly so that the file is closed by the time
it is deleted for the next test.
38a46db
@23Skidoo 23Skidoo Merge pull request #2669 from grayjay/cabal-freeze-tests
Allow cabal freeze tests to run on Windows
693d176
@ezyang ezyang Change custom-setup warning to PackageDistSuspicious, partially fixes #…
…2638.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
9e9e437
Commits on Jun 22, 2015
@ezyang ezyang Drop pkgna_ prefix from package keys, c.f. http://ghc.haskell.org/tra…
…c/ghc/ticket/10550

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
c99748a
Commits on Jun 23, 2015
@snoyberg snoyberg Add a stack.yaml file
I needed this when building cabal.exe for MinGHC (see:
fpco/minghc#69). I thought others might find
this useful, especially for the use case of bootstrapping cabal
development.

I went the direction of no curation and explicit packages in the
extra-deps, as I thought that would make more sense for a project low on
the dependency chain, but this could certainly be tweaked to use LTS
Haskell or Stackage Nightly instead.
fcdfb30
@23Skidoo 23Skidoo Merge pull request #2675 from snoyberg/stack-yaml
Add a stack.yaml file
86ac418
Commits on Jun 24, 2015
@BardurArantsson BardurArantsson HACKING.md: Add quotation to sed command
The command line given to get the sandbox package database path is missing quotation which may make it fail in some shells (given certain globbing options). This adds single quotation marks to avoid such potential issues.
53f72cf
@23Skidoo 23Skidoo Merge pull request #2676 from BardurArantsson/patch-1
HACKING.md: Add quotation to sed command
3a254da
@dcoutts dcoutts Merge pull request #2671 from ezyang/cabal-drop-prefix
Drop pkgna_ prefix from package keys, c.f. http://ghc.haskell.org/tra…
03530bf
Commits on Jun 27, 2015
@ttuegel ttuegel Get 'builddir' from cabal.config or CABAL_BUILDDIR
Fixes #2484. The 'builddir' option may now be specified in cabal.config
as well. It will also be read from the CABAL_BUILDDIR environment
variable, if set. The order of precedence (highest to lowest) is:
1. --builddir command line option
2. CABAL_BUILDDIR environment variable
3. cabal.config setting
2b3282f
@ttuegel ttuegel Move lookupEnv to D.Compat.Environment c4c6e6e
@ttuegel ttuegel Don't loadConfig twice to find distPref 3bb8c7a
@dcoutts dcoutts Merge pull request #2627 from zerobuzz/security-config+1
Support new section syntax for remote-repo.
cd8f8e9
Commits on Jun 28, 2015
@DanBurton DanBurton Add test dependencies to stack.yaml 7933fe7
@23Skidoo 23Skidoo Merge pull request #2686 from DanBurton/master
Add test dependencies to stack.yaml
7c7463e
Commits on Jun 29, 2015
@dcoutts dcoutts Fix corner case where remote repo url is not specified
Will need a later check to validate the repo info, e.g. that it's a
supported url scheme and is an absolute URI.
ac093b2
@dcoutts dcoutts Add a point where we can add extra info for known repositories
This will be useful for adding crypto credentials without people having
to update their config files.

Also useful point to add any other special casing for known repos.
8617d39
@ttuegel ttuegel Fix tests when CABAL_BUILDDIR is set 2af1c1d
@ttuegel ttuegel Move D.Client.Compat.Environment into Cabal 80940e2
@ttuegel ttuegel Merge pull request #2608 from ttuegel/builddir-config-2484
Get 'builddir' from cabal.config or CABAL_BUILDDIR
589cc88
U-CIQDEV\gbazerman Implement HTTPS support using external curl, wget and powershell
Supports both uploading and downloading.
Basic built-in HTTP is still supported.
b780cc7
@dcoutts dcoutts Further work, refactoring and reformatting of new http transport code
Move utils into other Util modules.
Reformat all code to 80 cols.
Reorder code and add more comments.
Use long form style program args, e.g. --silent rather than -s
Finish implementation of form upload with wget
Fix reporting of server error messages for upload (curl & builtin)
Implement collecting of ETags for curl and wget.
Fix wget for case of 304 not modified response (wget uses exit code 8).
Rework transport configuration phase.
22f0544
@dcoutts dcoutts Change the logic for automatically upgrading to HTTPS
The initial patch would always try to use HTTPS, even when the repo
specified to use HTTP. This works for the central community hackage
but obviously does not work in general.

The new logic is that we always follow what is specified for the
remote repo in the config, except for built-in known repos (currently
just the central community hackage) where we mark them as also
supporting https. For upload when uploading to such a marked repo
then we will try https and will complain if the plain-http impl was
selected automatically (but it's ok if selected manually).

This patch also changes things so that for http urls on download, we
stick to the builtin http impl by default, and only use the external
ones if https support is required (i.e. because the repo was
configured to use an https url)
36e9e62
@dcoutts dcoutts Support https urls as targets in cabal install invocations 8a304f7
@dcoutts dcoutts Add changelog entries for new HTTPS support 4a4964a
@dcoutts dcoutts Fix warning on 7.10 57b6c49
Commits on Jul 02, 2015
@BardurArantsson BardurArantsson Exit with an error if $CABAL_SANDBOX_CONFIG does not point to extant …
…file
3488f59
@dcoutts dcoutts Merge pull request #2687 from dcoutts/gbaz-https
Merge https support
3533a59
@ttuegel ttuegel GHC: add -fprof-auto to default profiling options 9169f02
@ttuegel ttuegel document default ghc-prof-options settings ac55c1d
@ttuegel ttuegel Cabal/changelog: document new default ghc-prof-options
Conflicts:
	Cabal/changelog
179e8db
@dcoutts dcoutts Make the -fprof-auto* flags into structured GhcOptions
And add backwards compat support for ghc-7.2 and older that used
the -auto and -auto-all flags.

Simplifies the code in D.S.GHC where we're deciding the options to use.
7df22eb
Commits on Jul 03, 2015
@BardurArantsson BardurArantsson Warn if GHC{,JS}_PACKAGE_PATH points to non-directory 7ac9997
@dcoutts dcoutts Merge pull request #2692 from BardurArantsson/ghc-package-path
Warn if GHC{,JS}_PACKAGE_PATH points to non-directory
962004c
@fisx fisx Upgrade to zlib >=0.6.
Fix: 7.4.2 compat.

PVP compliance: upper version bound.

Revert noise and relax zlib min version back to 0.5.3 (part 1/2).

Revert noise and relax zlib min version back to 0.5.3 (part 2/2).

Test cases for maybeDecompress.

Use edsko's implementation of maybeDecompress; add test case.

Fixup.

maybeDecompress: test suite work-around.

Cleanup.

Relax zlib upper bound.

maybeDecompress: add mysteriously failing test cases.

7.4 compat for test cases.
a1ba3d0
@phadej phadej Correct maybeDecompress fd64fce
@dcoutts dcoutts Merge branch 'phadej-upgrade-zlib' 17959b8
@dcoutts dcoutts Use the version macros when building Setup.hs
The design called for allowing deps to be specified, and for the
Setup.hs to be able to use the same version macros as in other code.
This patch completes that second part.
fb7a840
@dcoutts dcoutts Merge pull request #2696 from dcoutts/master
Use the version macros when building Setup.hs
56c9c67
Commits on Jul 04, 2015
@grayjay grayjay Support pure test packages (issue #1186)
This commit relaxes D.PackageDescription.Check.checkConfiguredPackage so that it
only warns when a package declares no executables, libraries, tests, or
benchmarks.  Similarly, it relaxes the check during build to only require one
component that is buildable and enabled.  Install now requires an executable or
library.
f2f4ad4
@erikd erikd Cabal.cabal: Add missing test modules 7f7c62e
@erikd erikd cabal-install.cabal: Add missing test module 7a99d34
@erikd erikd Merge pull request #2700 from erikd/master
Add missing test modules
e88efa9
Commits on Jul 05, 2015
@phadej phadej Fix #2704
Code branch with zlib <0.6 cannot recognise the uncompressed input.
f946783
@23Skidoo 23Skidoo Merge pull request #2706 from phadej/fix-2704
Fix #2704
8da8e66
Commits on Jul 06, 2015
@phadej phadej maybeDecompress: bail on all errors at the beginning of the stream wi…
…th zlib < 0.6
ce5bb26
@23Skidoo 23Skidoo Merge pull request #2708 from phadej/issue-2704-followup
maybeDecompress: bail on all errors at the beginning of the stream with zlib < 0.6
b5e832d
@dcoutts dcoutts Make the profiling detail level configurable with a flag
New flags: --profiling-detail and --library-profiling-detail.
When profiling is enabled (by the existing flags) then these flags
are taken into account to set the profiling detail level.

The levels are:
 none
 default
 exported-functions
 toplevel-functions
 all-functions

The default value for ghc for libraries is exported-functions and
for exes is toplevel-functions.

On GHC these levels correspond to the -fprof-auto* flags. The
ghc-prof-options will override this (just because it's passed to
ghc at the end).
5a6699e
@dcoutts dcoutts Update user guide for new --[library-]profiling-detail flags b3a4eb5
@dcoutts dcoutts Merge pull request #2699 from grayjay/pure-test-packages
Support pure test packages (issue #1186)
890b78a
Commits on Jul 07, 2015
@dcoutts dcoutts Merge pull request #2695 from dcoutts/ttuegel-prof
Add support for automatic profiling detail levels, with reasonable defaults
b778e5f
@dcoutts dcoutts Update changelog for a couple recent features 94369a1
@dcoutts dcoutts Merge pull request #2680 from BardurArantsson/sandbox-config-does-not…
…-exist

Exit with an error if $CABAL_SANDBOX_CONFIG does not point to extant file
71edb7d
Commits on Jul 15, 2015
@BardurArantsson BardurArantsson Update HACKING.md
Add `--enable-tests` for cabal-install setup instructions
688a6ff
@23Skidoo 23Skidoo Merge pull request #2721 from BardurArantsson/patch-1
Update HACKING.md
060f91e
Commits on Jul 20, 2015
@byorgey byorgey cabal init: generate less for PublicDomain 67ed3a6
Commits on Jul 21, 2015
@ezyang ezyang Refactor Cabal around the idea of "library names".
In GHC 7.10, Cabal always generate package keys, including in
cases where Backpack was involved (e.g. --instantiated-with).
In fact, in these case, GHC needs to be able to generate the
package key (because it will often make a substitution on the
instantiation, and needs to know if this identity coincides with
anything else we've seen previously).

Thus, we introduce a new notion, the 'LibraryName', which
is JUST the non-Backpack portion of a package key.  For ordinary
packages that are definite, a 'LibraryName' is simply
the 'PackageId' plus 'PackageKey'; for indefinite Backpack packages,
when a package gets instantiatied, it may end up with different
'PackageKey's even though the 'LibraryName' stays the same.
'LibraryName's can be computed purely by Cabal.

This patch:

    - Defines library name, which are the source package ID plus
      a hash of all the source package ID and the library names of external,
      textual dependencies,

    - Redefines the package key to be JUST the hash portion of a
      library name, in the case that Backpack is not used,

    - Records the library name in InstalledPackageInfo.

Note: the source package ID is included both externally (so the library
name is a useful handle to refer to package) and internally (so the
hash can stand alone as the package key.)

A major refactoring which is part of this commit is moving package keys/library
names from LocalBuildInfo to LibComponentBuildInfo.  If you have an LBI, you can
still extract a package key/library name using the new
localPackageKey/localLibraryName function (which looks through the
ComponentBuildInfos of a LocalBuildInfo for the library in question).  This is
conceptually cleaner for two reasons:

    1. Only dependencies of the *library* are counted as part
    of the library name, as opposed to *all* dependencies which
    we previously used.

    2. A library name doesn't really mean much for an executable,
    or a test suite, since no one else will have to link against
    them.  So we can fall back on something simpler.

A more minor refactoring is the 'LibraryName' type, which was
previously defined by LocalBuildInfo and generally looked something
like "HSprocess-0.1-XXXX".  We change the meaning of 'LibraryName'
to be "process-0.1-XXXX" (thus we have to insert some HS additions
in the code) and eliminate componentLibraries, thus assuming that
there is only ONE Haskell library (which was the case.)  So
we remove a little bit of generality and in return get code
that is much easier to read.  (The only downside is GHC's hack
to split DLLs into multiples has to be adjusted slightly, but
this is not a big price to pay.)

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
f47732a
Commits on Jul 24, 2015
@23Skidoo 23Skidoo Comments. addf938
Commits on Jul 25, 2015
@dcoutts dcoutts Merge pull request #2729 from byorgey/issue-2380
cabal init: generate less for PublicDomain
670fda8
@ezyang ezyang Properly use test name for test libraries, with updated test.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
d8fa461
Commits on Jul 27, 2015
@bgamari bgamari Ensure that OS X framework headers are in include path
This fixes #2689.
f0d5cdd
@23Skidoo 23Skidoo Merge pull request #2739 from bgamari/osx-frameworks
Ensure that OS X framework headers are in include path
bd7bbd7
Commits on Jul 29, 2015
@23Skidoo 23Skidoo Revert "Merge pull request #2739 from bgamari/osx-frameworks"
This reverts commit bd7bbd7, reversing
changes made to d8fa461.
b23b455
@23Skidoo 23Skidoo Changelog update. ccb8d9b
Commits on Jul 30, 2015
@dcoutts dcoutts Trivial refactoring: use consistent arg order for verbosity ca7fcfe
@dcoutts dcoutts Trivial refactoring: consistently use Left (not Right) for the error 649b50a
@dcoutts dcoutts Move PackageFixedDeps class to Types module
It was in the PackageIndex module but it was unused there and it
being there was just confusing.
a28a296
@dcoutts dcoutts Move the ConfiguredPackage validation out of the InstallPlan module
The InstallPlan can be generalised by abstracting over the specific
package types. The only thing that really relies on a lot of the
details of the concrete ConfiguredPackage type is the bit that
validates them individually (as opposed to validating packages
within the plan in relation to other packages, graph structure etc).

So as a prelude to generalising the InstallPlan, move the checks
on the ConfiguredPackage into the Dependency module and use them
when checking the output of the solver.
3138ffd
@dcoutts dcoutts Introduce a ResolverPackage type for the result of the solvers
Rather than directly reusing the InstallPlan.PlanPackage type which has
more cases and which we'd like to generalise somewhat.
5b90298
@dcoutts dcoutts Remove a couple uses of the InstalledPackage wrapper type
Removed from the InstallPlan and solver interface.
The InstalledPackage is really just there for the benefit of the old
TopDown solver which needs to know source deps.
3f3410b
@dcoutts dcoutts Localise the InstalledPackage wrapper type to the old TopDown solver
No longer needed anywhere else.
0be5efe
@dcoutts dcoutts Move the ExtDependency type to the only module where it's used
Fewer shared types makes the code easier to grok and navigate.
448d37d
@dcoutts dcoutts Parameterise InstallPlan by its package types
So rather than the concrete InstalledPackageInfo and ConfiguredPackage,
the InstallPlan and PlanPackage are parameterised by the type of the
installed package, the source package and the types used for successful
and unsucessful build results.
8ea6f33
@dcoutts dcoutts Remove the now-unused Platform and CompilerInfo from the InstallPlan
It wasn't used within the InstallPlan, but it had accessors and those
were used in a few places. Just pass them into those few places that
need it.
f46d263
@23Skidoo 23Skidoo Whitespace. 62c8c77
@23Skidoo 23Skidoo Make type signatures less verbose. 628a5d5
@23Skidoo 23Skidoo Whitespace, 80-col violations. f0a513b
@23Skidoo 23Skidoo Changelog update. c14ba81
@randen randen Propose code for supporting haddock response files
This change is for adding the ehancement to support haddock
response files.  This is what was used to build HP 7.10.2
for Windows, but it does need a corresponding change in
haddock to utilize it. Hopefully, this and its corresponding
haddock change can make it into the next ghc release and
eliminate much gnashing of teeth, error prone, and time
consuming manual steps in the HP build process.

Modified:

* Cabal/Distribution/Simple/Haddock.hs
  * renderArgs function: I put a couple of things into locals
    since I needed another use for UTF8 support check, plus I
    added another check based on version; the temp file logic
    was just as the prologue case above but I did need to
    repeat the invocation of the 'k' function in order to
    keep the cases separate and allow proper handling of the
    temp file automatic (or not, per --keep-temp-files)
    deletion.  Important: the haddock version being check
    against for response file support, greater than 2.16.1,
    is a placeholder and may or may not be the actual value
    since that will depend on the as-yet-unreleased haddock
    (which looks like it may be >2.16.1 but at this moment is
    not released).
e61d8dd
Commits on Jul 31, 2015
@23Skidoo 23Skidoo Merge pull request #2746 from randen/haddock2
Support haddock response files
c5d2931
@23Skidoo 23Skidoo Merge pull request #2738 from 23Skidoo/refactoring-installplan
Refactoring installplan
953cb29
@23Skidoo 23Skidoo Changelog update. 45d3d0b
@grayjay grayjay Improve error message for unsatisfiable package constraints (issue #2643
)

This commit adds the sources of constraints to debugging and error messages,
e.g., "main config file" or "command line flag".
a79b284
@grayjay grayjay Improve constraint error messages and refactor after code review 5258eb8
@23Skidoo 23Skidoo Merge pull request #2727 from grayjay/track-package-constraints
Improve error message for unsatisfiable package constraints (issue #2643)
fe71660
@23Skidoo 23Skidoo Changelog update. 19ebf3e
@23Skidoo 23Skidoo Rename some functions.
Rename a bunch of functions of type 'Foo -> String' from 'debugFoo' to
'showFoo'.
bf6677f
@christiaanb christiaanb Add frameworks when linking a dynamic library
This fixes the Cabal side of [GHC trac #10568](https://ghc.haskell.org/trac/ghc/ticket/10568)
76c107a
Commits on Aug 02, 2015
@23Skidoo 23Skidoo Merge pull request #2747 from christiaanb/patch-2
Add frameworks when linking a dynamic library
9a0e87c
Commits on Aug 03, 2015
@anton-dessiatov anton-dessiatov Fix windows build after changes introduced by 8ea6f33 c0b5c96
@23Skidoo 23Skidoo Merge pull request #2750 from anton-dessiatov/master
Fix windows build
2782d05
@23Skidoo 23Skidoo Revert "Merge pull request #2516 from anton-dessiatov/master"
This reverts commit f5020d4, reversing
changes made to 8d1cc52.
fe7b878
Commits on Aug 08, 2015
@ttuegel ttuegel reorganize exitcode-stdio-1.0 tests 77a3164
@ttuegel ttuegel add deadlock test for detailed-0.9 test suites 69fb30c
@ttuegel ttuegel remove PackageTests/BuildTestSuiteDetailedV09 71921c7
@ttuegel ttuegel fix deadlock in detailed-0.9 test suite runner
Fixes #2489. The detailed-0.9 test suite runner would deadlock because
the IO manager was not draining the output pipe of the child
process. Thanks to @r0ml for the patch.
b74bac0
@ttuegel ttuegel ignore dist-* from test suite tests cdae96d
Commits on Aug 09, 2015
@ttuegel ttuegel Merge pull request #2508 from ttuegel/test-deadlock
Fix deadlock in detailed-0.9 test suites
8348703
Commits on Aug 11, 2015
@Yuras Yuras Disable HPC in REPL for GHC c28d782
@23Skidoo 23Skidoo Merge pull request #2758 from Yuras/hpc-in-ghci
Disable HPC in REPL for GHC
a40a342
Commits on Aug 15, 2015
@grayjay grayjay Update documentation for test-only packages 3604113
@ttuegel ttuegel Merge pull request #2765 from grayjay/test-documentation
Update documentation for test-only packages
221ed31
Commits on Aug 16, 2015
@christiaanb christiaanb Only include dynlink opts when building a dynamic executable
Fixes #2766
7c9b0ee
@ezyang ezyang Eliminate InstalledPackageInfo module name parameter.
This parameter was a legacy when GHC depended directly on
Cabal; this is no longer the case so there is no need for
this parameter (which is unused inside Cabal.)

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
0642af1
@23Skidoo 23Skidoo Merge pull request #2767 from christiaanb/patch-3
Only include dynlink opts when building a dynamic executable
1203769
Commits on Aug 17, 2015
@ezyang ezyang Eliminate InstalledPackageInfo module name parameter.
This parameter was a legacy when GHC depended directly on
Cabal; this is no longer the case so there is no need for
this parameter (which is unused inside Cabal.)

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
fa5be93
@23Skidoo 23Skidoo Merge pull request #2770 from ezyang/cabal-ipi-no-parameter
Eliminate InstalledPackageInfo module name parameter.
e1821c5
@23Skidoo 23Skidoo Merge pull request #2617 from phadej/no-global-db
Resolve #2593: Lift global database restrictions
97f292a
@grayjay grayjay Warn if 'license-file' is absolute or outside of source tree (fixes #… 2688815
@23Skidoo 23Skidoo Merge pull request #2773 from grayjay/check-license-files
Warn if 'license-file' is absolute or outside of source tree (fixes #2742)
1f14808
Commits on Aug 18, 2015
@phadej phadej Use ghcVersionImplInfo to differentiate in checkPackageDbStack 080863a
@phadej phadej Remove global DB restriction when converting PackageDbStack into ghc/…
…ghc-pkg flags #2772
c8fac13
Commits on Aug 19, 2015
@edsko edsko For ghc >= 7.10 use displayException in topHandler
(Ideally this would check the version of base instead, but that's not really
possible with bootstrapping Cabal; checking the version of ghc instead is what
happens in lots of other places so sticking with that for now.)
3340710
@edsko edsko Rethrow async exceptions a8e2c6e
@dcoutts dcoutts Merge pull request #2781 from edsko/pr/use-displayException
For ghc >= 7.10 use displayException in topHandler
78849f6
Commits on Aug 20, 2015
@BardurArantsson BardurArantsson Remove dead code
Only the NoComments case of IncludeComments was ever used and we can
simplify the generation of the default "package environment file"
accordingly.
b25adbe
@23Skidoo 23Skidoo Merge pull request #2785 from BardurArantsson/dead-code-1
Remove dead code
6627c7d
@thomie thomie Don't check metadata of installed .a file
When running the `strip` command (without the -D option) on an installed
.a file, `strip` will write the current time to all file headers in the
.a file. Update the DeterministicAr test to allow this.

The DeterministicAr test is supposed to test for regressions in
relinking avoidance. It is sufficient to do so in the build directory
only.
e18ad75
@thomie thomie Strip libraries at install/copy time. Never strip libraries in build …
…directory.

Two changes:

  * strip static libraries (.a files) at install/copy time, instead of
    at build time. Note that Cabal strips shared libraries (.so files)
    and executables at install/copy time also.

    This is needed for GHC, because it uses Cabal (via ghc-cabal copy)
    to install the boot libraries, and relies on Cabal to take of
    library stripping. Currently .so files indeed get properly stripped,
    but .a files do not.

    (Stripping static libraries at build time was introduced in
    60409cb, with the explanation:
    "Call 'stripLib' from createLibArchive so that it's done only
    once.")

    This bug (if you want to call it that) partially explains the
    difference in size of a GHC installation before and after manual
    stripping, reported in
    #1622 (comment)
    (The other parts are that the GHC build system currently doesn't
    strip executables on installation:
    https://ghc.haskell.org/trac/ghc/ticket/9087, and neither are the
    RTS library stripped, since they don't go through Cabal).

  * never strip the copy of a library in the build directory. Only
    strip the copy that is installed. Note that Cabal never strips
    executables in the build directory either.

    This might speed up compilation of a package under development,
    since stripping won't be performed for every 'cabal build'. It is
    also consistent with the GNU coding standards for 'install-strip':

      "install-strip should not strip the executables in the build
      directory which are being copied for installation. It should only
      strip the copies that are installed."

    Source:
    http://www.gnu.org/prep/standards/html_node/Standard-Targets.html
7ef72b3
Commits on Aug 21, 2015
@grayjay grayjay Warn when constraints or preferences refer to unknown packages (fixes #…
…2719)

`cabal install` and `cabal configure` warn when any constraint or preference
names a package that is not in the source package index or installed package
index.
4c874f9
Commits on Aug 22, 2015
@23Skidoo 23Skidoo Merge pull request #2782 from thomie/master
Don't strip libraries in build directory
2e01a88
Commits on Aug 25, 2015
@23Skidoo 23Skidoo Merge pull request #2787 from grayjay/unknown-package-constraints
Warn when constraints or preferences refer to unknown packages (fixes #2719)
90ffa37
@23Skidoo 23Skidoo Merge pull request #2778 from phadej/2772-skipped-global-2
Resolve #2772: generate database flags (may omit global db)
7b75497
@23Skidoo 23Skidoo Comments.
[ci skip]
f926513
Commits on Aug 26, 2015
@phadej phadej Fix #2794: Generate ascii data for plain maybeDecompress property 28bbbde
@23Skidoo 23Skidoo Merge pull request #2795 from phadej/2794-quickheck-gzip
Fix #2794: Generate ascii data for plain maybeDecompress property
571bcfb
Commits on Aug 27, 2015
@phadej phadej Remove maybeDecompress_plain property 6cb997a
@23Skidoo 23Skidoo Merge pull request #2798 from phadej/2794-remove-plain-prop
Remove maybeDecompress_plain property
9754ac2
Simon Marlow Use the sandbox config for "cabal get"
If I try to use a local cabal-install repo cache by adding a
"remote-repo-cache: <dir>" setting to the local cabal.config, this is
respected by "cabal update" but then ignored by "cabal get", which seems
wrong.  This respects the local cabal.config in "cabal get" too.  Maybe
all commands should do this?
1322c21
@23Skidoo 23Skidoo Merge pull request #2799 from simonmar/get-sandbox
Use the sandbox config for "cabal get"
ea05250
@23Skidoo 23Skidoo Unbreak the build. 985e8e9
Commits on Aug 28, 2015
@gridaphobe gridaphobe grab the new ErrorCall pattern from Control.Exception 406a842
@23Skidoo 23Skidoo Merge pull request #2786 from gridaphobe/master
use a liberal import of Control.Exception to grab the new ErrorCall pattern in base
ad11363