Go to file
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
Language/Haskell Refactoring to use cabal-helper-wrapper 2015-03-05 17:35:24 +01:00
NotCPP Change primary license to AGPL-3 2015-03-03 21:09:18 +01:00
cabal-helper Introducing cabal-helper-wrapper 2015-03-03 21:06:58 +01:00
doc adding docs in the piki format. 2014-11-19 09:07:34 +09:00
elisp Merge pull request #409 from iquiw/master 2014-12-01 11:48:42 +09:00
scripts Add bump.sh script to master branch too 2014-12-31 22:57:53 +01:00
src Refactoring to use cabal-helper-wrapper 2015-03-05 17:35:24 +01:00
test Bring test suite up to date 2015-02-08 12:43:35 +01:00
test-elisp adding test cases for elisp. 2014-04-23 14:51:02 +09:00
.ghci .ghci for ghci-friendliness (testing) 2012-01-22 20:16:22 -08:00
.gitignore Add `add-source-timestamps` to gitignore 2014-05-04 04:57:38 +02:00
.travis.yml travis: Create empty ChangeLog before running `cabal sdist` 2014-09-12 22:23:48 +02:00
COPYING.AGPL3 Change primary license to AGPL-3 2015-03-03 21:09:18 +01:00
COPYING.BSD3 Change primary license to AGPL-3 2015-03-03 21:09:18 +01:00
CodingStyle adding CodingStyle. 2014-08-12 15:00:56 +09:00
README.md Add installation note about Nix 2014-12-16 21:34:04 +01:00
Setup.hs Use crazy TemplateHaskell magic for Setup.hs backwards compatibility 2015-03-01 05:03:04 +01:00
SetupCompat.hs Use crazy TemplateHaskell magic for Setup.hs backwards compatibility 2015-03-01 05:03:04 +01:00
Utils.hs Refactoring to use cabal-helper-wrapper 2015-03-05 17:35:24 +01:00
ghc-mod.cabal Refactoring to use cabal-helper-wrapper 2015-03-05 17:35:24 +01:00
hcar-ghc-mod.tex hcar 2014-10-08 16:30:23 +02:00

README.md

Happy Haskell Programming

Build Status

Please read: http://www.mew.org/~kazu/proj/ghc-mod/

Using the stable version

The Emacs front-end is available from stable MELPA. This package should always be compatible with the latest version of ghc-mod from hackage.

To use stable stable MELPA add this to your .emacs:

(require 'package)
(add-to-list 'package-archives
	     '("melpa" . "http://melpa-stable.milkbox.net/packages/"))
(package-initialize)

With this configuration you can install the Emacs front end from MELPA (the package is called ghc there, not ghc-mod) and install the ghc-mod/ghc-modi binaries from hackage by doing:

% cabal update && cabal install ghc-mod

Nix & NixOS

The installation is a little more involved in this environment as Nix needs some ugly hacks to get packages using the GHC API to work, please refer to this stackoverflow answer:

http://stackoverflow.com/a/24228830

Using the development version

The easiest way to hack on ghc-mod is compile it, then add dist/build/ghc-mod and dist/build/ghc-modi to your PATH and add the elisp/ directory to your Emacs load-path.

Make sure you're not using the MELPA version of ghc.el otherwise you might get all sorts of nasty conflicts.

IRC

If you have any problems, suggestions, comments swing by #ghc-mod on Freenode.