aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
authorPeter Aronoff2013-01-02 10:50:52 -0500
committerMisty De Meo2013-01-04 18:23:29 -0400
commitbe4b1393a6caa763eeef9c450184aae7c90389df (patch)
tree4c8571388151594238abde1f7d01fa4d99fe5247 /Library/Formula
parentc547881687a063775ef402d91fd56e3609b9217b (diff)
downloadhomebrew-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.rb24
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