diff options
| author | Mike McQuaid | 2014-11-28 15:02:42 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2014-11-30 17:59:02 +0000 |
| commit | 52cda8fd8040cbc9588ae64243af924f9fd15be4 (patch) | |
| tree | 4f8fe9f4f5c6a40e7e61f857e29c557ed8a48508 /Library/Homebrew/cmd | |
| parent | 264886cfc9cf0b2058827fb5b70b2731aed2b59f (diff) | |
| download | brew-52cda8fd8040cbc9588ae64243af924f9fd15be4.tar.bz2 | |
Allow searching/installing Homebrew Casks.
People want to install things like GIMP using Homebrew so let's make it
easier for them to find a decent installation method.
Closes Homebrew/homebrew#34496.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Homebrew/cmd')
| -rw-r--r-- | Library/Homebrew/cmd/install.rb | 14 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/search.rb | 8 |
2 files changed, 19 insertions, 3 deletions
diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index eb93d380b..c2789a40e 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -19,7 +19,8 @@ module Homebrew msg = blacklisted? name raise "No available formula for #{name}\n#{msg}" if msg end - if not File.exist? name and name =~ HOMEBREW_TAP_FORMULA_REGEX then + if !File.exist?(name) && (name =~ HOMEBREW_TAP_FORMULA_REGEX \ + || name =~ HOMEBREW_CASK_TAP_FORMULA_REGEX) install_tap $1, $2 end end unless ARGV.force? @@ -27,6 +28,17 @@ module Homebrew begin formulae = [] + if ARGV.casks.any? + brew_cask = Formulary.factory("brew-cask") + install_formula(brew_cask) unless brew_cask.installed? + + ARGV.casks.each do |c| + cmd = "brew", "cask", "install", c + ohai cmd.join " " + system *cmd + end + end + ARGV.formulae.each do |f| # Building head-only without --HEAD is an error if not ARGV.build_head? and f.stable.nil? diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb index d8a68fcec..b05ceec7c 100644 --- a/Library/Homebrew/cmd/search.rb +++ b/Library/Homebrew/cmd/search.rb @@ -76,6 +76,7 @@ module Homebrew %w{Homebrew binary}, %w{Homebrew python}, %w{Homebrew php}, + %w{Caskroom cask}, ] def query_regexp(query) @@ -94,7 +95,10 @@ module Homebrew end def search_tap user, repo, rx - return [] if (HOMEBREW_LIBRARY/"Taps/#{user.downcase}/homebrew-#{repo.downcase}").directory? + if (HOMEBREW_LIBRARY/"Taps/#{user.downcase}/homebrew-#{repo.downcase}").directory? && \ + "#{user}/#{repo}" != "Caskroom/cask" + return [] + end results = [] tree = {} @@ -113,7 +117,7 @@ module Homebrew end end - paths = tree["Formula"] || tree["HomebrewFormula"] || tree["."] || [] + paths = tree["Formula"] || tree["HomebrewFormula"] || tree["Casks"] || tree["."] || [] paths.each do |path| name = File.basename(path, ".rb") results << "#{user}/#{repo}/#{name}" if rx === name |
