aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisty De Meo2012-01-22 22:32:15 -0600
committerMisty De Meo2012-01-25 21:45:19 -0600
commitaedacdf209815450204602ff403bb5c4510d6a3a (patch)
tree27ecb795418341d3ea2e435c3eb415c7bfc37f91
parent84a2e44db41ee4c45ad8735b96d9bb7a655efde3 (diff)
downloadhomebrew-aedacdf209815450204602ff403bb5c4510d6a3a.tar.bz2
Add `devel` to the DSL, + stable and bottle blocks
This commit adds a `devel` entry to the DSL, allowing formulae to specify an unstable branch. `devel` takes a block, which should contain standard `url` and `md5` fields (and `version`, if necessary). This must come after the standard DSL fields. This commit also migrates over all formulae currently using `devel` to the new syntax, as well as formulae which used `head` for non-VCS urls. The new syntax is also available for `stable` and `bottle`. `stable` is an option alongside the old syntax. `bottle` replaces the old syntax. Note that the @stable ivar in Formula has been renamed to @standard, and the @bottle ivar has been renamed to @bottle_url. Closes #9735. Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
-rw-r--r--Library/Formula/bdw-gc.rb8
-rw-r--r--Library/Formula/boost.rb6
-rw-r--r--Library/Formula/cmake.rb7
-rw-r--r--Library/Formula/erlang.rb6
-rw-r--r--Library/Formula/fltk.rb8
-rw-r--r--Library/Formula/fox.rb10
-rw-r--r--Library/Formula/ghc.rb18
-rw-r--r--Library/Formula/guile.rb7
-rw-r--r--Library/Formula/icu4c.rb6
-rw-r--r--Library/Formula/imagemagick.rb6
-rw-r--r--Library/Formula/libmusicbrainz.rb10
-rw-r--r--Library/Formula/nginx.rb7
-rw-r--r--Library/Formula/qt.rb7
-rw-r--r--Library/Formula/scantailor.rb13
-rw-r--r--Library/Formula/wine.rb10
-rwxr-xr-xLibrary/Homebrew/cmd/audit.rb8
-rw-r--r--Library/Homebrew/cmd/install.rb2
-rw-r--r--Library/Homebrew/formula.rb44
-rw-r--r--Library/Homebrew/formula_installer.rb6
19 files changed, 111 insertions, 78 deletions
diff --git a/Library/Formula/bdw-gc.rb b/Library/Formula/bdw-gc.rb
index 91d9dc689..1721c012d 100644
--- a/Library/Formula/bdw-gc.rb
+++ b/Library/Formula/bdw-gc.rb
@@ -3,13 +3,13 @@ require 'formula'
class BdwGc < Formula
homepage 'http://www.hpl.hp.com/personal/Hans_Boehm/gc/'
- if ARGV.build_devel?
+ url 'http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.1.tar.gz'
+ md5 '2ff9924c7249ef7f736ecfe6f08f3f9b'
+
+ devel do
url 'http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz'
md5 '319d0b18cc4eb735c8038ece9df055e4'
version '7.2alpha6'
- else
- url 'http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.1.tar.gz'
- md5 '2ff9924c7249ef7f736ecfe6f08f3f9b'
end
# patch to fix inline asm errors with LLVM, present in upstream SVN
diff --git a/Library/Formula/boost.rb b/Library/Formula/boost.rb
index 56f3c814a..d4c542403 100644
--- a/Library/Formula/boost.rb
+++ b/Library/Formula/boost.rb
@@ -7,8 +7,10 @@ class Boost < Formula
head 'http://svn.boost.org/svn/boost/trunk', :using => :svn
# Bottle built on 10.7.2 using XCode 4.2
- bottle 'https://downloads.sourceforge.net/project/machomebrew/Bottles/boost-1.48.0-bottle.tar.gz'
- bottle_sha1 'c7871ddd020a24e3b0cfd3c9a352a1210b68b372'
+ bottle do
+ url 'https://downloads.sourceforge.net/project/machomebrew/Bottles/boost-1.48.0-bottle.tar.gz'
+ sha1 'c7871ddd020a24e3b0cfd3c9a352a1210b68b372'
+ end
def patches
# https://svn.boost.org/trac/boost/ticket/6131
diff --git a/Library/Formula/cmake.rb b/Library/Formula/cmake.rb
index 3d193df95..78c0bb457 100644
--- a/Library/Formula/cmake.rb
+++ b/Library/Formula/cmake.rb
@@ -4,8 +4,11 @@ class Cmake < Formula
url 'http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz'
md5 'e1b237aeaed880f65dec9c20602452f6'
homepage 'http://www.cmake.org/'
- bottle 'https://downloads.sf.net/project/machomebrew/Bottles/cmake-2.8.7-bottle.tar.gz'
- bottle_sha1 'f218ed64ce6e7a5d3670acdd6a18e5ed95421d1f'
+
+ bottle do
+ url 'https://downloads.sf.net/project/machomebrew/Bottles/cmake-2.8.7-bottle.tar.gz'
+ sha1 'f218ed64ce6e7a5d3670acdd6a18e5ed95421d1f'
+ end
def install
# A framework-installed expat will be detected and mess things up.
diff --git a/Library/Formula/erlang.rb b/Library/Formula/erlang.rb
index f59e25a8d..ecd29599f 100644
--- a/Library/Formula/erlang.rb
+++ b/Library/Formula/erlang.rb
@@ -27,8 +27,10 @@ class Erlang < Formula
md5 'f6cd1347dfb6436b99cc1313011a3d24'
version 'R14B04'
- bottle 'https://downloads.sf.net/project/machomebrew/Bottles/erlang-R14B04-bottle.tar.gz'
- bottle_sha1 '0cbd2ebd59491a473b38833970ba0cfb78549594'
+ bottle do
+ url 'https://downloads.sf.net/project/machomebrew/Bottles/erlang-R14B04-bottle.tar.gz'
+ sha1 '0cbd2ebd59491a473b38833970ba0cfb78549594'
+ end
head 'https://github.com/erlang/otp.git', :branch => 'dev'
diff --git a/Library/Formula/fltk.rb b/Library/Formula/fltk.rb
index 15a455b17..a054cd648 100644
--- a/Library/Formula/fltk.rb
+++ b/Library/Formula/fltk.rb
@@ -3,11 +3,11 @@ require 'formula'
class Fltk < Formula
url 'http://ftp2.easysw.com/pub/fltk/1.3.0/fltk-1.3.0-source.tar.gz'
homepage 'http://www.fltk.org/'
- head 'http://ftp.easysw.com/pub/fltk/snapshots/fltk-1.3.x-r9013.tar.bz2'
- if ARGV.build_head?
+ md5 '44d5d7ba06afdd36ea17da6b4b703ca3'
+
+ devel do
+ url 'http://ftp.easysw.com/pub/fltk/snapshots/fltk-1.3.x-r9013.tar.bz2'
md5 '9c5eb9eb8642be56cb68e7c5b1c98611'
- else
- md5 '44d5d7ba06afdd36ea17da6b4b703ca3'
end
depends_on 'jpeg'
diff --git a/Library/Formula/fox.rb b/Library/Formula/fox.rb
index b74842bda..307532d1f 100644
--- a/Library/Formula/fox.rb
+++ b/Library/Formula/fox.rb
@@ -2,14 +2,14 @@ require 'formula'
class Fox < Formula
# Development and stable branches are incompatible
- if ARGV.build_devel?
+ url 'ftp://ftp.fox-toolkit.org/pub/fox-1.6.44.tar.gz'
+ md5 '6ccc8cbcfa6e4c8b6e4deeeb39c36434'
+ homepage 'http://www.fox-toolkit.org/'
+
+ devel do
url 'http://ftp.fox-toolkit.org/pub/fox-1.7.30.tar.gz'
md5 '345df53f1e652bc99d1348444b4e3016'
- else
- url 'ftp://ftp.fox-toolkit.org/pub/fox-1.6.44.tar.gz'
- md5 '6ccc8cbcfa6e4c8b6e4deeeb39c36434'
end
- homepage 'http://www.fox-toolkit.org/'
fails_with_llvm "Inline asm errors during build" if ARGV.build_devel?
diff --git a/Library/Formula/ghc.rb b/Library/Formula/ghc.rb
index 0014d2847..6b53c4370 100644
--- a/Library/Formula/ghc.rb
+++ b/Library/Formula/ghc.rb
@@ -2,16 +2,16 @@ require 'formula'
class Ghc < Formula
homepage 'http://haskell.org/ghc/'
- if not ARGV.build_devel?
- version '7.0.4'
- if ARGV.include? '--64bit'
- url "http://www.haskell.org/ghc/dist/7.0.4/ghc-7.0.4-x86_64-apple-darwin.tar.bz2"
- md5 'af89d3d2ca6e9b23384baacb7d8161dd'
- else
- url "http://www.haskell.org/ghc/dist/7.0.4/ghc-7.0.4-i386-apple-darwin.tar.bz2"
- md5 'ce297e783d113cf1547386703d1b1061'
- end
+ version '7.0.4'
+ if ARGV.include? '--64bit'
+ url "http://www.haskell.org/ghc/dist/7.0.4/ghc-7.0.4-x86_64-apple-darwin.tar.bz2"
+ md5 'af89d3d2ca6e9b23384baacb7d8161dd'
else
+ url "http://www.haskell.org/ghc/dist/7.0.4/ghc-7.0.4-i386-apple-darwin.tar.bz2"
+ md5 'ce297e783d113cf1547386703d1b1061'
+ end
+
+ devel do
version '7.2.2'
if ARGV.include? '--64bit'
url "http://www.haskell.org/ghc/dist/7.2.2/ghc-7.2.2-x86_64-apple-darwin.tar.bz2"
diff --git a/Library/Formula/guile.rb b/Library/Formula/guile.rb
index aeb5d0cf9..7486abc16 100644
--- a/Library/Formula/guile.rb
+++ b/Library/Formula/guile.rb
@@ -3,13 +3,12 @@ require 'formula'
class Guile < Formula
homepage 'http://www.gnu.org/software/guile/'
url 'http://ftpmirror.gnu.org/guile/guile-1.8.7.tar.gz'
+ sha1 '24cd2f06439c76d41d982a7384fe8a0fe5313b54'
mirror 'http://ftp.gnu.org/gnu/guile/guile-1.8.7.tar.gz'
- head 'http://ftpmirror.gnu.org/guile/guile-2.0.2.tar.gz'
- if ARGV.build_head?
+ devel do
+ url 'http://ftpmirror.gnu.org/guile/guile-2.0.2.tar.gz'
sha1 '1943fd22417ce1e51babbdcd7681e66a794a8da3'
- else
- sha1 '24cd2f06439c76d41d982a7384fe8a0fe5313b54'
end
depends_on 'pkg-config' => :build
diff --git a/Library/Formula/icu4c.rb b/Library/Formula/icu4c.rb
index 944c163ec..73ed68f59 100644
--- a/Library/Formula/icu4c.rb
+++ b/Library/Formula/icu4c.rb
@@ -6,8 +6,10 @@ class Icu4c < Formula
md5 'ea93970a0275be6b42f56953cd332c17'
version '4.8.1.1'
- bottle 'https://downloads.sf.net/project/machomebrew/Bottles/icu4c-4.8.1.1-bottle.tar.gz'
- bottle_sha1 '51b6e6e735ea581a2736127414e600362846b7e1'
+ bottle do
+ url 'https://downloads.sf.net/project/machomebrew/Bottles/icu4c-4.8.1.1-bottle.tar.gz'
+ sha1 '51b6e6e735ea581a2736127414e600362846b7e1'
+ end
keg_only "Conflicts; see: https://github.com/mxcl/homebrew/issues/issue/167"
diff --git a/Library/Formula/imagemagick.rb b/Library/Formula/imagemagick.rb
index ded45928a..1998337e8 100644
--- a/Library/Formula/imagemagick.rb
+++ b/Library/Formula/imagemagick.rb
@@ -35,8 +35,10 @@ class Imagemagick < Formula
homepage 'http://www.imagemagick.org'
head 'https://github.com/trevor/ImageMagick.git'
- bottle "http://downloads.sf.net/project/machomebrew/Bottles/imagemagick-#{version}-bottle.tar.gz"
- bottle_sha1 'd63cbdfb4e314f17ed1d553e5e1c7f3eebf1654b'
+ bottle do
+ url "http://downloads.sf.net/project/machomebrew/Bottles/imagemagick-#{version}-bottle.tar.gz"
+ sha1 'd63cbdfb4e314f17ed1d553e5e1c7f3eebf1654b'
+ end
depends_on 'jpeg'
diff --git a/Library/Formula/libmusicbrainz.rb b/Library/Formula/libmusicbrainz.rb
index 00ad7fcb4..d19e07b14 100644
--- a/Library/Formula/libmusicbrainz.rb
+++ b/Library/Formula/libmusicbrainz.rb
@@ -2,13 +2,13 @@ require 'formula'
class Libmusicbrainz < Formula
homepage 'http://musicbrainz.org'
- if ARGV.build_devel?
- version '4.0.0beta1'
+ url 'http://ftp.musicbrainz.org/pub/musicbrainz/libmusicbrainz-3.0.3.tar.gz'
+ md5 'f4824d0a75bdeeef1e45cc88de7bb58a'
+
+ devel do
url 'ftp://ftp.musicbrainz.org/pub/musicbrainz/libmusicbrainz-4.0.0beta1.tar.gz'
md5 '7dffa8fa08e4c0bc8119b8f48a15da41'
- else
- url 'http://ftp.musicbrainz.org/pub/musicbrainz/libmusicbrainz-3.0.3.tar.gz'
- md5 'f4824d0a75bdeeef1e45cc88de7bb58a'
+ version '4.0.0beta1'
end
depends_on 'neon'
diff --git a/Library/Formula/nginx.rb b/Library/Formula/nginx.rb
index defaf7486..796dd19fe 100644
--- a/Library/Formula/nginx.rb
+++ b/Library/Formula/nginx.rb
@@ -3,12 +3,11 @@ require 'formula'
class Nginx < Formula
homepage 'http://nginx.org/'
url 'http://nginx.org/download/nginx-1.0.11.tar.gz'
- head 'http://nginx.org/download/nginx-1.1.13.tar.gz'
+ md5 'a41a01d7cd46e13ea926d7c9ca283a95'
- if ARGV.build_head?
+ devel do
+ url 'http://nginx.org/download/nginx-1.1.13.tar.gz'
md5 '3a457fc31da382ed0546bfb76fc70c13'
- else
- md5 'a41a01d7cd46e13ea926d7c9ca283a95'
end
depends_on 'pcre'
diff --git a/Library/Formula/qt.rb b/Library/Formula/qt.rb
index 2b3575fbc..66ababb4c 100644
--- a/Library/Formula/qt.rb
+++ b/Library/Formula/qt.rb
@@ -5,8 +5,11 @@ class Qt < Formula
url 'http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz'
md5 'e8a5fdbeba2927c948d9f477a6abe904'
homepage 'http://qt.nokia.com/'
- bottle 'https://downloads.sf.net/project/machomebrew/Bottles/qt-4.8.0-bottle.tar.gz'
- bottle_sha1 '2bfe00c5112b0d2a680cd01144701f8937846096'
+
+ bottle do
+ url 'https://downloads.sf.net/project/machomebrew/Bottles/qt-4.8.0-bottle.tar.gz'
+ sha1 '2bfe00c5112b0d2a680cd01144701f8937846096'
+ end
head 'git://gitorious.org/qt/qt.git', :branch => 'master'
diff --git a/Library/Formula/scantailor.rb b/Library/Formula/scantailor.rb
index 64432d500..6553d6155 100644
--- a/Library/Formula/scantailor.rb
+++ b/Library/Formula/scantailor.rb
@@ -2,11 +2,10 @@ require 'formula'
class Scantailor < Formula
homepage 'http://scantailor.sourceforge.net/'
+ url 'http://downloads.sourceforge.net/project/scantailor/scantailor/0.9.10/scantailor-0.9.10.tar.gz'
+ md5 'f962c93a2d63b449fa3f6612ade3b028'
- unless ARGV.include? '--enhanced'
- url 'http://downloads.sourceforge.net/project/scantailor/scantailor/0.9.10/scantailor-0.9.10.tar.gz'
- md5 'f962c93a2d63b449fa3f6612ade3b028'
- else
+ devel do
url 'http://downloads.sourceforge.net/project/scantailor/scantailor-devel/enhanced/scantailor-enhanced-20110907.tar.gz'
md5 '8ba5c23c611e7bdd7cdb40f991f6fd35'
version 'enhanced-20110907'
@@ -18,12 +17,6 @@ class Scantailor < Formula
depends_on 'jpeg'
depends_on 'libtiff'
- def options
- [
- ["--enhanced", "Build experimental \"enhanced\" branch, which includes extra features"]
- ]
- end
-
def install
system "cmake . #{std_cmake_parameters} -DPNG_INCLUDE_DIR=/usr/X11/include"
system "make install"
diff --git a/Library/Formula/wine.rb b/Library/Formula/wine.rb
index c50cca7ec..ab898cb07 100644
--- a/Library/Formula/wine.rb
+++ b/Library/Formula/wine.rb
@@ -12,17 +12,15 @@ end
class Wine < Formula
homepage 'http://winehq.org/'
+ url 'http://downloads.sourceforge.net/project/wine/Source/wine-1.2.3.tar.bz2'
+ sha256 '3fd8d3f2b466d07eb90b8198cdc9ec3005917a4533db7b8c6c69058a2e57c61f'
+ head 'git://source.winehq.org/git/wine.git'
- if ARGV.build_devel?
+ devel do
url 'http://downloads.sourceforge.net/project/wine/Source/wine-1.3.35.tar.bz2'
sha256 'e23e4da5efebc11206198e9cf2a2638851db4e00a1af0abccd8b6369e99c288b'
- else
- url 'http://downloads.sourceforge.net/project/wine/Source/wine-1.2.3.tar.bz2'
- sha256 '3fd8d3f2b466d07eb90b8198cdc9ec3005917a4533db7b8c6c69058a2e57c61f'
end
- head 'git://source.winehq.org/git/wine.git'
-
depends_on 'jpeg'
depends_on 'libicns'
diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb
index e980466da..5f4af55a2 100755
--- a/Library/Homebrew/cmd/audit.rb
+++ b/Library/Homebrew/cmd/audit.rb
@@ -290,7 +290,7 @@ module Homebrew extend self
ff.each do |f|
problems = []
- if f.unstable and f.stable.nil?
+ if f.unstable and f.standard.nil?
problems += [' * head-only formula']
end
@@ -314,6 +314,12 @@ module Homebrew extend self
problems += [' * invalid or missing version'] if f.version.to_s.empty?
+ problems << " * 'devel' block found before stable 'url'" if text =~ /devel.+(url '.+').+(url '.+')/m
+
+ problems << " * 'devel' block found before 'head'" if text =~ /devel.+(head '.+')/m
+
+ problems << " * Empty 'devel' block found" if text =~ /devel do\s+end/
+
# Don't try remaining audits on text in __END__
text_without_patch = (text.split("__END__")[0]).strip()
diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb
index 735db6107..779482b7c 100644
--- a/Library/Homebrew/cmd/install.rb
+++ b/Library/Homebrew/cmd/install.rb
@@ -89,7 +89,7 @@ module Homebrew extend self
next if f.installed? unless ARGV.force?
# Building head-only without --HEAD is an error
- if not ARGV.build_head? and f.stable.nil?
+ if not ARGV.build_head? and f.standard.nil?
raise "This is a head-only formula; install with `brew install --HEAD #{f.name}`"
end
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index b4763f8fb..bae651bd3 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -100,19 +100,19 @@ class Formula
include FileUtils
attr_reader :name, :path, :url, :version, :homepage, :specs, :downloader
- attr_reader :stable, :unstable
- attr_reader :bottle, :bottle_sha1, :head
+ attr_reader :standard, :unstable
+ attr_reader :bottle_url, :bottle_sha1, :head
# Homebrew determines the name
def initialize name='__UNKNOWN__', path=nil
set_instance_variable 'homepage'
set_instance_variable 'url'
- set_instance_variable 'bottle'
+ set_instance_variable 'bottle_url'
set_instance_variable 'bottle_sha1'
set_instance_variable 'head'
set_instance_variable 'specs'
- set_instance_variable 'stable'
+ set_instance_variable 'standard'
set_instance_variable 'unstable'
if @head and (not @url or ARGV.build_head?)
@@ -120,10 +120,10 @@ class Formula
@version = 'HEAD'
@spec_to_use = @unstable
else
- if @stable.nil?
+ if @standard.nil?
@spec_to_use = SoftwareSpecification.new(@url, @specs)
else
- @spec_to_use = @stable
+ @spec_to_use = @standard
end
end
@@ -583,7 +583,7 @@ private
downloader = @downloader
# Don't attempt mirrors if this install is not pointed at a "stable" URL.
# This can happen when options like `--HEAD` are invoked.
- mirror_list = @spec_to_use == @stable ? mirrors : []
+ mirror_list = @spec_to_use == @standard ? mirrors : []
# Ensure the cache exists
HOMEBREW_CACHE.mkpath
@@ -731,7 +731,7 @@ EOF
class << self
# The methods below define the formula DSL.
- attr_reader :stable, :unstable
+ attr_reader :standard, :unstable
def self.attr_rw(*attrs)
attrs.each do |attr|
@@ -745,7 +745,7 @@ EOF
attr_rw :version, :homepage, :mirrors, :specs, :deps, :external_deps
attr_rw :keg_only_reason, :fails_with_llvm_reason, :skip_clean_all
- attr_rw :bottle, :bottle_sha1
+ attr_rw :bottle_url, :bottle_sha1
attr_rw(*CHECKSUM_TYPES)
def head val=nil, specs=nil
@@ -757,11 +757,35 @@ EOF
def url val=nil, specs=nil
return @url if val.nil?
- @stable = SoftwareSpecification.new(val, specs)
+ @standard = SoftwareSpecification.new(val, specs)
@url = val
@specs = specs
end
+ def stable &block
+ raise "url and md5 must be specified in a block" unless block_given?
+ instance_eval &block unless ARGV.build_devel? or ARGV.build_head?
+ end
+
+ def devel &block
+ raise "url and md5 must be specified in a block" unless block_given?
+ instance_eval &block if ARGV.build_devel?
+ end
+
+ def bottle url=nil, &block
+ if block_given?
+ eval <<-EOCLASS
+ module BottleData
+ def self.url url; @url = url; end
+ def self.sha1 sha1; @sha1 = sha1; end
+ def self.return_data; [@url,@sha1]; end
+ end
+ EOCLASS
+ BottleData.instance_eval &block
+ @bottle_url, @bottle_sha1 = BottleData.return_data
+ end
+ end
+
def mirror val, specs=nil
@mirrors ||= []
@mirrors << {:url => val, :specs => specs}
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index deee2b956..c5f0f999e 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -15,8 +15,8 @@ class FormulaInstaller
@f = ff
@show_header = true
@ignore_deps = ARGV.include? '--ignore-dependencies' || ARGV.interactive?
- @install_bottle = !ff.bottle.nil? && !ARGV.build_from_source? &&
- Pathname.new(ff.bottle).version == ff.version
+ @install_bottle = !ff.bottle_url.nil? && !ARGV.build_from_source? &&
+ Pathname.new(ff.bottle_url).version == ff.version
end
def install
@@ -189,7 +189,7 @@ class FormulaInstaller
def pour
HOMEBREW_CACHE.mkpath
- downloader = CurlBottleDownloadStrategy.new f.bottle, f.name, f.version, nil
+ downloader = CurlBottleDownloadStrategy.new f.bottle_url, f.name, f.version, nil
downloader.fetch
f.verify_download_integrity downloader.tarball_path, f.bottle_sha1, "SHA1"
HOMEBREW_CELLAR.cd do