nixpkgs/pkgs/development/libraries/haskell/ghc-mod/5.0.1.nix
Thomas Tuegel 2af1a92a28 haskell-ghc-mod-5.0.1: use wrapProgram
Use wrapProgram from makeWrapper to wrap ghc-mod and ghc-modi like
haddock. The wrapper code is clearer and hopefully more maintainable. As
a side-effect, the bug where emacs would hang while loading ghc-modi is
fixed.
2014-08-23 17:07:13 -05:00

53 lines
1.9 KiB
Nix

# This file was auto-generated by cabal2nix. Please do NOT edit manually!
{ cabal, Cabal, convertible, deepseq, djinnGhc, doctest, emacs
, filepath, ghcPaths, ghcSybUtils, haskellSrcExts, hlint, hspec
, ioChoice, monadControl, monadJournal, mtl, split, syb, text, time
, transformers, transformersBase, makeWrapper
}:
cabal.mkDerivation (self: {
pname = "ghc-mod";
version = "5.0.1";
sha256 = "01awsi5rfzq6433shfvvnr69ifxb7h8v90mlknxv3dl34zmrhv19";
isLibrary = true;
isExecutable = true;
buildDepends = [
Cabal convertible deepseq djinnGhc filepath ghcPaths ghcSybUtils
haskellSrcExts hlint ioChoice monadControl monadJournal mtl split
syb text time transformers transformersBase
];
testDepends = [
Cabal convertible deepseq djinnGhc doctest filepath ghcPaths
ghcSybUtils haskellSrcExts hlint hspec ioChoice monadControl
monadJournal mtl split syb text time transformers transformersBase
];
buildTools = [ emacs makeWrapper ];
doCheck = false;
configureFlags = "--datasubdir=${self.pname}-${self.version}";
# The method used below to wrap ghc-mod and ghc-modi was borrowed from the
# wrapper for haddock.
postInstall = ''
cd $out/share/$pname-$version
make
rm Makefile
cd ..
ensureDir "$out/share/emacs"
mv $pname-$version emacs/site-lisp
wrapProgram $out/bin/ghc-mod --add-flags \
"\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"-g -package-db -g\")"
wrapProgram $out/bin/ghc-modi --add-flags \
"\$(${self.ghc.GHCGetPackages} ${self.ghc.version} \"\$(dirname \$0)\" \"-g -package-db -g\")"
'';
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 = with self.stdenv.lib.maintainers; [
andres bluescreen303 ocharles
];
};
})