Commit Graph

545 Commits

Author SHA1 Message Date
Daniel Gröber
a2e4a5d683 Revert "use standard findFile instead of hand-rolled one"
This reverts commit b055098127.
2015-05-20 12:05:22 +02:00
Daniel Gröber
a2abad53ac Merge remote-tracking branch 'prezi/master'
Conflicts:
	Language/Haskell/GhcMod/CabalHelper.hs
2015-05-20 11:37:17 +02:00
Sergey Vinokurov
84134e1fee replace redundant liftM7 function with applicatives 2015-05-19 21:00:54 +03:00
Daniel Vigovszky
5f41e8828a Revert "Not passing package db flags in default case"
This reverts commit 76e5af817a.
2015-05-19 19:50:36 +02:00
Daniel Vigovszky
76e5af817a Not passing package db flags in default case 2015-05-19 15:25:22 +02:00
Daniel Vigovszky
0bb1671238 Code cleanup 2015-05-19 14:08:18 +02:00
Sergey Vinokurov
f7717ee1ee fix typo 2015-05-17 23:25:49 +03:00
Sergey Vinokurov
b055098127 use standard findFile instead of hand-rolled one 2015-05-17 23:25:49 +03:00
Daniel Gröber
e6fc3dd8d2 Fix tests 2015-05-08 00:06:08 +02:00
Daniel Gröber
e202fabc39 elisp: Fix usage of legacy-interactive 2015-05-06 23:13:24 +02:00
Daniel Gröber
0f1e653f7f Change some logging stuff 2015-05-06 16:13:08 +02:00
Daniel Gröber
d11b12676e Fix pretty printing of logging output 2015-05-05 16:09:54 +02:00
Daniel Gröber
c45a7f4b52 Fix caching for getGhcPkgOptions 2015-05-05 14:47:23 +02:00
Daniel Gröber
8b8f947b5e Reinitialize GHC session when options change 2015-04-29 18:44:21 +02:00
Daniel Gröber
503562b9b6 Fix typo succ -> pred 2015-04-29 18:41:28 +02:00
Daniel Gröber
cf5dfa439c Clarify HscInterpreted log message 2015-04-29 17:22:48 +02:00
Daniel Gröber
c831332185 Set -O0 to avoid various interperter issues 2015-04-29 17:21:37 +02:00
Daniel Vigovszky
3b7d51d25a Removed unused function 2015-04-24 10:41:39 +02:00
Daniel Vigovszky
308c2d7963 Undo indenation change in Types.hs 2015-04-23 17:31:54 +02:00
Daniel Vigovszky
5d9d6f5630 Custom cradle support 2015-04-23 17:25:45 +02:00
Daniel Gröber
247e4e0e76 Decrease default log level 2015-04-15 13:13:22 +02:00
Daniel Gröber
fb19d021ca Fix a few warnings 2015-04-14 21:39:11 +02:00
Daniel Gröber
95b16ded6d Fix checkComponent 2015-04-14 00:53:40 +02:00
Daniel Gröber
9077e96aeb Fix tests 2015-04-13 23:16:14 +02:00
Daniel Gröber
94ef8fae79 Enhance debug information 2015-04-12 02:48:54 +02:00
Daniel Gröber
ee4ee8765e Fix weird resolveModule double path issue
`mconcat` recurses into `Maybe a` which is not what I want, I just want
the first `Just` value
2015-04-12 02:48:54 +02:00
Daniel Gröber
d7984faf79 No double : in logmsgs without a location 2015-04-12 02:48:54 +02:00
Daniel Gröber
2bf4c80580 Fix finding consistent component solution for targets
Union does the wrong thing, I wanted an intersection here.
2015-04-12 02:48:54 +02:00
Daniel Gröber
39a8ded102 Fix resolved component caching 2015-04-12 02:48:54 +02:00
Daniel Gröber
ca79f99c3e Also add language options when resolving components 2015-04-12 02:48:54 +02:00
Daniel Gröber
6f59f07f00 Fix non canonicalized paths 2015-04-12 02:48:54 +02:00
Daniel Gröber
523f43c3c9 Fix some tests 2015-04-12 02:48:54 +02:00
Daniel Gröber
d0ca3ee807 Fix MonadIO mess 2015-04-12 02:48:54 +02:00
Daniel Gröber
f3b4da7a0e Use cabal-helper to get buildPlatform 2015-04-12 02:48:53 +02:00
Daniel Gröber
55216e4af3 ifdef for ghc < 7.10 2015-03-28 19:54:10 +01:00
Markus Hauck
e3812b49ec GHC 7.10.0.20150123 fixes 2015-03-28 19:13:51 +01:00
Daniel Gröber
80d91776c5 Cleanup and some fixes 2015-03-28 19:13:48 +01:00
Daniel Gröber
2a02742f9e Write autogen file when calling cabal configure 2015-03-28 02:32:47 +01:00
Daniel Gröber
7019cbcfa1 Implement better caching for target options 2015-03-28 02:32:44 +01:00
Daniel Gröber
90d9577f8d Factor out cabal-helper into a package 2015-03-15 20:48:55 +01:00
Daniel Gröber
a97e07065e Don't set -Wall on check 2015-03-15 20:48:05 +01:00
Daniel Gröber
6756f1d10b Get rid of some warnings with ghc-7.8 2015-03-11 13:17:24 +01:00
Daniel Gröber
539c294dd4 Fix a bunch of relate exception handling problems
should handle exceptions outside of runGmlT otherwise we don't catch ghc
load related ones.
2015-03-09 22:04:04 +01:00
Daniel Gröber
7d7f848afb Fix cabal-helper ignoring --with-* flags 2015-03-08 20:53:00 +01:00
Daniel Gröber
1ac71364a9 Fix use of (head . lines) 2015-03-08 17:33:09 +01:00
Daniel Gröber
a6d3f477bc Add better handling for empty component assignments 2015-03-08 17:32:17 +01:00
Daniel Gröber
baf5cad809 Pass through --with-* options to cabal-helper 2015-03-07 19:37:19 +01:00
Daniel Gröber
85d4844a0d Improve suggestions on inconsistent assignment 2015-03-06 19:49:26 +01:00
Daniel Gröber
e23772b1ed Recache cabal-helper stuff when cabal-helper-* executable changes 2015-03-06 19:48:22 +01:00
Daniel Gröber
c05bd816e7 Add quiet option to decrease log level 2015-03-06 19:47:51 +01:00
Daniel Gröber
c8da5b8085 Fix line endings in logging output 2015-03-06 14:04:49 +01:00
Daniel Gröber
2151363dd6 Add back -d option to modules command 2015-03-05 19:38:18 +01:00
Daniel Gröber
01dde80385 Bring test suite up to date 2015-03-05 17:35:28 +01:00
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