diff --git a/configs/components/_base-rubygem.rb b/configs/components/_base-rubygem.rb index 145bd68b1..bacdeffeb 100644 --- a/configs/components/_base-rubygem.rb +++ b/configs/components/_base-rubygem.rb @@ -37,6 +37,8 @@ pkg.url("https://rubygems.org/downloads/#{name}-#{version}.gem") pkg.mirror("#{settings[:buildsources_url]}/#{name}-#{version}.gem") -pkg.install do - "#{settings[:gem_install]} #{name}-#{version}.gem" -end +unless name =~ /nokogiri/ + pkg.install do + "#{settings[:gem_install]} #{name}-#{version}.gem" + end +end \ No newline at end of file diff --git a/configs/components/rubygem-nokogiri.rb b/configs/components/rubygem-nokogiri.rb index 455df870d..6404c5911 100644 --- a/configs/components/rubygem-nokogiri.rb +++ b/configs/components/rubygem-nokogiri.rb @@ -7,12 +7,15 @@ gem_home = settings[:gem_home] pkg.environment "GEM_HOME", gem_home - - # When cross compiling nokogiri native extensions on macOS 11/12 ARM, there is a 94M tmp - # directory that's not needed - if platform.is_macos? && platform.architecture == 'arm64' - install do - "rm -r #{gem_home}/gems/nokogiri-#{pkg.get_version}/ext/nokogiri/tmp" + if platform.is_macos? + pkg.environment "PKG_CONFIG_PATH", "#{settings[:libdir]}/pkgconfig" + pkg.install do + "#{settings[:gem_install]} nokogiri --platform=ruby -- --use-system-libraries --with-opt-dir=/opt/puppetlabs/puppet" + end + if platform.is_cross_compiled? + pkg.install do + "rm -r #{gem_home}/gems/nokogiri-#{pkg.get_version}/ext/nokogiri/tmp" + end end end end