Use default constants for Chromebrew program versions when in CI. (#12957)

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
This commit is contained in:
Satadru Pramanik, DO, MPH, MEng
2025-09-26 13:19:35 -04:00
committed by GitHub
parent b4cf1dfdbc
commit 532ba229ff

View File

@@ -4,7 +4,7 @@ require 'etc'
require 'open3'
OLD_CREW_VERSION ||= defined?(CREW_VERSION) ? CREW_VERSION : '1.0'
CREW_VERSION ||= '1.67.1' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
CREW_VERSION ||= '1.67.2' unless defined?(CREW_VERSION) && CREW_VERSION == OLD_CREW_VERSION
# Kernel architecture.
KERN_ARCH ||= Etc.uname[:machine]
@@ -343,12 +343,22 @@ crew_icu_ver_default = '77.1'
crew_llvm_ver_default = '21'
crew_perl_ver_default = '5.42'
crew_py_ver_default = '3.13'
CREW_GCC_VER ||= Kernel.system('which gcc', %i[out err] => File::NULL) ? "gcc#{`gcc -dumpversion`.chomp}" : "gcc#{crew_gcc_ver_default}" unless defined?(CREW_GCC_VER)
CREW_ICU_VER ||= Kernel.system('which uconv', %i[out err] => File::NULL) ? "icu#{`uconv --version`.chomp.split[3]}" : "icu#{crew_icu_ver_default}" unless defined?(CREW_ICU_VER)
CREW_LLVM_VER ||= Kernel.system('which llvm-config', %i[out err] => File::NULL) ? "llvm#{`llvm-config --version`.chomp.split('.')[0]}" : "llvm#{crew_llvm_ver_default}" unless defined?(CREW_LLVM_VER)
CREW_PERL_VER ||= Kernel.system('which perl', %i[out err] => File::NULL) ? "perl#{`perl --version|xargs|cut -d\\( -f2|cut -d\\) -f1|cut -dv -f2`.chomp.sub(/\.\d+$/, '')}" : "perl#{crew_perl_ver_default}" unless defined?(CREW_PERL_VER)
CREW_PY_VER ||= Kernel.system("#{CREW_PREFIX}/bin/python3 --version", %i[out err] => File::NULL) ? "py#{`python3 -c "print('.'.join(__import__('platform').python_version_tuple()[:2]))"`.chomp}" : "py#{crew_py_ver_default}" unless defined?(CREW_PY_VER)
CREW_RUBY_VER ||= "ruby#{RUBY_VERSION.slice(/(?:.*(?=\.))/)}" unless defined?(CREW_RUBY_VER)
crew_ruby_ver_default = '3.4'
if ENV['CI']
CREW_GCC_VER ||= "gcc#{crew_gcc_ver_default}" unless defined?(CREW_GCC_VER)
CREW_ICU_VER ||= "icu#{crew_icu_ver_default}" unless defined?(CREW_ICU_VER)
CREW_LLVM_VER ||= "llvm#{crew_llvm_ver_default}" unless defined?(CREW_LLVM_VER)
CREW_PERL_VER ||= "perl#{crew_perl_ver_default}" unless defined?(CREW_PERL_VER)
CREW_PY_VER ||= "py#{crew_py_ver_default}" unless defined?(CREW_PY_VER)
CREW_RUBY_VER ||= "ruby#{crew_ruby_ver_default}" unless defined?(CREW_RUBY_VER)
else
CREW_GCC_VER ||= Kernel.system('which gcc', %i[out err] => File::NULL) ? "gcc#{`gcc -dumpversion`.chomp}" : "gcc#{crew_gcc_ver_default}" unless defined?(CREW_GCC_VER)
CREW_ICU_VER ||= Kernel.system('which uconv', %i[out err] => File::NULL) ? "icu#{`uconv --version`.chomp.split[3]}" : "icu#{crew_icu_ver_default}" unless defined?(CREW_ICU_VER)
CREW_LLVM_VER ||= Kernel.system('which llvm-config', %i[out err] => File::NULL) ? "llvm#{`llvm-config --version`.chomp.split('.')[0]}" : "llvm#{crew_llvm_ver_default}" unless defined?(CREW_LLVM_VER)
CREW_PERL_VER ||= Kernel.system('which perl', %i[out err] => File::NULL) ? "perl#{`perl --version|xargs|cut -d\\( -f2|cut -d\\) -f1|cut -dv -f2`.chomp.sub(/\.\d+$/, '')}" : "perl#{crew_perl_ver_default}" unless defined?(CREW_PERL_VER)
CREW_PY_VER ||= Kernel.system("#{CREW_PREFIX}/bin/python3 --version", %i[out err] => File::NULL) ? "py#{`python3 -c "print('.'.join(__import__('platform').python_version_tuple()[:2]))"`.chomp}" : "py#{crew_py_ver_default}" unless defined?(CREW_PY_VER)
CREW_RUBY_VER ||= "ruby#{RUBY_VERSION.slice(/(?:.*(?=\.))/)}" unless defined?(CREW_RUBY_VER)
end
@buildsystems = ['Package']
Dir.glob("#{CREW_LIB_PATH}/lib/buildsystems/*.rb") { |file| @buildsystems << File.foreach(file, encoding: Encoding::UTF_8).grep(/^class/).to_s.split[1] }
CREW_VALID_BUILDSYSTEMS ||= @buildsystems.sort!
@@ -387,7 +397,7 @@ unless defined?(CREW_ANITYA_PACKAGE_NAME_MAPPINGS)
{ pkg_name: 'libssp', anitya_pkg: 'gcc', comments: '' },
{ pkg_name: 'libunbound', anitya_pkg: 'unbound', comments: '' },
{ pkg_name: 'linux_pam', anitya_pkg: 'pam', comments: '' },
{ pkg_name: "llvm#{crew_llvm_ver_default}_build", anitya_pkg: 'llvm', comments: '' },
{ pkg_name: "#{CREW_LLVM_VER}_build", anitya_pkg: 'llvm', comments: '' },
{ pkg_name: 'mold', anitya_pkg: 'mold', comments: 'Prefer to GitHub' },
{ pkg_name: 'nnn', anitya_pkg: 'nnn', comments: 'Prefer to GitHub' },
{ pkg_name: 'openssl', anitya_pkg: 'openssl', comments: 'Prefer to GitHub' },