2014-05-01 12:19:51 +02:00
|
|
|
{ cabal, Cabal, convertible, deepseq, doctest, emacs, filepath
|
|
|
|
, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers
|
2012-03-25 21:33:48 +02:00
|
|
|
}:
|
2012-01-18 21:32:34 +01:00
|
|
|
|
|
|
|
cabal.mkDerivation (self: {
|
|
|
|
pname = "ghc-mod";
|
2014-05-16 21:28:07 +02:00
|
|
|
version = "4.1.1";
|
|
|
|
sha256 = "0jsm881khbpa316rvka2ixzmm4kim7w9gbriz94m08b3yj3f00q9";
|
2013-05-21 10:58:34 +02:00
|
|
|
isLibrary = true;
|
2012-03-25 21:33:48 +02:00
|
|
|
isExecutable = true;
|
2012-01-18 21:32:34 +01:00
|
|
|
buildDepends = [
|
2014-05-01 12:19:51 +02:00
|
|
|
Cabal convertible deepseq filepath ghcSybUtils hlint ioChoice syb
|
|
|
|
time transformers
|
2012-01-18 21:32:34 +01:00
|
|
|
];
|
2013-03-01 10:41:32 +01:00
|
|
|
testDepends = [
|
2014-05-01 12:19:51 +02:00
|
|
|
Cabal convertible deepseq doctest filepath ghcSybUtils hlint hspec
|
|
|
|
ioChoice syb time transformers
|
2013-03-01 10:41:32 +01:00
|
|
|
];
|
2012-03-25 21:33:48 +02:00
|
|
|
buildTools = [ emacs ];
|
2014-05-01 23:40:13 +02:00
|
|
|
doCheck = false;
|
2014-05-01 22:57:09 +02:00
|
|
|
configureFlags = "--datasubdir=${self.pname}-${self.version}";
|
2012-01-24 23:06:33 +01:00
|
|
|
postInstall = ''
|
2013-08-17 11:39:11 +02:00
|
|
|
cd $out/share/$pname-$version
|
|
|
|
make
|
|
|
|
rm Makefile
|
|
|
|
cd ..
|
|
|
|
ensureDir "$out/share/emacs"
|
|
|
|
mv $pname-$version emacs/site-lisp
|
2014-05-04 14:05:05 +02:00
|
|
|
mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
|
|
|
|
cat - > $out/bin/ghc-mod <<EOF
|
2013-12-15 20:08:33 +01:00
|
|
|
#! ${self.stdenv.shell}
|
2013-09-03 23:02:07 +02:00
|
|
|
COMMAND=\$1
|
|
|
|
shift
|
2014-05-04 14:05:05 +02:00
|
|
|
eval exec $out/bin/.ghc-mod-wrapped \$COMMAND \$( ${self.ghc.GHCGetPackages} ${self.ghc.version} | tr " " "\n" | tail -n +2 | paste -d " " - - | sed 's/.*/-g "&"/' | tr "\n" " ") "\$@"
|
2013-09-03 23:02:07 +02:00
|
|
|
EOF
|
2014-05-04 14:05:05 +02:00
|
|
|
chmod +x $out/bin/ghc-mod
|
2013-08-17 11:39:11 +02:00
|
|
|
'';
|
2012-01-18 21:32:34 +01:00
|
|
|
meta = {
|
2012-01-26 15:20:11 +01:00
|
|
|
homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
|
2013-05-21 10:58:34 +02:00
|
|
|
description = "Happy Haskell Programming";
|
2012-01-18 21:32:34 +01:00
|
|
|
license = self.stdenv.lib.licenses.bsd3;
|
|
|
|
platforms = self.ghc.meta.platforms;
|
|
|
|
maintainers = [
|
2012-01-26 15:20:11 +01:00
|
|
|
self.stdenv.lib.maintainers.andres
|
2012-01-18 21:32:34 +01:00
|
|
|
self.stdenv.lib.maintainers.bluescreen303
|
2013-09-03 23:02:07 +02:00
|
|
|
self.stdenv.lib.maintainers.ocharles
|
2012-01-18 21:32:34 +01:00
|
|
|
];
|
|
|
|
};
|
|
|
|
})
|