diff options
| author | Peter Aronoff | 2013-01-02 10:50:52 -0500 |
|---|---|---|
| committer | Misty De Meo | 2013-01-04 18:23:29 -0400 |
| commit | be4b1393a6caa763eeef9c450184aae7c90389df (patch) | |
| tree | 4c8571388151594238abde1f7d01fa4d99fe5247 /Library/Formula | |
| parent | c547881687a063775ef402d91fd56e3609b9217b (diff) | |
| download | homebrew-be4b1393a6caa763eeef9c450184aae7c90389df.tar.bz2 | |
emacs: Don't install ctags and its manpage
In addition to its etags executable, emacs now installs a ctags executable.
This stomps over exuberant-ctags, and makes it difficult to have emacs and
vim installed and use tags for both.
This follows what MacPorts does and removes bin/ctags and its manpage from
the build before linking. An option is provided for users who want to keep
`ctags` from emacs. Also, remove the conflict with ctags and add
a caveat to the formula about this whole issue.
Fixes #16826.
Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
Diffstat (limited to 'Library/Formula')
| -rw-r--r-- | Library/Formula/emacs.rb | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/Library/Formula/emacs.rb b/Library/Formula/emacs.rb index bdd5be9fd..3e0cd5b48 100644 --- a/Library/Formula/emacs.rb +++ b/Library/Formula/emacs.rb @@ -6,13 +6,11 @@ class Emacs < Formula mirror 'http://ftp.gnu.org/pub/gnu/emacs/emacs-24.2.tar.bz2' sha1 '38e8fbc9573b70a123358b155cf55c274b5a56cf' - conflicts_with 'ctags', - :because => 'Both emacs and ctags install a `ctags` executable.' - option "cocoa", "Build a Cocoa version of emacs" option "srgb", "Enable sRGB colors in the Cocoa version of emacs" option "with-x", "Include X11 support" option "use-git-head", "Use Savannah git mirror for HEAD builds" + option "keep-ctags", "Don't remove the ctags executable that emacs provides" if build.include? "use-git-head" head 'http://git.sv.gnu.org/r/emacs.git' @@ -65,6 +63,13 @@ class Emacs < Formula system "make install" prefix.install "nextstep/Emacs.app" + # Follow MacPorts and don't install ctags from emacs. This allows vim + # and emacs and ctags to play together without violence. + unless build.include? "keep-ctags" + (bin/"ctags").unlink + (share/man/man1/"ctags.1.gz").unlink + end + # Replace the symlink with one that avoids starting Cocoa. (bin/"emacs").unlink # Kill the existing symlink (bin/"emacs").write <<-EOS.undent @@ -87,6 +92,13 @@ class Emacs < Formula system "./configure", *args system "make" system "make install" + + # Follow MacPorts and don't install ctags from emacs. This allows vim + # and emacs and ctags to play together without violence. + unless build.include? "keep-ctags" + (bin/"ctags").unlink + (share/man/man1/"ctags.1.gz").unlink + end end end @@ -118,6 +130,12 @@ class Emacs < Formula http://git.savannah.gnu.org/cgit/emacs.git for the mirror's status. The Emacs devs do not provide support for the git mirror, and they might reject bug reports filed with git version information. Use it at your own risk. + + Emacs creates an executable `ctags` that stomps on exuberant-ctags. In + order to prevent that, we remove `ctags` and its manpage from the emacs + build before linking. (Add the flag "--keep-ctags" to keep it.) You can + install exuberant-ctags via brew with `brew install ctags`. + (exuberant-ctags can provide both vim-style and emacs-style tags.) EOS return s |
