From 72e67bd6baadf9060b751e0027fecbb16e8a8b1f Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sat, 8 Jun 2019 22:51:56 -0400 Subject: [PATCH] emacs-irony: prebuild irony-server executable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/emacs-packages.nix | 39 +++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a714e34371b4a6..ad9de1aa3ba004 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17600,7 +17600,7 @@ in inherit (pythonPackages) elpy; inherit autoconf automake git libffi libpng pkgconfig poppler rtags w3m zlib - substituteAll rustPlatform; + substituteAll rustPlatform cmake llvmPackages; }; }; diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index f1fdf30f61c241..1975f6aad43e55 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 {