From cc730490fd5950aa6a0fde64bdd604d95b775218 Mon Sep 17 00:00:00 2001 From: Josh Cooper Date: Thu, 25 Apr 2024 10:19:24 -0700 Subject: [PATCH] Accept ffi >= 1.16.3, < 1.17.0 ffi 1.16.0 - 1.16.2 had a bug when defining a layout in an FFI::Struct and it was fixed in 1.16.3. See https://github.com/puppetlabs/facter/pull/2707 (cherry picked from commit aa513403255081f315de7dbdda8aaae1016ee036) --- Gemfile | 3 ++- puppet.gemspec | 9 +++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index f9db9c6b7fc..41aef8879e6 100644 --- a/Gemfile +++ b/Gemfile @@ -40,7 +40,8 @@ group(:features) do end group(:test) do - gem "ffi", '1.15.5', require: false + # 1.16.0 - 1.16.2 are broken on Windows + gem 'ffi', '>= 1.15.5', '< 1.17.0', '!= 1.16.0', '!= 1.16.1', '!= 1.16.2', require: false gem "json-schema", "~> 2.0", require: false gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 13.0') gem "rspec", "~> 3.1", require: false diff --git a/puppet.gemspec b/puppet.gemspec index aae9d7533c9..391f9e1d0e6 100644 --- a/puppet.gemspec +++ b/puppet.gemspec @@ -38,8 +38,9 @@ Gem::Specification.new do |s| s.add_runtime_dependency('CFPropertyList', '~> 2.2') end - if platform == 'x64-mingw32' || platform == 'x86-mingw32' - s.add_runtime_dependency('ffi', '1.15.5') - s.add_runtime_dependency('minitar', '~> 0.9') - end + if platform == 'x64-mingw32' || platform == 'x86-mingw32' + # ffi 1.16.0 - 1.16.2 are broken on Windows + s.add_runtime_dependency('ffi', '>= 1.15.5', '< 1.17.0', '!= 1.16.0', '!= 1.16.1', '!= 1.16.2') + s.add_runtime_dependency('minitar', '~> 0.9') + end end