about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDamien Cassou <damien@cassou.me>2016-07-26 20:35:02 +0200
committerGitHub <noreply@github.com>2016-07-26 20:35:02 +0200
commit8a19caac3928fdba62dc76c14c65ca458ff68095 (patch)
treea23765b1c73cff1d0d6cf8242754696c241979f3
parent0a2174f1952799994d053ba71b0b044c8239e2c0 (diff)
parentacbfc56b4303a42ef346c712dc48ff7c36c6b12a (diff)
downloadnixlib-8a19caac3928fdba62dc76c14c65ca458ff68095.tar
nixlib-8a19caac3928fdba62dc76c14c65ca458ff68095.tar.gz
nixlib-8a19caac3928fdba62dc76c14c65ca458ff68095.tar.bz2
nixlib-8a19caac3928fdba62dc76c14c65ca458ff68095.tar.lz
nixlib-8a19caac3928fdba62dc76c14c65ca458ff68095.tar.xz
nixlib-8a19caac3928fdba62dc76c14c65ca458ff68095.tar.zst
nixlib-8a19caac3928fdba62dc76c14c65ca458ff68095.zip
Merge pull request #17273 from binarin/emacs25-source-directory
emacs-source-code: init at 1.0.0
-rw-r--r--pkgs/top-level/emacs-packages.nix24
1 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 1bf3b4c0e61b..725e52e58772 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 <<EOF > $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 <<EOF > $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";