From 1fc3e769e3db7100798bb8c6f5f9ed6c5b85abc2 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Tue, 18 Aug 2015 12:59:36 +0200 Subject: [PATCH] haskell-hindent: byte-compile installed elisp code --- .../haskell-modules/configuration-common.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index e38318ada51c..66bf20c55c95 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -969,4 +969,21 @@ self: super: { ''; }); + # Byte-compile elisp code for Emacs. + hindent = overrideCabal super.hindent (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 + ''; + }); + }