Skip to install bundled gems that is C extension and build failed.

Ex. We can't build syslog gem in Windows platform. We should skip install
syslog as bundled gems.
This commit is contained in:
Hiroshi SHIBATA 2024-02-09 14:36:38 +09:00
Родитель 33c1e082d0
Коммит 007c75ce4c
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: F9CF13417264FAC2
1 изменённых файлов: 5 добавлений и 0 удалений

Просмотреть файл

@ -1061,6 +1061,11 @@ install?(:ext, :comm, :gem, :'bundled-gems') do
skipped[gem_name] = "full name unmatch #{spec.full_name}"
next
end
# Skip install C ext bundled gem if it is build failed or not found
if !spec.extensions.empty? && !File.exist?("#{build_dir}/#{gem_name}/gem.build_complete")
skipped[gem_name] = "extensions not found or build failed #{spec.full_name}"
next
end
spec.extension_dir = "#{extensions_dir}/#{spec.full_name}"
package = RbInstall::DirPackage.new spec
ins = RbInstall::UnpackedInstaller.new(package, options)