homebrew-core/Formula/git.rb
Adam Backstrom 119d697e79 git: also install git-subtree
The git-subtree formula was removed by b3a0a433c, as subtree is now
delivered with mainline Git. This commit ensures subtree is available in
the default install. The manpage is not installed.

See Homebrew/homebrew#12897.

Closes Homebrew/homebrew#15085.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2012-09-25 06:45:12 -07:00

93 lines
3 KiB
Ruby

require 'formula'
class GitManuals < Formula
url 'http://git-core.googlecode.com/files/git-manpages-1.7.12.1.tar.gz'
sha1 '2d9c267c5370cdceb2e67f67abf5b152b0c18db9'
end
class GitHtmldocs < Formula
url 'http://git-core.googlecode.com/files/git-htmldocs-1.7.12.1.tar.gz'
sha1 'b42d5db34612825676d0a231cf9c566f8ad45e9f'
end
class Git < Formula
homepage 'http://git-scm.com'
url 'http://git-core.googlecode.com/files/git-1.7.12.1.tar.gz'
sha1 'c5227b5202947bba3d63dca72662fad02d208800'
head 'https://github.com/git/git.git'
depends_on 'pcre' if build.include? 'with-pcre'
option 'with-blk-sha1', 'Compile with the block-optimized SHA1 implementation'
option 'with-pcre', 'Compile with the PCRE library'
def install
# If these things are installed, tell Git build system to not use them
ENV['NO_FINK'] = '1'
ENV['NO_DARWIN_PORTS'] = '1'
ENV['V'] = '1' # build verbosely
ENV['NO_R_TO_GCC_LINKER'] = '1' # pass arguments to LD correctly
ENV['NO_GETTEXT'] = '1'
ENV['PERL_PATH'] = which 'perl' # workaround for users of perlbrew
ENV['PYTHON_PATH'] = which 'python' # python can be brewed or unbrewed
# Clean XCode 4.x installs don't include Perl MakeMaker
ENV['NO_PERL_MAKEMAKER'] = '1' if MacOS.version >= :lion
ENV['BLK_SHA1'] = '1' if build.include? 'with-blk-sha1'
if build.include? 'with-pcre'
ENV['USE_LIBPCRE'] = '1'
ENV['LIBPCREDIR'] = HOMEBREW_PREFIX
end
system "make", "prefix=#{prefix}",
"CC=#{ENV.cc}",
"CFLAGS=#{ENV.cflags}",
"LDFLAGS=#{ENV.ldflags}",
"install"
# Install the OS X keychain credential helper
cd 'contrib/credential/osxkeychain' do
system "make", "CC=#{ENV.cc}",
"CFLAGS=#{ENV.cflags}",
"LDFLAGS=#{ENV.ldflags}"
bin.install 'git-credential-osxkeychain'
system "make", "clean"
end
# Install git-subtree
cd 'contrib/subtree' do
system "make", "CC=#{ENV.cc}",
"CFLAGS=#{ENV.cflags}",
"LDFLAGS=#{ENV.ldflags}"
bin.install 'git-subtree'
end
# install the completion script first because it is inside 'contrib'
(prefix+'etc/bash_completion.d').install 'contrib/completion/git-completion.bash'
(prefix+'etc/bash_completion.d').install 'contrib/completion/git-prompt.sh'
(share+'git-core').install 'contrib'
# We could build the manpages ourselves, but the build process depends
# on many other packages, and is somewhat crazy, this way is easier.
GitManuals.new.brew { man.install Dir['*'] }
GitHtmldocs.new.brew { (share+'doc/git-doc').install Dir['*'] }
end
def caveats; <<-EOS.undent
The OS X keychain credential helper has been installed to:
#{HOMEBREW_PREFIX}/bin/git-credential-osxkeychain
The 'contrib' directory has been installed to:
#{HOMEBREW_PREFIX}/share/git-core/contrib
EOS
end
def test
HOMEBREW_REPOSITORY.cd do
`#{bin}/git ls-files -- bin`.chomp == 'bin/brew'
end
end
end