Daniel Gröber
96a85fe953
Copy readMaybe/readEither from base >= 4.7 for backwards compatibility
2014-05-10 13:43:46 +02:00
Daniel Gröber
5492f0c5d1
Add license headers for code copied from Cabal
2014-05-10 13:43:27 +02:00
Daniel Gröber
f949e4be7a
Copy ComponentLocalBuildInfo from Cabal-1.18
...
This way `configDependencies` works even when the Cabal version used by
cabal-install is later than the one used by ghc-mod.
2014-05-10 02:04:09 +02:00
Daniel Gröber
13930a9d7d
Fix Cabal >= 1.18
2014-05-09 21:12:52 +02:00
Daniel Gröber
175635505d
Fix warnings
2014-05-09 20:44:33 +02:00
Daniel Gröber
44b897c6a5
Print useful information when running spec
2014-05-09 20:37:55 +02:00
Daniel Gröber
8741323f5b
Fix tests for Cabal <= 1.16
2014-05-09 20:37:15 +02:00
Daniel Gröber
d1da6ab289
Make getSystemLibDir use GHC.Paths
instead of running ghc
2014-05-09 20:36:20 +02:00
Daniel Gröber
b8f9498f83
Fix reading of older Cabal setup-config
s
2014-05-09 20:35:13 +02:00
Kazu Yamamoto
2e3b172b0e
enabling -fno-warn- ( #246 ).
2014-05-09 23:45:34 +09:00
Kazu Yamamoto
c05b27b65b
Merge pull request #248 from DanielG/dev-cabal-deps
...
Add support for getting pkgDeps with Cabal <= 1.16
2014-05-08 22:50:50 +09:00
Daniel Gröber
fae4730ba5
Import HscTypes (HscEnv) with ghc <= 7.2
2014-05-08 13:14:44 +02:00
Daniel Gröber
a7b2c86985
Fall back to Cabal 1.16 format on runtime if extracting fails
2014-05-08 12:59:52 +02:00
Daniel Gröber
4c93819da8
Fix ghc-7.8
2014-05-08 11:50:51 +02:00
Daniel Gröber
7b8540add1
Add support for getting pkgDeps with Cabal <= 1.16
2014-05-08 11:32:40 +02:00
Kazu Yamamoto
b7d92417bc
HasDynFlags is provided after 7.6.
2014-05-08 17:01:01 +09:00
Kazu Yamamoto
cc3e728f03
fixing comment.
2014-05-08 16:51:15 +09:00
Kazu Yamamoto
8f091b4f70
fixing fails in travis.
2014-05-08 16:38:17 +09:00
Kazu Yamamoto
32d7fac5c2
Merge pull request #247 from DanielG/dev-rwst-io
...
Add MonadIO instance for RWST
2014-05-08 16:07:53 +09:00
Daniel Gröber
61207c13d3
Add MonadIO instance for RWST
2014-05-08 08:36:18 +02:00
Kazu Yamamoto
8561e7b656
To break cyclic import, this patch makes GhcPkg.hs
independent from Monad.hs
(refactoring for #244 )
...
This removes `ghcPkgList`, `ghcPkgListEx` and `ghcPkgDbOpt`. I'm not sure
this is a right way to do.
2014-05-08 12:42:45 +09:00
Kazu Yamamoto
f199ea9e2e
removing warnings.
2014-05-08 10:49:40 +09:00
Kazu Yamamoto
ec5e42a5ba
Merge branch 'DanielG-dev-monad'
2014-05-08 10:40:56 +09:00
Kazu Yamamoto
410a7e00a2
Merge branch 'dev-monad' of git://github.com/DanielG/ghc-mod into DanielG-dev-monad
2014-05-08 10:39:06 +09:00
Kazu Yamamoto
89bd2ca08b
Merge pull request #233 from DanielG/dev-pkgs
...
Make package dependencies consistent with Cabal
2014-05-08 10:24:23 +09:00
Kazu Yamamoto
9fba8c1020
Merge pull request #237 from bos/check-emacs-version
...
Check Emacs version at start
2014-05-08 10:22:28 +09:00
Daniel Gröber
5044cf7f56
Fix warnings
2014-05-05 09:43:14 +02:00
Daniel Gröber
81504de8bd
spec: Be more forgiving for ghc opts in getCompilerOptions
2014-05-05 09:26:56 +02:00
Daniel Gröber
635830b527
Fix #242 , ghcPkgList(Ex) on NixOS
2014-05-05 00:29:10 +02:00
Daniel Gröber
4e4d27e62d
Use componentsConfigs
instead of configDependencies
...
`configDependencies` was added in Cabal-1.20 but we're using 1.18 on travis.
2014-05-04 04:57:38 +02:00
Daniel Gröber
ea427d60ba
note: MonadIO class
2014-05-04 04:57:38 +02:00
Daniel Gröber
9d9f66e942
Remove Maybe
from cabalConfigDependencies
and fromInstalledPackageId
2014-05-04 04:57:38 +02:00
Daniel Gröber
e74faa4a9d
Add add-source-timestamps
to gitignore
2014-05-04 04:57:38 +02:00
Daniel Gröber
3b5b9f8fcf
Expose Language.Haskell.GhcMod.Monad
2014-05-04 04:57:38 +02:00
Daniel Gröber
c50b4f5a38
ghc-mod deserves it's own monad
...
Having to call `findCradle` and `initializeFlagsWithCradle` everywhere
we interact with ghc-mod's API doesn't seem very Haskell-like to me I
think we should provide a Monad that has a run function that already
does all those tedious tasks for us.
The `GhcMod` monad is basically a wrapper around `RWST r w s IO` with an
instance for `GhcMonad`
Having a `Reader` allows us to pass `Options` to runGhcMod and not have
to worry about passing it everywhere, `Cradle` is also stored in the
reader environment on initialization.
Writer and State are just there for future use.
I've included a `toGhcMod` function that turns a `Ghc a` into a `GhcMod
a` this will make it easy to transition everyting to using the `GhcMod`
monad instead of `Ghc` without breaking the build or test suite for
extended periods of time.
Conflicts:
ghc-mod.cabal
2014-05-04 04:57:38 +02:00
Daniel Gröber
096a56e660
Hide catch
from Prelude
2014-05-04 04:57:38 +02:00
Daniel Gröber
f750d10a9a
Cabal needs empty 00-index.cache and 00-index.tar in sanxbox
2014-05-03 15:38:27 +02:00
Daniel Gröber
96a54d2148
Remove test/*/setup-config before spec
2014-05-03 15:38:27 +02:00
Daniel Gröber
7b98cb0e85
Add cabal
to PATH in travis script
2014-05-03 15:36:10 +02:00
Daniel Gröber
2839d6b557
Add UtilsSpec
2014-05-03 15:36:10 +02:00
Daniel Gröber
92d0eec2bc
Fix failing test
2014-05-03 15:36:10 +02:00
Daniel Gröber
0c859294a3
Parse cabal setup-config
to get depencencies
2014-05-03 15:36:10 +02:00
Daniel Gröber
19b56738c6
Add withDirectory_
to Utils
2014-05-03 15:36:10 +02:00
Daniel Gröber
aec46dbd51
Factor out readProcess'
2014-05-03 15:36:10 +02:00
Daniel Gröber
77605c6daf
Add fromInstalledPackageId
2014-05-03 15:36:10 +02:00
Daniel Gröber
6ad386d31e
Add test data to Extra-Source-Files
2014-05-03 15:35:04 +02:00
Daniel Gröber
82d1d6b982
Add cabal file to duplicate-pkgver
test data
...
It's not really valid but enough to make ghc-mod happy, without it
findCradle doesn't work properly and without the empty `library`
sections it crashes even.
2014-05-03 15:35:04 +02:00
Daniel Gröber
158c0bba16
Add package.cache to .gitignore and make .cabal-sandbox absolute
2014-05-03 15:35:04 +02:00
Daniel Gröber
759a6efab1
Add some test data
...
..for testing behaviour with multiple versions/ids of packges being
available
2014-05-03 15:35:04 +02:00
Daniel Gröber
ee0135aac2
Correct check-packageid/cabal.sandbox.config.in
2014-05-03 15:35:04 +02:00