diff options
| author | Samuel John | 2013-07-15 14:57:19 +0200 |
|---|---|---|
| committer | Samuel John | 2013-07-15 15:00:46 +0200 |
| commit | 4f47ae3821c024b061781a19b7bbdbf138ca55d5 (patch) | |
| tree | c83e0f035a490121693cceffb2b638cc699a5a5b /Library | |
| parent | 5c152108876cc2c19b492532c0276b0c97c72108 (diff) | |
| download | homebrew-4f47ae3821c024b061781a19b7bbdbf138ca55d5.tar.bz2 | |
mercurial: 2.6.3 & use depends_on :python
* The `hg` binary is installed in `$(brew --prefix)/bin/hg`.
* Optional docs (hg help will still work) so that docutils is not
needed.
* The `depends_on :python` is needed for software that needs
the `Python.h`.
Fix #20929
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Formula/mercurial.rb | 74 |
1 files changed, 33 insertions, 41 deletions
diff --git a/Library/Formula/mercurial.rb b/Library/Formula/mercurial.rb index f585785d2..d87b0d9ae 100644 --- a/Library/Formula/mercurial.rb +++ b/Library/Formula/mercurial.rb @@ -2,64 +2,56 @@ require 'formula' class Mercurial < Formula homepage 'http://mercurial.selenic.com/' - url 'http://mercurial.selenic.com/release/mercurial-2.6.2.tar.gz' - sha1 '861c1df8f50347c8381df3aa7e296113ecf24ae6' + url 'http://mercurial.selenic.com/release/mercurial-2.6.3.tar.gz' + sha1 'd42f6021c1f45e9cf761f07b6d34c8a7e45a4c8d' head 'http://selenic.com/repo/hg', :using => :hg - depends_on 'docutils' => :python if build.head? or build.include? 'doc' + option 'enable-docs', "Build the docs (and require docutils)" - option 'doc', "Build the documentation" + depends_on :python + depends_on :python => 'docutils' if build.include? 'enable-docs' def install - # Don't add compiler specific flags so we can build against - # System-provided Python. - ENV.minimal_optimization + python do + # Inside this python do block, the PYTHONPATH (and more) is alreay set up + if python.from_osx? && !MacOS::CLT.installed? + # Help castrated system python on Xcode find the Python.h: + # Setting CFLAGS does not work :-( + inreplace 'setup.py', 'get_python_inc()', "'#{python.incdir}'" + end + + if build.include? 'enable-doc' + system "make", "doc", "PREFIX=#{prefix}" + system "make", "install-doc", "PREFIX=#{prefix}" + end + + system "make", "PREFIX=#{prefix}", "install-bin" + # Install man pages, which come pre-built in source releases + man1.install 'doc/hg.1' + man5.install 'doc/hgignore.5', 'doc/hgrc.5' + end + # install the completion scripts bash_completion.install 'contrib/bash_completion' => 'hg-completion.bash' - - system "make doc" if build.head? or build.include? 'doc' - system "make local" - - libexec.install 'hg', 'mercurial', 'hgext' - - # Symlink the hg binary into bin - bin.install_symlink libexec/'hg' - - # Remove the hard-coded python invocation from hg - inreplace bin/'hg', %r[^#!.*$], '#!/usr/bin/env python' - - # Install some contribs - bin.install 'contrib/hgk' - - # Install man pages - man1.install 'doc/hg.1' - man5.install 'doc/hgignore.5', 'doc/hgrc.5' + zsh_completion.install 'contrib/zsh_completion' => '_hg' end def caveats s = '' - - s += <<-EOS.undent - Extensions have been installed to: - #{opt_prefix}/libexec/hgext - EOS - if build.head? then s += <<-EOS.undent - - Mercurial is required to fetch its own repository, so there are now two - installations of mercurial on this machine. If the previous installation - was done via Homebrew, the old version may need to be cleaned up and new - version linked: - - brew cleanup mercurial && brew link mercurial + To install the --HEAD version of mercurial, you have to: + 1. `brew install mercurial` # so brew can use this to fetch sources! + 2. `brew unlink mercurial` + 3. `brew install mercurial --HEAD` + 4. `brew cleanup mercurial` # to remove the older non-HEAD version EOS end - - return s + s += python.standard_caveats if python + s end - def test + test do system "#{bin}/hg", "debuginstall" end end |
