mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Merge pull request #10769 from Bo98/big-sur-sdk
Migrating to the MacOSX11.sdk symlink
This commit is contained in:
commit
bee3e6725c
@ -433,9 +433,13 @@ module Homebrew
|
|||||||
locator = MacOS.sdk_locator
|
locator = MacOS.sdk_locator
|
||||||
|
|
||||||
source = if locator.source == :clt
|
source = if locator.source == :clt
|
||||||
|
return if MacOS::CLT.below_minimum_version? # Handled by other diagnostics.
|
||||||
|
|
||||||
update_instructions = MacOS::CLT.update_instructions
|
update_instructions = MacOS::CLT.update_instructions
|
||||||
"Command Line Tools (CLT)"
|
"Command Line Tools (CLT)"
|
||||||
else
|
else
|
||||||
|
return if MacOS::Xcode.below_minimum_version? # Handled by other diagnostics.
|
||||||
|
|
||||||
update_instructions = MacOS::Xcode.update_instructions
|
update_instructions = MacOS::Xcode.update_instructions
|
||||||
"Xcode"
|
"Xcode"
|
||||||
end
|
end
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
# This should most probably benefit from getting a "Requires:" field added
|
# This should most probably benefit from getting a "Requires:" field added
|
||||||
# dynamically by configure.
|
# dynamically by configure.
|
||||||
#
|
#
|
||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
|
homebrew_sdkroot=/Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
|
||||||
prefix=${homebrew_sdkroot}/usr
|
prefix=${homebrew_sdkroot}/usr
|
||||||
exec_prefix=/usr
|
exec_prefix=/usr
|
||||||
libdir=${exec_prefix}/lib
|
libdir=${exec_prefix}/lib
|
||||||
|
@ -9,7 +9,8 @@ module OS
|
|||||||
#
|
#
|
||||||
# @api private
|
# @api private
|
||||||
class SDK
|
class SDK
|
||||||
VERSIONED_SDK_REGEX = /MacOSX(\d+\.\d+)\.sdk$/.freeze
|
# 11.x SDKs are explicitly excluded - we want the MacOSX11.sdk symlink instead.
|
||||||
|
VERSIONED_SDK_REGEX = /MacOSX(10\.\d+|\d+)\.sdk$/.freeze
|
||||||
|
|
||||||
attr_reader :version, :path, :source
|
attr_reader :version, :path, :source
|
||||||
|
|
||||||
@ -41,24 +42,23 @@ module OS
|
|||||||
# Bail out if there is no SDK prefix at all
|
# Bail out if there is no SDK prefix at all
|
||||||
return @all_sdks unless File.directory? sdk_prefix
|
return @all_sdks unless File.directory? sdk_prefix
|
||||||
|
|
||||||
# Use unversioned SDK path on Big Sur to avoid issues such as:
|
|
||||||
# https://github.com/Homebrew/homebrew-core/issues/67075
|
|
||||||
unversioned_sdk_path = Pathname.new("#{sdk_prefix}/MacOSX.sdk")
|
|
||||||
version = read_sdk_version(unversioned_sdk_path)
|
|
||||||
if version && version >= :big_sur
|
|
||||||
unversioned_sdk_version = version
|
|
||||||
@all_sdks << SDK.new(unversioned_sdk_version, unversioned_sdk_path, source)
|
|
||||||
end
|
|
||||||
|
|
||||||
Dir["#{sdk_prefix}/MacOSX*.sdk"].each do |sdk_path|
|
Dir["#{sdk_prefix}/MacOSX*.sdk"].each do |sdk_path|
|
||||||
next unless sdk_path.match?(SDK::VERSIONED_SDK_REGEX)
|
next unless sdk_path.match?(SDK::VERSIONED_SDK_REGEX)
|
||||||
|
|
||||||
version = read_sdk_version(Pathname.new(sdk_path))
|
version = read_sdk_version(Pathname.new(sdk_path))
|
||||||
next if version.nil? || version == unversioned_sdk_version
|
next if version.nil?
|
||||||
|
|
||||||
@all_sdks << SDK.new(version, sdk_path, source)
|
@all_sdks << SDK.new(version, sdk_path, source)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Fall back onto unversioned SDK if we've not found a suitable SDK
|
||||||
|
if @all_sdks.empty?
|
||||||
|
sdk_path = Pathname.new("#{sdk_prefix}/MacOSX.sdk")
|
||||||
|
if (version = read_sdk_version(sdk_path))
|
||||||
|
@all_sdks << SDK.new(version, sdk_path, source)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
@all_sdks
|
@all_sdks
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -336,7 +336,7 @@ module OS
|
|||||||
def minimum_version
|
def minimum_version
|
||||||
case MacOS.version
|
case MacOS.version
|
||||||
when "12" then "13.0.0"
|
when "12" then "13.0.0"
|
||||||
when "11" then "12.0.0"
|
when "11" then "12.5.0"
|
||||||
when "10.15" then "11.0.0"
|
when "10.15" then "11.0.0"
|
||||||
when "10.14" then "10.0.0"
|
when "10.14" then "10.0.0"
|
||||||
when "10.13" then "9.0.0"
|
when "10.13" then "9.0.0"
|
||||||
|
@ -47,6 +47,8 @@ describe Homebrew::Diagnostic::Checks do
|
|||||||
before do
|
before do
|
||||||
allow(DevelopmentTools).to receive(:installed?).and_return(true)
|
allow(DevelopmentTools).to receive(:installed?).and_return(true)
|
||||||
allow(OS::Mac).to receive(:version).and_return(macos_version)
|
allow(OS::Mac).to receive(:version).and_return(macos_version)
|
||||||
|
allow(OS::Mac::CLT).to receive(:below_minimum_version?).and_return(false)
|
||||||
|
allow(OS::Mac::Xcode).to receive(:below_minimum_version?).and_return(false)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "doesn't trigger when SDK root is not needed" do
|
it "doesn't trigger when SDK root is not needed" do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user