aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-08-10 21:45:23 -0500
committerJack Nagel2014-08-10 21:45:23 -0500
commit22a3e838ff4f86927b2fc1a8671b96e9bfd8d3d3 (patch)
tree013b0aadb94b5c9b948b542642bfbd695b3d09bd
parente50adde2cc9e378a16afe46be6911f9938771638 (diff)
downloadhomebrew-22a3e838ff4f86927b2fc1a8671b96e9bfd8d3d3.tar.bz2
Handle legacy options in the method_added hook
We only need to process the legacy options at load time, not each time the class is instantiated, and only when there is an options method defined.
-rw-r--r--Library/Homebrew/formula.rb12
-rw-r--r--Library/Homebrew/software_spec.rb4
2 files changed, 8 insertions, 8 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 7b591066c..78d3a568e 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -37,7 +37,6 @@ class Formula
@active_spec = determine_active_spec(spec)
validate_attributes :url, :name, :version
- active_spec.add_legacy_options(options)
@pkg_version = PkgVersion.new(version, revision)
@pin = FormulaPin.new(self)
end
@@ -213,9 +212,6 @@ class Formula
# tell the user about any caveats regarding this package, return a string
def caveats; nil end
- # any e.g. configure options for this package
- def options; [] end
-
# Deprecated
DATA = :DATA
def patches; {} end
@@ -592,6 +588,14 @@ class Formula
raise "You cannot override Formula#brew in class #{name}"
when :test
@test_defined = true
+ when :options
+ instance = allocate
+
+ specs.each do |spec|
+ instance.options.each do |opt, desc|
+ spec.options << Option.new(opt[/^--(.+)$/, 1], desc)
+ end
+ end
end
end
diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index 867d10393..c595a4596 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -127,10 +127,6 @@ class SoftwareSpec
options << Option.new("without-#{name}", "Build without #{name} support")
end
end
-
- def add_legacy_options(list)
- list.each { |opt, desc| options << Option.new(opt[/^--(.+)$/, 1], desc) }
- end
end
class HeadSoftwareSpec < SoftwareSpec