aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2013-01-23 00:26:20 -0600
committerJack Nagel2013-01-26 11:37:00 -0600
commit8d0c65e47b69ac7625e5b467a5c4ca7feb632d0f (patch)
tree724bf1990b1b4b7a3ff5f10fa575296aeaef8b8c
parent76c01e91e43f2403635f69be253d2ef6727b065d (diff)
downloadhomebrew-8d0c65e47b69ac7625e5b467a5c4ca7feb632d0f.tar.bz2
Move option comparison into BuildOptions
-rw-r--r--Library/Homebrew/bottles.rb2
-rw-r--r--Library/Homebrew/extend/ARGV.rb8
-rw-r--r--Library/Homebrew/formula_support.rb9
-rw-r--r--Library/Homebrew/tab.rb8
4 files changed, 15 insertions, 12 deletions
diff --git a/Library/Homebrew/bottles.rb b/Library/Homebrew/bottles.rb
index 49d0f7539..cc239bffc 100644
--- a/Library/Homebrew/bottles.rb
+++ b/Library/Homebrew/bottles.rb
@@ -15,7 +15,7 @@ def install_bottle? f
and f.downloader.local_bottle_path
not ARGV.build_from_source? \
and MacOS.bottles_supported? \
- and ARGV.used_options(f).empty? \
+ and f.build.used_options.empty? \
and bottle_current?(f)
end
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb
index e409199aa..5f9b992a8 100644
--- a/Library/Homebrew/extend/ARGV.rb
+++ b/Library/Homebrew/extend/ARGV.rb
@@ -7,14 +7,6 @@ module HomebrewArgvExtension
select {|arg| arg[0..0] == '-'}
end
- def used_options f
- f.build.as_flags & options_only
- end
-
- def unused_options f
- f.build.as_flags - options_only
- end
-
def formulae
require 'formula'
@formulae ||= downcased_unique_named.map{ |name| Formula.factory name }
diff --git a/Library/Homebrew/formula_support.rb b/Library/Homebrew/formula_support.rb
index f72358d4d..9f30afbf7 100644
--- a/Library/Homebrew/formula_support.rb
+++ b/Library/Homebrew/formula_support.rb
@@ -185,6 +185,7 @@ end
# This class holds the build-time options defined for a Formula,
# and provides named access to those options during install.
class BuildOptions
+ attr_writer :args
include Enumerable
def initialize args
@@ -253,4 +254,12 @@ class BuildOptions
def build_32_bit?
@args.include? '--32-bit'
end
+
+ def used_options
+ as_flags & @args.options_only
+ end
+
+ def unused_options
+ as_flags - @args.options_only
+ end
end
diff --git a/Library/Homebrew/tab.rb b/Library/Homebrew/tab.rb
index ab0706fdd..7e229393f 100644
--- a/Library/Homebrew/tab.rb
+++ b/Library/Homebrew/tab.rb
@@ -10,14 +10,16 @@ class Tab < OpenStruct
FILENAME = 'INSTALL_RECEIPT.json'
def self.create f, args
+ f.build.args = args
+
sha = HOMEBREW_REPOSITORY.cd do
`git rev-parse --verify -q HEAD 2>/dev/null`.chuzzle
end
- Tab.new :used_options => args.used_options(f),
- :unused_options => args.unused_options(f),
+ Tab.new :used_options => f.build.used_options,
+ :unused_options => f.build.unused_options,
:tabfile => f.prefix.join(FILENAME),
- :built_as_bottle => !!args.build_bottle?,
+ :built_as_bottle => !!ARGV.build_bottle?,
:tapped_from => f.tap,
:time => Time.now.to_i, # to_s would be better but Ruby has no from_s function :P
:HEAD => sha