diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index f4126cd9da..7aa44c44f2 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -10,6 +10,7 @@ require "software_spec" require "install_renamed" require "pkg_version" require "tap" +require "formula_renames" # A formula provides instructions and metadata for Homebrew to install a piece # of software. Every Homebrew formula is a {Formula}. @@ -223,6 +224,21 @@ class Formula active_spec.resource(name) end + # An old name for the formula + def oldname + @oldname ||= if core_formula? + if FORMULA_RENAMES && FORMULA_RENAMES.value?(name) + FORMULA_RENAMES.to_a.rassoc(name).first + end + elsif tap? + user, repo = tap.split("/") + formula_renames = Tap.new(user, repo.sub("homebrew-", "")).formula_renames + if formula_renames.value?(name) + formula_renames.to_a.rassoc(name).first + end + end + end + # The {Resource}s for the currently active {SoftwareSpec}. def resources active_spec.resources.values @@ -864,6 +880,7 @@ class Formula "full_name" => full_name, "desc" => desc, "homepage" => homepage, + "oldname" => oldname, "versions" => { "stable" => (stable.version.to_s if stable), "bottle" => bottle ? true : false, diff --git a/Library/Homebrew/formula_renames.rb b/Library/Homebrew/formula_renames.rb new file mode 100644 index 0000000000..2301f315bc --- /dev/null +++ b/Library/Homebrew/formula_renames.rb @@ -0,0 +1,2 @@ +FORMULA_RENAMES = { +}