cask_dependent: fix incorrect requirement logic
This commit is contained in:
parent
f12442cce6
commit
ea44c21822
@ -1,8 +1,17 @@
|
||||
# typed: true
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "requirement"
|
||||
|
||||
# An adapter for casks to provide dependency information in a formula-like interface.
|
||||
class CaskDependent
|
||||
# Defines a dependency on another cask
|
||||
class Requirement < ::Requirement
|
||||
satisfy(build_env: false) do
|
||||
Cask::CaskLoader.load(cask).installed?
|
||||
end
|
||||
end
|
||||
|
||||
attr_reader :cask
|
||||
|
||||
def initialize(cask)
|
||||
@ -33,11 +42,21 @@ class CaskDependent
|
||||
dsl_reqs = @cask.depends_on
|
||||
|
||||
dsl_reqs.arch&.each do |arch|
|
||||
requirements << ArchRequirement.new([:x86_64]) if arch[:bits] == 64
|
||||
requirements << ArchRequirement.new([arch[:type]])
|
||||
arch = if arch[:bits] == 64
|
||||
if arch[:type] == :intel
|
||||
:x86_64
|
||||
else
|
||||
:"#{arch[:type]}64"
|
||||
end
|
||||
elsif arch[:type] == :intel && arch[:bits] == 32
|
||||
:i386
|
||||
else
|
||||
arch[:type]
|
||||
end
|
||||
requirements << ArchRequirement.new([arch])
|
||||
end
|
||||
dsl_reqs.cask.each do |cask_ref|
|
||||
requirements << Requirement.new([{ cask: cask_ref }])
|
||||
requirements << CaskDependent::Requirement.new([{ cask: cask_ref }])
|
||||
end
|
||||
requirements << dsl_reqs.macos if dsl_reqs.macos
|
||||
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "delegate"
|
||||
require "cask_dependent"
|
||||
|
||||
# A collection of dependencies.
|
||||
#
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user