Commit Graph

43 Commits

Author SHA1 Message Date
Daniel Gröber 5b77feb4e3 Fix #778, findFileInParentsP: check dir perms before reading 2016-09-16 01:29:31 +02:00
Daniel Gröber 4bea7d5a85 Remove dead code 2016-09-16 01:20:23 +02:00
Nikolay Yakimov 1559a91a84 Cache non-interactive find results in distdir 2016-01-27 02:09:17 +03:00
Daniel Gröber df455a3618 Fix missing autogen files when dist/setup-config already exists (Issue #621) 2015-09-23 12:02:03 +02:00
Daniel Gröber 2c0d5af5e9 Fix warnings 2015-09-16 05:13:20 +02:00
Daniel Gröber 0b2a3458fd Move `stack` code into seperate module 2015-09-15 05:25:54 +02:00
Daniel Gröber 211b957451 Fix race condition in stack support code 2015-09-11 03:52:28 +02:00
Daniel Gröber d400c8f389 Fix missing makeAbsolute 2015-09-08 05:20:26 +02:00
Daniel Gröber f06511bff1 Support multi-package stack projects 2015-09-08 03:54:29 +02:00
Daniel Gröber 5713fd9908 Fix custom package-db stack for non Cabal projects 2015-09-07 07:20:16 +02:00
Daniel Gröber 41de8b8b2e Sandwich new Monad layer GmOutT into transformer stack
This way we can have access to some options pre Cradle setup which
should fix the output interleaving problems I was observing.
2015-09-01 10:32:27 +02:00
Daniel Gröber 899d583549 `error` -> throw $ GMEProcess 2015-09-01 10:27:41 +02:00
Daniel Gröber 4aa75818d8 Fix tests 2015-08-31 08:32:31 +02:00
Daniel Gröber 0b65487e50 Stderr output pre-GhcModT for stack cradle 2015-08-31 07:49:06 +02:00
Daniel Gröber 2a0414f368 Pass stack ghc paths down to cabal-helper 2015-08-31 04:17:33 +02:00
Daniel Gröber 18a8c67d39 Take sandbox cfg into account for caches 2015-08-19 09:18:10 +02:00
Daniel Gröber 78bdf86a95 Fix all the stack related things 2015-08-19 09:17:41 +02:00
scturtle a285b42206 Refactor the hard-coding "dist" 2015-08-19 09:17:30 +02:00
scturtle 320b404a8c Yet another try to support Stack. 2015-08-19 09:17:11 +02:00
Daniel Gröber a94d8977a9 Fix ghc-modi not working in non-cabal projects 2015-08-12 09:04:35 +02:00
Daniel Gröber 05360e0660 Fix typo 2015-08-11 06:35:07 +02:00
Daniel Gröber 8439f12cb0 Let Cabal determine the package-db stack 2015-08-07 07:31:08 +02:00
Daniel Gröber 614522644b Fix imports for ghc < 7.10 2015-08-03 07:51:23 +02:00
Daniel Gröber f023d939e2 Fix GHC 7.10 warnings 2015-08-03 05:46:51 +02:00
Daniel Gröber 49515b3eb8 Fix #487, Modules from sandbox not visible 2015-06-05 22:45:52 +02:00
Daniel Vigovszky 0bb1671238 Code cleanup 2015-05-19 14:08:18 +02:00
Daniel Vigovszky 5d9d6f5630 Custom cradle support 2015-04-23 17:25:45 +02:00
Daniel Gröber ca79f99c3e Also add language options when resolving components 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 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 e23772b1ed Recache cabal-helper stuff when cabal-helper-* executable changes 2015-03-06 19:48:22 +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 417cacbf81 Fix finding sandbox in sandbox only projects 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 9a8a3651d0 Fix `findCabalFile` 2014-11-03 00:45:27 +01:00
Daniel Gröber 833d9ce058 $HOME/.cabal is not a cabal file 2014-11-03 00:04:15 +01:00
Daniel Gröber 37af8e368d Refactoring World, etc. and fix #387 2014-11-02 01:19:27 +01:00