about summary refs log tree commit diff
path: root/pkgs/top-level/emacs-packages.nix
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-06-08 22:51:56 -0400
committerMatthew Bauer <mjbauer95@gmail.com>2019-06-10 22:39:27 -0400
commit72e67bd6baadf9060b751e0027fecbb16e8a8b1f (patch)
tree1d359e9bc8d89dc0ed918a50c47bd6055eb5a7c5 /pkgs/top-level/emacs-packages.nix
parentc4fc74b19cae7f30151be743f3e2dca43f33ca0f (diff)
downloadnixlib-72e67bd6baadf9060b751e0027fecbb16e8a8b1f.tar
nixlib-72e67bd6baadf9060b751e0027fecbb16e8a8b1f.tar.gz
nixlib-72e67bd6baadf9060b751e0027fecbb16e8a8b1f.tar.bz2
nixlib-72e67bd6baadf9060b751e0027fecbb16e8a8b1f.tar.lz
nixlib-72e67bd6baadf9060b751e0027fecbb16e8a8b1f.tar.xz
nixlib-72e67bd6baadf9060b751e0027fecbb16e8a8b1f.tar.zst
nixlib-72e67bd6baadf9060b751e0027fecbb16e8a8b1f.zip
emacs-irony: prebuild irony-server executable
This has melpaBuild compile the irony-server executable automatically.
This means each user of the irony executable doesn’t have to wait for
it to compile on each new use. This depends on this PR to work
correctly:

https://github.com/Sarcasm/irony-mode/pull/537
Diffstat (limited to 'pkgs/top-level/emacs-packages.nix')
-rw-r--r--pkgs/top-level/emacs-packages.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index f1fdf30f61c2..1975f6aad43e 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -288,6 +288,45 @@ let
 
   icicles = callPackage ../applications/editors/emacs-modes/icicles { };
 
+  irony = melpaBuild rec {
+    pname = "irony";
+    ename = "irony";
+    version = "20190516";
+    src = fetchFromGitHub {
+      owner = "Sarcasm";
+      repo = "irony-mode";
+      rev = "c3ae899b61124a747ebafc705086345e460ac08e";
+      sha256 = "06ld83vzyklfmrfi6pp893mvlnhacv9if75c9pbipjvy6nwfb63r";
+    };
+    recipe = fetchurl {
+      url = "https://raw.githubusercontent.com/milkypostman/melpa/3cfa28c7314fa57fa9a3aaaadf9ef83f8ae541a9/recipes/irony";
+      sha256 = "1xcxrdrs7imi31nxpszgpaywq4ivni75hrdl4zzrf103xslqpl8a";
+      name = "recipe";
+    };
+    preConfigure = ''
+      cd server
+    '';
+    preBuild = ''
+      make
+    '';
+    postInstall = ''
+      mkdir -p $out
+      mv $out/share/emacs/site-lisp/elpa/*/server/bin $out
+      rm -rf $out/share/emacs/site-lisp/*/server
+    '';
+    preCheck = ''
+      cd source/server
+    '';
+    dontUseCmakeBuildDir = true;
+    doCheck = true;
+    packageRequires = [ emacs ];
+    nativeBuildInputs = [ external.cmake external.llvmPackages.llvm ];
+    meta = {
+      homepage = "https://melpa.org/#/irony";
+      license = lib.licenses.gpl3;
+    };
+  };
+
   redshank = callPackage ../applications/editors/emacs-modes/redshank { };
 
   rtags = melpaBuild rec {