Remove arch and macos dependencies from cask tab

This commit is contained in:
Rylan Polster 2024-07-10 11:25:05 -04:00
parent fbe422b768
commit fec84544a9
No known key found for this signature in database
GPG Key ID: 46A744940CFF4D64
2 changed files with 11 additions and 28 deletions

View File

@ -13,7 +13,7 @@ module Cask
tab.tabfile = cask.metadata_main_container_path/FILENAME
tab.uninstall_flight_blocks = cask.uninstall_flight_blocks?
tab.runtime_dependencies = Tab.runtime_deps_hash(cask, cask.depends_on)
tab.runtime_dependencies = Tab.runtime_deps_hash(cask)
tab.source["version"] = cask.version.to_s
tab.source["path"] = cask.sourcefile_path.to_s
tab.uninstall_artifacts = cask.artifacts_list(uninstall_only: true)
@ -49,7 +49,7 @@ module Cask
tab
end
def self.runtime_deps_hash(cask, depends_on)
def self.runtime_deps_hash(cask)
cask_and_formula_dep_graph = ::Utils::TopologicalHash.graph_package_dependencies(cask)
cask_deps, formula_deps = cask_and_formula_dep_graph.values.flatten.uniq.partition do |dep|
dep.is_a?(Cask)
@ -73,9 +73,6 @@ module Cask
end
end
runtime_deps[:macos] = depends_on.macos if depends_on.macos
runtime_deps[:arch] = depends_on.arch if depends_on.arch
runtime_deps
end

View File

@ -89,7 +89,7 @@ RSpec.describe Cask::Tab, :cask do
specify "with no dependencies" do
cask = Cask::CaskLoader.load("local-transmission")
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq({})
expect(described_class.runtime_deps_hash(cask)).to eq({})
end
specify "with cask dependencies" do
@ -100,37 +100,25 @@ RSpec.describe Cask::Tab, :cask do
{ "full_name"=>"local-transmission", "version"=>"2.61", "declared_directly"=>true },
],
}
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq(expected_hash)
expect(described_class.runtime_deps_hash(cask)).to eq(expected_hash)
end
specify "with macos symbol dependencies" do
it "ignores macos symbol dependencies" do
cask = Cask::CaskLoader.load("with-depends-on-macos-symbol")
expected_hash = {
macos: MacOSRequirement.new([MacOS.version.to_sym], comparator: "=="),
}
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq(expected_hash)
expect(described_class.runtime_deps_hash(cask)).to eq({})
end
specify "with macos array dependencies" do
it "ignores macos array dependencies" do
cask = Cask::CaskLoader.load("with-depends-on-macos-array")
expected_hash = {
macos: MacOSRequirement.new([[:catalina, MacOS.version.to_sym]], comparator: "=="),
}
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq(expected_hash)
expect(described_class.runtime_deps_hash(cask)).to eq({})
end
specify "with arch dependencies" do
it "ignores arch dependencies" do
cask = Cask::CaskLoader.load("with-depends-on-arch")
expected_hash = {
arch: [
{ type: :intel, bits: 64 },
{ type: :arm, bits: 64 },
],
}
expect(described_class.runtime_deps_hash(cask, cask.depends_on)).to eq(expected_hash)
expect(described_class.runtime_deps_hash(cask)).to eq({})
end
specify "with all types of dependencies" do
@ -141,7 +129,6 @@ RSpec.describe Cask::Tab, :cask do
expect(Formulary).to receive(:factory).with("unar").and_return(unar)
expected_hash = {
arch: [{ type: :intel, bits: 64 }, { type: :arm, bits: 64 }],
cask: [
{ "full_name"=>"local-caffeine", "version"=>"1.2.3", "declared_directly"=>true },
{ "full_name"=>"with-depends-on-cask", "version"=>"1.2.3", "declared_directly"=>true },
@ -150,10 +137,9 @@ RSpec.describe Cask::Tab, :cask do
formula: [
{ "full_name"=>"unar", "version"=>"1.2", "revision"=>0, "pkg_version"=>"1.2", "declared_directly"=>true },
],
macos: MacOSRequirement.new([:el_capitan], comparator: ">="),
}
runtime_deps_hash = described_class.runtime_deps_hash(cask, cask.depends_on)
runtime_deps_hash = described_class.runtime_deps_hash(cask)
tab = described_class.new
tab.runtime_dependencies = runtime_deps_hash
expect(tab.runtime_dependencies).to eql(expected_hash)