Commit Graph

445 Commits

Author SHA1 Message Date
Daniel Gröber f0ea445a9b Cleanup errors and logging a bit 2015-03-05 17:35:28 +01:00
Daniel Gröber bc71877dcf Change the way cabal-helper is built a bit 2015-03-05 17:35:28 +01:00
Daniel Gröber 82bb0090c0 Refactoring to use cabal-helper-wrapper
This turned out to be quite involved but save for this huge commit it's
actually quite awesome and squashes quite a few bugs and nasty
problems (hopefully). Most importantly we now have native cabal
component support without the user having to do anything to get it!

To do this we traverse imports starting from each component's
entrypoints (library modules or Main source file for executables) and
use this information to find which component's options each module will
build with. Under the assumption that these modules have to build with
every component they're used in we can now just pick one.

Quite a few internal assumptions have been invalidated by this
change. Most importantly the runGhcModT* family of cuntions now change
the current working directory to `cradleRootDir`.
2015-03-05 17:35:24 +01:00
Daniel Gröber 7438539ca5 Change primary license to AGPL-3 2015-03-03 21:09:18 +01:00
Daniel Gröber ef96b926c7 Use cabal-helper to support Cabal >= 1.22 with any version of ghc 2015-02-08 12:43:35 +01:00
Daniel Gröber 844bdea3db Move `symbolCache` to PathsAndFiles 2015-02-08 12:43:35 +01:00
Daniel Gröber 1c5a1c8b3e Add util function for finding libexec binaries 2015-02-08 12:43:35 +01:00
Daniel Gröber 417cacbf81 Fix finding sandbox in sandbox only projects 2015-02-08 12:43:35 +01:00
Daniel Gröber 2b4fd77c28 Add GHC-7.10 support 2015-02-08 12:43:35 +01:00
Daniel Gröber 45d6b7d67a Guess right sandbox pkg-db path on ghc version mismatch
If cabal.sandbox.config contains a "package-db:" declaration with the
wrong path and only the ghc version is wrong, for example:

```
package-db: <DIR>/.cabal-sandbox/x86_64-linux-ghc-7.8.3-packages.conf.d
```

Even though the user is using 7.10.0.20141222 `cabal repl` will correct
this and pass

```
-package-db <DIR>/.cabal-sandbox/x86_64-linux-ghc-7.10.0.20141222-packages.conf.d
```

to ghci, so obviously Cabal/cabal-install is doing some magic.

Conflicts:
	Language/Haskell/GhcMod/PathsAndFiles.hs
2015-02-08 12:43:25 +01:00
Daniel Gröber ce61f38f4d Remove a bunch of dead code 2015-01-03 00:36:12 +01:00
klapaucius fc7ce47e93 fix for varid bug in showExports & processExports 2014-12-24 22:17:36 +01:00
Dimitri 'phaazon' Sabadie f023f4fc06 Fixed #422. 2014-12-24 22:12:36 +01:00
Daniel Gröber 782f234981 Fix ghc-mod tempdirs not being removed on exit 2014-12-24 21:34:57 +01:00
Daniel Gröber 80e826a199 Prefix ghc-mod tmpdirs with "ghc-mod" 2014-12-24 21:34:39 +01:00
Daniel Gröber 9a8a3651d0 Fix `findCabalFile` 2014-11-03 00:45:27 +01:00
Daniel Gröber 506cf18885 Don't use fromJust 2014-11-03 00:33:23 +01:00
Rob Everest 56cc237e26 Support where clauses, let bindings and case expressions in case splitting (fixes #395) 2014-11-03 00:15:12 +01:00
Daniel Gröber 833d9ce058 $HOME/.cabal is not a cabal file 2014-11-03 00:04:15 +01:00
Daniel Gröber 94a60350c8 docs 2014-11-02 21:43:49 +01:00
Daniel Gröber 0cdbcb247b Fix warning 2014-11-02 19:27:57 +01:00
Daniel Gröber 2af3383fad Really fix `newTempDir` on Windows 2014-11-02 19:02:05 +01:00
Daniel Gröber 37af8e368d Refactoring World, etc. and fix #387 2014-11-02 01:19:27 +01:00
Daniel Gröber 14ee81e300 Allow GhcModError as an Exception and catch it in GhcModT's liftIO 2014-10-31 22:23:48 +01:00
Daniel Gröber 1797a53800 Fix `newTempDir` on Windows 2014-10-31 12:42:03 +01:00
Daniel Gröber 34dd9de83c Add Show instance for `Options` 2014-10-30 01:11:10 +01:00
Daniel Gröber 9ac128aa6f Fix #387, Pattern match failure in GhcPkg 2014-10-30 01:10:56 +01:00
Kazu Yamamoto 33d6f38a20 removing a warning. 2014-10-06 15:55:16 +09:00
Kazu Yamamoto ef371a7ebf fixing tests. 2014-10-06 15:29:05 +09:00
Daniel Gröber ab7059d5e4 Merge remote-tracking branch 'upstream/no-set'
Conflicts:
	Language/Haskell/GhcMod/Find.hs
2014-10-03 21:39:20 +02:00
Kazu Yamamoto c4929c54af getConfig runs "cabal configure" first if setup-config is invalid. 2014-09-23 21:28:03 +09:00
Kazu Yamamoto 7db266c22d adding World.hs. 2014-09-23 17:34:09 +09:00
Kazu Yamamoto 9ed4aa8fdf using void. 2014-09-23 14:55:56 +09:00
Kazu Yamamoto 735b80d0cc exporting setupConfigFile. 2014-09-23 14:49:13 +09:00
Kazu Yamamoto d831d6aa59 moving PackageDb stuff to GhcPkg. 2014-09-23 13:47:32 +09:00
Kazu Yamamoto 71bbd1c5d4 removing warnings. 2014-09-22 11:32:28 +09:00
Kazu Yamamoto bc65c477d0 fixing typo. 2014-09-22 11:20:11 +09:00
Kazu Yamamoto b96a8c6457 check does not use overrideGhcUserOptions again.
- workaround for #376
- logically reverting ec1b115cc1
2014-09-22 10:46:46 +09:00
Kazu Yamamoto e8988c2f02 ghc-modi's "find" now catches up if packageDb is updated. 2014-09-20 12:25:46 +09:00
Daniel Gröber 5a4bec8755 Rewrite `ghc-mod` command line frontend. 2014-09-18 10:45:14 +02:00
Daniel Gröber 34dd8c5bd9 Fix error when compiling with HSE < 1.16 2014-09-17 23:39:10 +02:00
Daniel Gröber 8f123dc7de Fix compiling with HSE >= 1.16.0 2014-09-16 05:50:00 +02:00
Daniel Gröber b96ef00248 formatting: FillSig.hs 2014-09-16 05:49:56 +02:00
Daniel Gröber 690a64f5b5 Merge branch 'master' of https://github.com/robeverest/ghc-mod
Conflicts:
	Language/Haskell/GhcMod/CabalConfig.hs
2014-09-12 05:21:12 +02:00
Rob Everest 2c2e7782d2 Use the cabal configuration flags where possible when finalizing the PackageDescription. 2014-09-12 13:15:05 +10:00
Cary M. Robbins 8b01af6cde Handle LocalBuildInfo for Cabal 1.21; squash commits; fixes #343. 2014-09-12 04:50:29 +02:00
Daniel Gröber 1c8d1edb4d Workaround for #340 2014-09-12 04:02:32 +02:00
Daniel Gröber 8889c2e8e5 note 2014-09-11 01:27:19 +02:00
Daniel Gröber 83d780015c Use `readProcess'` in PkgDoc.hs 2014-09-11 01:26:42 +02:00
Daniel Gröber 274b5d8e1c Rephrase some docs 2014-08-29 17:21:38 +02:00