119d697e79
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>
93 lines
3 KiB
Ruby
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
|