53473b6bf5
The MacOS.version? family of methods (other than "leopard?") are poorly defined and lead to confusing code. Replace them in formulae with more explicit comparisons. "MacOS.version" is a special version object that can be compared to numerics, symbols, and strings using the standard Ruby comparison methods. The old methods were moved to compat when the version comparison code was merged, and they must remain there "forever", but they should not be used in new code. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
85 lines
2.8 KiB
Ruby
85 lines
2.8 KiB
Ruby
require 'formula'
|
|
|
|
class GitManuals < Formula
|
|
url 'http://git-core.googlecode.com/files/git-manpages-1.7.12.tar.gz'
|
|
sha1 'fb572729ca5c60161dc651564a50d4378507e20f'
|
|
end
|
|
|
|
class GitHtmldocs < Formula
|
|
url 'http://git-core.googlecode.com/files/git-htmldocs-1.7.12.tar.gz'
|
|
sha1 '50bbfeba77af9a411cc1a1e41220782cf3fd9b5e'
|
|
end
|
|
|
|
class Git < Formula
|
|
homepage 'http://git-scm.com'
|
|
url 'http://git-core.googlecode.com/files/git-1.7.12.tar.gz'
|
|
sha1 '42ec1037f1ee5bfeb405710c83b73c0515ad26e6'
|
|
|
|
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 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
|