From acbfc56b4303a42ef346c712dc48ff7c36c6b12a Mon Sep 17 00:00:00 2001 From: Alexey Lebedeff Date: Tue, 26 Jul 2016 13:53:06 +0300 Subject: [PATCH] emacs-source-code: init at 1.0.0 This pseudo-package will help emacs find its own C sources. When this package is used in `emacsWithPackages`, you will be able to reach emacs C sources, e.g. through a link in `describe-function` buffer. --- pkgs/top-level/emacs-packages.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index 1bf3b4c0e61..725e52e5877 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -471,6 +471,30 @@ let }; }; + emacs-source-directory = stdenv.mkDerivation { + name = "emacs-source-directory-1.0.0"; + src = emacs.src; + + # We don't want accidentally start bulding emacs one more time + phases = "unpackPhase buildPhase"; + + buildPhase = '' + mkdir -p $out/share/emacs/site-lisp/elpa/emacs-source-directory + cp -a src $out/src + (cd $out/src && ${emacs}/bin/etags *.c *.h) + cat < $out/share/emacs/site-lisp/elpa/emacs-source-directory/emacs-source-directory-autoloads.el + (setq source-directory "$out") + (setq find-function-C-source-directory (expand-file-name "src" source-directory)) + EOF + cat < $out/share/emacs/site-lisp/elpa/emacs-source-directory/emacs-source-directory-pkg.el + (define-package "emacs-source-directory" "1.0.0" "Make emacs C source code available inside emacs. To use with emacsWithPackages in NixOS" '()) + EOF + ''; + meta = { + description = "Make emacs C source code available inside emacs. To use with emacsWithPackages in NixOS"; + }; + }; + engine-mode = melpaBuild rec { pname = "engine-mode"; version = "1.0.0";