From 25fe428ed27e89cd5ff9f7c6aee9d32e2e73faa7 Mon Sep 17 00:00:00 2001 From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Date: Thu, 7 Oct 2021 11:24:20 +0800 Subject: [PATCH] system_config: fix clang version output on Linux If you have Homebrew LLVM installed, `brew config` will show Clang: 12.0.1 build (parse error) because Homebrew LLVM does not give a build number. Some installations from the system package manager do have this information, so let's show it if it's available but skip complaining if not. I've kept the original code for macOS because we always expect Apple's build number to show there. --- Library/Homebrew/extend/os/mac/system_config.rb | 9 ++++++++- Library/Homebrew/system_config.rb | 7 +++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/extend/os/mac/system_config.rb b/Library/Homebrew/extend/os/mac/system_config.rb index d45eb2e0f5..1e22d916ea 100644 --- a/Library/Homebrew/extend/os/mac/system_config.rb +++ b/Library/Homebrew/extend/os/mac/system_config.rb @@ -7,7 +7,7 @@ module SystemConfig class << self include SystemCommand::Mixin - undef describe_homebrew_ruby + undef describe_homebrew_ruby, describe_clang def describe_homebrew_ruby s = describe_homebrew_ruby_version @@ -19,6 +19,13 @@ module SystemConfig end end + def describe_clang + return "N/A" if clang.null? + + clang_build_info = clang_build.null? ? "(parse error)" : clang_build + "#{clang} build #{clang_build_info}" + end + def xcode @xcode ||= if MacOS::Xcode.installed? xcode = MacOS::Xcode.version.to_s diff --git a/Library/Homebrew/system_config.rb b/Library/Homebrew/system_config.rb index cc58ef1262..a019aa4de0 100644 --- a/Library/Homebrew/system_config.rb +++ b/Library/Homebrew/system_config.rb @@ -76,8 +76,11 @@ module SystemConfig def describe_clang return "N/A" if clang.null? - clang_build_info = clang_build.null? ? "(parse error)" : clang_build - "#{clang} build #{clang_build_info}" + if clang_build.null? + clang.to_s + else + "#{clang} build #{clang_build}" + end end def describe_path(path)