diff --git a/Library/Homebrew/development_tools.rb b/Library/Homebrew/development_tools.rb index 3961e14538..fc78720816 100644 --- a/Library/Homebrew/development_tools.rb +++ b/Library/Homebrew/development_tools.rb @@ -38,19 +38,6 @@ class DevelopmentTools installation_instructions end - # TODO: This method appears to be unused. Can it be deleted? - sig { returns(T.nilable(String)) } - def default_cc - cc = DevelopmentTools.locate "cc" - return if cc.nil? - - begin - cc.realpath.basename.to_s - rescue - nil - end - end - sig { returns(Symbol) } def default_compiler :clang @@ -126,7 +113,7 @@ class DevelopmentTools { "os" => ENV["HOMEBREW_SYSTEM"], "os_version" => OS_VERSION, - "cpu_family" => Hardware::CPU.family, + "cpu_family" => Hardware::CPU.family.to_s, } end alias generic_build_system_info build_system_info diff --git a/Library/Homebrew/extend/os/linux/development_tools.rb b/Library/Homebrew/extend/os/linux/development_tools.rb index 267c9a1516..2648ebca68 100644 --- a/Library/Homebrew/extend/os/linux/development_tools.rb +++ b/Library/Homebrew/extend/os/linux/development_tools.rb @@ -21,11 +21,11 @@ class DevelopmentTools :gcc end - sig { returns(T::Hash[String, T.untyped]) } + sig { returns(T::Hash[String, T.nilable(String)]) } def build_system_info generic_build_system_info.merge({ - "glibc_version" => OS::Linux::Glibc.version, - "oldest_cpu_family" => Hardware.oldest_cpu, + "glibc_version" => OS::Linux::Glibc.version.to_s.presence, + "oldest_cpu_family" => Hardware.oldest_cpu.to_s, }) end end diff --git a/Library/Homebrew/extend/os/mac/development_tools.rb b/Library/Homebrew/extend/os/mac/development_tools.rb index 993ba68ba3..353ae30428 100644 --- a/Library/Homebrew/extend/os/mac/development_tools.rb +++ b/Library/Homebrew/extend/os/mac/development_tools.rb @@ -64,7 +64,7 @@ class DevelopmentTools EOS end - sig { returns(T::Hash[String, T.untyped]) } + sig { returns(T::Hash[String, T.nilable(String)]) } def build_system_info build_info = { "xcode" => MacOS::Xcode.version.to_s.presence, diff --git a/Library/Homebrew/extend/os/mac/hardware.rb b/Library/Homebrew/extend/os/mac/hardware.rb index 2b6e8de4ee..43adfa1dea 100644 --- a/Library/Homebrew/extend/os/mac/hardware.rb +++ b/Library/Homebrew/extend/os/mac/hardware.rb @@ -4,7 +4,12 @@ module Hardware extend T::Sig sig { params(version: T.nilable(Version)).returns(Symbol) } - def self.oldest_cpu(version = MacOS.version) + def self.oldest_cpu(version = nil) + version = if version + MacOS::Version.new(version.to_s) + else + MacOS.version + end if CPU.arch == :arm64 :arm_vortex_tempest # TODO: this cannot be re-enabled until either Rosetta 2 supports AVX diff --git a/Library/Homebrew/os/linux/glibc.rb b/Library/Homebrew/os/linux/glibc.rb index 2d27c1cca1..7478701223 100644 --- a/Library/Homebrew/os/linux/glibc.rb +++ b/Library/Homebrew/os/linux/glibc.rb @@ -11,6 +11,7 @@ module OS module_function + sig { returns(Version) } def system_version @system_version ||= begin version = Utils.popen_read("/usr/bin/ldd", "--version")[/ (\d+\.\d+)/, 1] @@ -22,6 +23,7 @@ module OS end end + sig { returns(Version) } def version @version ||= begin version = Utils.popen_read(HOMEBREW_PREFIX/"opt/glibc/bin/ldd", "--version")[/ (\d+\.\d+)/, 1] @@ -38,6 +40,7 @@ module OS Version.new(ENV.fetch("HOMEBREW_LINUX_MINIMUM_GLIBC_VERSION")) end + sig { returns(T::Boolean) } def below_minimum_version? system_version < minimum_version end diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb index b3e6cff1ab..47aaaf722a 100644 --- a/Library/Homebrew/os/mac.rb +++ b/Library/Homebrew/os/mac.rb @@ -24,16 +24,19 @@ module OS # This can be compared to numerics, strings, or symbols # using the standard Ruby Comparable methods. + sig { returns(Version) } def version @version ||= full_version.strip_patch end # This can be compared to numerics, strings, or symbols # using the standard Ruby Comparable methods. + sig { returns(Version) } def full_version @full_version ||= Version.new((ENV["HOMEBREW_MACOS_VERSION"]).chomp) end + sig { params(version: Version).void } def full_version=(version) @full_version = Version.new(version.chomp) @version = nil diff --git a/Library/Homebrew/os/mac/xcode.rb b/Library/Homebrew/os/mac/xcode.rb index 9f857364b2..fb36eabcf3 100755 --- a/Library/Homebrew/os/mac/xcode.rb +++ b/Library/Homebrew/os/mac/xcode.rb @@ -89,7 +89,7 @@ module OS # Returns a Pathname object corresponding to Xcode.app's Developer # directory or nil if Xcode.app is not installed. - sig { returns(Pathname) } + sig { returns(T.nilable(Pathname)) } def prefix @prefix ||= begin