blob: 472d2579048106148636e2773624855437c520e4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
{ cabal, Cabal, convertible, doctest, emacs, filepath, ghcPaths
, ghcSybUtils, hlint, hspec, ioChoice, syb, time, transformers
}:
cabal.mkDerivation (self: {
pname = "ghc-mod";
version = "3.1.4";
sha256 = "1sm8wj6vcgbm91z762h6rbq68njj5384a69w4k3q0qzdyix0cxym";
isLibrary = true;
isExecutable = true;
buildDepends = [
Cabal convertible filepath ghcPaths ghcSybUtils hlint ioChoice syb
time transformers
];
testDepends = [
Cabal convertible doctest filepath ghcPaths ghcSybUtils hlint hspec
ioChoice syb time transformers
];
buildTools = [ emacs ];
postInstall = ''
cd $out/share/$pname-$version
make
rm Makefile
cd ..
ensureDir "$out/share/emacs"
mv $pname-$version emacs/site-lisp
mv $out/bin/ghc-mod $out/bin/.ghc-mod-wrapped
cat - > $out/bin/ghc-mod <<EOF
#! ${self.stdenv.shell}
COMMAND=\$1
shift
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" " ") "\$@"
EOF
chmod +x $out/bin/ghc-mod
'';
meta = {
homepage = "http://www.mew.org/~kazu/proj/ghc-mod/";
description = "Happy Haskell Programming";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [
self.stdenv.lib.maintainers.andres
self.stdenv.lib.maintainers.bluescreen303
self.stdenv.lib.maintainers.ocharles
];
};
})
|