|
|
|
@ -952,4 +952,21 @@ self: super: { |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
# Byte-compile elisp code for Emacs. |
|
|
|
|
structured-haskell-mode = overrideCabal super.structured-haskell-mode (drv: { |
|
|
|
|
executableToolDepends = drv.executableToolDepends or [] ++ [pkgs.emacs]; |
|
|
|
|
postInstall = '' |
|
|
|
|
local lispdir=( "$out/share/"*"-${self.ghc.name}/${drv.pname}-${drv.version}/elisp" ) |
|
|
|
|
pushd >/dev/null $lispdir |
|
|
|
|
for i in *.el; do |
|
|
|
|
emacs -Q -L . -L ${pkgs.emacs24Packages.haskellMode}/share/emacs/site-lisp \ |
|
|
|
|
--batch --eval "(byte-compile-disable-warning 'cl-functions)" \ |
|
|
|
|
-f batch-byte-compile $i |
|
|
|
|
done |
|
|
|
|
popd >/dev/null |
|
|
|
|
mkdir -p $out/share/emacs |
|
|
|
|
ln -s $lispdir $out/share/emacs/site-lisp |
|
|
|
|
''; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|