diff options
| author | Jack Nagel | 2014-08-10 21:45:23 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-08-10 21:45:23 -0500 |
| commit | 22a3e838ff4f86927b2fc1a8671b96e9bfd8d3d3 (patch) | |
| tree | 013b0aadb94b5c9b948b542642bfbd695b3d09bd /Library | |
| parent | e50adde2cc9e378a16afe46be6911f9938771638 (diff) | |
| download | homebrew-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.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/formula.rb | 12 | ||||
| -rw-r--r-- | Library/Homebrew/software_spec.rb | 4 |
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 |
