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
Daniel Gröber
a0ae09a3e6
Give readProcess' more sensible error messages.
...
Also a bunch of refactoring for GhcModError
2014-08-28 15:57:49 +02:00
Daniel Gröber
a7f00931c5
Rename List.hs -> Modules.hs
2014-08-28 11:41:03 +02:00