diff --git a/Library/Homebrew/extend/os/mac/formula.rb b/Library/Homebrew/extend/os/mac/formula.rb
new file mode 100644
index 0000000000000000000000000000000000000000..0954e8587202bced6688b80587d4ec41a82cb895
--- /dev/null
+++ b/Library/Homebrew/extend/os/mac/formula.rb
@@ -0,0 +1,16 @@
+require "os/mac/linkage_checker"
+
+class Formula
+  def undeclared_runtime_dependencies
+    if optlinked?
+      keg = Keg.new(opt_prefix)
+    elsif prefix.directory?
+      keg = Keg.new(prefix)
+    else
+      return []
+    end
+
+    linkage_checker = LinkageChecker.new(keg, self)
+    linkage_checker.undeclared_deps.map { |n| Dependency.new(n) }
+  end
+end
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index f6fa558b99f33be82a5811b6b81ae5edfc118b6a..72d9b14e5f23ccc44d3e7acc2fb01e0122c1aaca 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -13,7 +13,6 @@ require "pkg_version"
 require "tap"
 require "keg"
 require "migrator"
-require "os/mac/linkage_checker"
 require "extend/ENV"
 require "language/python"
 
@@ -1841,16 +1840,7 @@ class Formula
   end
 
   def undeclared_runtime_dependencies
-    if optlinked?
-      keg = Keg.new(opt_prefix)
-    elsif prefix.directory?
-      keg = Keg.new(prefix)
-    else
-      return []
-    end
-
-    linkage_checker = LinkageChecker.new(keg, self)
-    linkage_checker.undeclared_deps.map { |n| Dependency.new(n) }
+    []
   end
 
   # Returns the prefix for a given formula version number.
diff --git a/Library/Homebrew/test/formula_spec.rb b/Library/Homebrew/test/formula_spec.rb
index 865ea38361ae6657106f36f62648be74aee17dc7..a9d09cb00b70b454b13b2bec7fa806f2e764336e 100644
--- a/Library/Homebrew/test/formula_spec.rb
+++ b/Library/Homebrew/test/formula_spec.rb
@@ -685,44 +685,26 @@ describe Formula do
     expect(f5.runtime_dependencies.map(&:name)).to eq(["f1", "f4"])
   end
 
-  describe "#runtime_dependencies" do
-    specify "runtime dependencies with optional deps from tap" do
-      tap_loader = double
+  specify "runtime dependencies with optional deps from tap" do
+    tap_loader = double
 
-      allow(tap_loader).to receive(:get_formula).and_raise(RuntimeError, "tried resolving tap formula")
-      allow(Formulary).to receive(:loader_for).with("foo/bar/f1", from: nil).and_return(tap_loader)
-      stub_formula_loader(formula("f2") { url("f2-1.0") }, "baz/qux/f2")
+    allow(tap_loader).to receive(:get_formula).and_raise(RuntimeError, "tried resolving tap formula")
+    allow(Formulary).to receive(:loader_for).with("foo/bar/f1", from: nil).and_return(tap_loader)
+    stub_formula_loader(formula("f2") { url("f2-1.0") }, "baz/qux/f2")
 
-      f3 = formula "f3" do
-        url "f3-1.0"
-
-        depends_on "foo/bar/f1" => :optional
-        depends_on "baz/qux/f2"
-      end
-
-      expect(f3.runtime_dependencies.map(&:name)).to eq(["baz/qux/f2"])
-
-      stub_formula_loader(formula("f1") { url("f1-1.0") }, "foo/bar/f1")
-      f3.build = BuildOptions.new(Options.create(["--with-f1"]), f3.options)
+    f3 = formula "f3" do
+      url "f3-1.0"
 
-      expect(f3.runtime_dependencies.map(&:name)).to eq(["foo/bar/f1", "baz/qux/f2"])
+      depends_on "foo/bar/f1" => :optional
+      depends_on "baz/qux/f2"
     end
 
-    it "includes non-declared direct dependencies" do
-      formula = Class.new(Testball).new
-      dependency = formula("dependency") { url "f-1.0" }
+    expect(f3.runtime_dependencies.map(&:name)).to eq(["baz/qux/f2"])
 
-      formula.brew { formula.install }
-      keg = Keg.for(formula.prefix)
-      keg.link
+    stub_formula_loader(formula("f1") { url("f1-1.0") }, "foo/bar/f1")
+    f3.build = BuildOptions.new(Options.create(["--with-f1"]), f3.options)
 
-      brewed_dylibs = { dependency.name => Set["some.dylib"] }
-      linkage_checker = double("linkage checker", brewed_dylibs: brewed_dylibs)
-      allow(LinkageChecker).to receive(:new).with(keg, any_args)
-        .and_return(linkage_checker)
-
-      expect(formula.runtime_dependencies).to include an_object_having_attributes(name: dependency.name)
-    end
+    expect(f3.runtime_dependencies.map(&:name)).to eq(["foo/bar/f1", "baz/qux/f2"])
   end
 
   specify "requirements" do
diff --git a/Library/Homebrew/test/os/mac/formula_spec.rb b/Library/Homebrew/test/os/mac/formula_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..21920238b4ca35174741703d104cc1307a02d11e
--- /dev/null
+++ b/Library/Homebrew/test/os/mac/formula_spec.rb
@@ -0,0 +1,19 @@
+RSpec.describe Formula do
+  describe "#runtime_dependencies" do
+    it "includes non-declared direct dependencies" do
+      formula = Class.new(Testball).new
+      dependency = formula("dependency") { url "f-1.0" }
+
+      formula.brew { formula.install }
+      keg = Keg.for(formula.prefix)
+      keg.link
+
+      brewed_dylibs = { dependency.name => Set["some.dylib"] }
+      linkage_checker = double("linkage checker", brewed_dylibs: brewed_dylibs)
+      allow(LinkageChecker).to receive(:new).with(keg, any_args)
+        .and_return(linkage_checker)
+
+      expect(formula.runtime_dependencies).to include an_object_having_attributes(name: dependency.name)
+    end
+  end
+end