Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rubygem-mini_portile2 for 
openSUSE:Factory checked in at 2023-10-01 21:21:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-mini_portile2 (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-mini_portile2.new.28202 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-mini_portile2"

Sun Oct  1 21:21:55 2023 rev:11 rq:1114385 version:2.8.4

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-mini_portile2/rubygem-mini_portile2.changes  
    2022-02-22 21:18:04.562284959 +0100
+++ 
/work/SRC/openSUSE:Factory/.rubygem-mini_portile2.new.28202/rubygem-mini_portile2.changes
   2023-10-01 21:22:10.288352754 +0200
@@ -1,0 +2,6 @@
+Tue Sep 26 11:03:25 UTC 2023 - Paolo Perego <[email protected]>
+
+- updated to version 2.8.4
+    Various fixes to build system
+
+-------------------------------------------------------------------
@@ -147 +152,0 @@
-

Old:
----
  mini_portile2-2.8.0.gem

New:
----
  mini_portile2-2.8.4.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-mini_portile2.spec ++++++
--- /var/tmp/diff_new_pack.nfw7fl/_old  2023-10-01 21:22:11.272388360 +0200
+++ /var/tmp/diff_new_pack.nfw7fl/_new  2023-10-01 21:22:11.272388360 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-mini_portile2
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-mini_portile2
-Version:        2.8.0
+Version:        2.8.4
 Release:        0
 %define mod_name mini_portile2
 %define mod_full_name %{mod_name}-%{version}

++++++ mini_portile2-2.8.0.gem -> mini_portile2-2.8.4.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.github/workflows/ci.yml new/.github/workflows/ci.yml
--- old/.github/workflows/ci.yml        2022-02-20 19:39:30.000000000 +0100
+++ new/.github/workflows/ci.yml        2023-07-18 16:04:52.000000000 +0200
@@ -25,7 +25,7 @@
       fail-fast: false
       matrix:
         platform: [ubuntu-latest, windows-latest, macos-latest]
-        ruby: ["2.3", "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "head"]
+        ruby: ["2.3", "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "head"]
     runs-on: ${{ matrix.platform }}
     steps:
       - name: configure git crlf on windows
@@ -33,7 +33,7 @@
         run: |
           git config --system core.autocrlf false
           git config --system core.eol lf
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
       - uses: MSP-Greg/setup-ruby-pkgs@v1
         with:
           apt-get: _update_ build-essential cmake
@@ -57,14 +57,14 @@
         run: |
           git config --system core.autocrlf false
           git config --system core.eol lf
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
       - uses: MSP-Greg/setup-ruby-pkgs@v1
         with:
           apt-get: _update_ build-essential cmake
           mingw: _upgrade_ cmake
           ruby-version: ${{ matrix.ruby }}
           bundler-cache: true
-      - uses: actions/cache@v2
+      - uses: actions/cache@v3
         with:
           path: examples/ports/archives
           key: ${{ matrix.platform }}-examples-${{ 
hashFiles('examples/Rakefile') }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md    2022-02-20 19:39:30.000000000 +0100
+++ new/CHANGELOG.md    2023-07-18 16:04:52.000000000 +0200
@@ -1,5 +1,31 @@
 ## mini_portile changelog
 
+### 2.8.4 / 2023-07-18
+
+- cmake: set CMAKE compile flags to configure cross-compilation similarly to 
`autotools` `--host` flag: `SYSTEM_NAME`, `SYSTEM_PROCESSOR`, `C_COMPILER`, and 
`CXX_COMPILER`. [#130] (Thanks, @stanhu!)
+
+
+### 2.8.3 / 2023-07-18
+
+#### Fixed
+
+- cmake: only use MSYS/NMake generators when available. [#129] (Thanks, 
@stanhu!)
+
+
+### 2.8.2 / 2023-04-30
+
+#### Fixed
+
+- Ensure that the `source_directory` option will work when given a Windows 
path to an autoconf directory. [#126]
+
+
+### 2.8.1 / 2022-12-24
+
+#### Fixed
+
+- Support applying patches via `git apply` even when the working directory 
resembles a git directory. [#119] (Thanks, @h0tw1r3!)
+
+
 ### 2.8.0 / 2022-02-20
 
 #### Added
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/mini_portile2/mini_portile.rb 
new/lib/mini_portile2/mini_portile.rb
--- old/lib/mini_portile2/mini_portile.rb       2022-02-20 19:39:30.000000000 
+0100
+++ new/lib/mini_portile2/mini_portile.rb       2023-07-18 16:04:52.000000000 
+0200
@@ -35,17 +35,45 @@
   attr_accessor :host, :files, :patch_files, :target, :logger, 
:source_directory
 
   def self.windows?
-    RbConfig::CONFIG['target_os'] =~ /mswin|mingw/
+    target_os =~ /mswin|mingw/
   end
 
   # GNU MinGW compiled Ruby?
   def self.mingw?
-    RbConfig::CONFIG['target_os'] =~ /mingw/
+    target_os =~ /mingw/
   end
 
   # MS Visual-C compiled Ruby?
   def self.mswin?
-    RbConfig::CONFIG['target_os'] =~ /mswin/
+    target_os =~ /mswin/
+  end
+
+  def self.darwin?
+    target_os =~ /darwin/
+  end
+
+  def self.freebsd?
+    target_os =~ /freebsd/
+  end
+
+  def self.openbsd?
+    target_os =~ /openbsd/
+  end
+
+  def self.linux?
+    target_os =~ /linux/
+  end
+
+  def self.solaris?
+    target_os =~ /solaris/
+  end
+
+  def self.target_os
+    RbConfig::CONFIG['target_os']
+  end
+
+  def self.target_cpu
+    RbConfig::CONFIG['target_cpu']
   end
 
   def initialize(name, version, **kwargs)
@@ -67,12 +95,12 @@
   end
 
   def source_directory=(path)
-    @source_directory = File.expand_path(path)
+    @source_directory = posix_path(path)
   end
 
   def prepare_build_directory
     raise "source_directory is not set" if source_directory.nil?
-    output "Building #{@name} #{@version} from source at '#{source_directory}'"
+    output "Building #{@name} from source at '#{source_directory}'"
     FileUtils.mkdir_p(File.join(tmp_path, [name, version].join("-")))
     FileUtils.rm_rf(port_path) # make sure we always re-install
   end
@@ -99,9 +127,9 @@
       when which('git')
         lambda { |file|
           message "Running git apply with #{file}... "
-          # By --work-tree=. git-apply uses the current directory as
-          # the project root and will not search upwards for .git.
-          execute('patch', ["git", "--git-dir=.", "--work-tree=.", "apply", 
"--whitespace=warn", file], :initial_message => false)
+          Dir.mktmpdir do |tmp_git_dir|
+            execute('patch', ["git", "--git-dir=#{tmp_git_dir}", 
"--work-tree=.", "apply", "--whitespace=warn", file], :initial_message => false)
+          end
         }
       when which('patch')
         lambda { |file|
@@ -137,7 +165,7 @@
       # Windows doesn't recognize the shebang.
       command.unshift("sh")
     end
-    execute('configure', command + computed_options)
+    execute('configure', command + computed_options, altlog: "config.log")
   end
 
   def compile
@@ -200,10 +228,7 @@
 
     output "Activating #{@name} #{@version} (from #{port_path})..."
     vars.each do |var, path|
-      full_path = File.expand_path(path)
-
-      # turn into a valid Windows path (if required)
-      full_path.gsub!(File::SEPARATOR, File::ALT_SEPARATOR) if 
File::ALT_SEPARATOR
+      full_path = native_path(path)
 
       # save current variable value
       old_value = ENV[var] || ''
@@ -237,7 +262,25 @@
     (ENV["MAKE"] || @make_command || ENV["make"] || "make").dup
   end
 
-private
+  private
+
+  def native_path(path)
+    path = File.expand_path(path)
+    if File::ALT_SEPARATOR
+      path.tr(File::SEPARATOR, File::ALT_SEPARATOR)
+    else
+      path
+    end
+  end
+
+  def posix_path(path)
+    path = File.expand_path(path)
+    if File::ALT_SEPARATOR
+      "/" + path.tr(File::ALT_SEPARATOR, File::SEPARATOR).tr(":", 
File::SEPARATOR)
+    else
+      path
+    end
+  end
 
   def tmp_path
     "tmp/#{@host}/ports/#{@name}/#{@version}"
@@ -420,6 +463,7 @@
     opt_debug =   command_opts.fetch(:debug, false)
     opt_cd =      command_opts.fetch(:cd) { work_path }
     opt_env =     command_opts.fetch(:env) { Hash.new }
+    opt_altlog =  command_opts.fetch(:altlog, nil)
 
     log_out = log_file(action)
 
@@ -450,12 +494,12 @@
         output "OK"
         return true
       else
-        if File.exist? log_out
-          output "ERROR, review '#{log_out}' to see what happened. Last lines 
are:"
-          output("=" * 72)
-          log_lines = File.readlines(log_out)
-          output(log_lines[-[log_lines.length, 20].min .. -1])
-          output("=" * 72)
+        output "ERROR. Please review logs to see what happened:\n"
+        [log_out, opt_altlog].compact.each do |log|
+          next unless File.exist?(log)
+          output("----- contents of '#{log}' -----")
+          output(File.read(log))
+          output("----- end of file -----")
         end
         raise "Failed to complete #{action} task"
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/mini_portile2/mini_portile_cmake.rb 
new/lib/mini_portile2/mini_portile_cmake.rb
--- old/lib/mini_portile2/mini_portile_cmake.rb 2022-02-20 19:39:30.000000000 
+0100
+++ new/lib/mini_portile2/mini_portile_cmake.rb 2023-07-18 16:04:52.000000000 
+0200
@@ -1,6 +1,9 @@
 require 'mini_portile2/mini_portile'
+require 'open3'
 
 class MiniPortileCMake < MiniPortile
+  attr_accessor :system_name
+
   def configure_prefix
     "-DCMAKE_INSTALL_PREFIX=#{File.expand_path(port_path)}"
   end
@@ -11,13 +14,10 @@
   end
 
   def configure_defaults
-    if MiniPortile.mswin?
-      ['-G', 'NMake Makefiles']
-    elsif MiniPortile.mingw?
-      ['-G', 'MSYS Makefiles']
-    else
-      []
-    end
+    [
+      generator_defaults,
+      cmake_compile_flags,
+    ].flatten
   end
 
   def configure
@@ -48,4 +48,91 @@
   def cmake_cmd
     (ENV["CMAKE"] || @cmake_command || "cmake").dup
   end
+
+  private
+
+  def generator_defaults
+    if MiniPortile.mswin? && generator_available?('NMake')
+      ['-G', 'NMake Makefiles']
+    elsif MiniPortile.mingw? && generator_available?('MSYS')
+      ['-G', 'MSYS Makefiles']
+    else
+      []
+    end
+  end
+
+  def cmake_compile_flags
+    c_compiler, cxx_compiler = find_c_and_cxx_compilers(host)
+
+    # needed to ensure cross-compilation with CMake targets the right CPU and 
compilers
+    [
+      "-DCMAKE_SYSTEM_NAME=#{cmake_system_name}",
+      "-DCMAKE_SYSTEM_PROCESSOR=#{cpu_type}",
+      "-DCMAKE_C_COMPILER=#{c_compiler}",
+      "-DCMAKE_CXX_COMPILER=#{cxx_compiler}"
+    ]
+  end
+
+  def find_compiler(compilers)
+    compilers.find { |binary| which(binary) }
+  end
+
+  # configure automatically searches for the right compiler based on the
+  # `--host` parameter.  However, CMake doesn't have an equivalent feature.
+  # Search for the right compiler for the target architecture using
+  # some basic heruistics.
+  def find_c_and_cxx_compilers(host)
+    c_compiler = ENV["CC"]
+    cxx_compiler = ENV["CXX"]
+
+    if MiniPortile.darwin?
+      c_compiler ||= 'clang'
+      cxx_compiler ||='clang++'
+    else
+      c_compiler ||= 'gcc'
+      cxx_compiler ||= 'g++'
+    end
+
+    c_platform_compiler = "#{host}-#{c_compiler}"
+    cxx_platform_compiler = "#{host}-#{cxx_compiler}"
+    c_compiler = find_compiler([c_platform_compiler, c_compiler])
+    cxx_compiler = find_compiler([cxx_platform_compiler, cxx_compiler])
+
+    [c_compiler, cxx_compiler]
+  end
+
+  # Full list: 
https://gitlab.kitware.com/cmake/cmake/-/blob/v3.26.4/Modules/CMakeDetermineSystem.cmake?ref_type=tags#L12-31
+  def cmake_system_name
+    return system_name if system_name
+
+    if MiniPortile.linux?
+      'Linux'
+    elsif MiniPortile.darwin?
+      'Darwin'
+    elsif MiniPortile.windows?
+      'Windows'
+    elsif MiniPortile.freebsd?
+      'FreeBSD'
+    elsif MiniPortile.openbsd?
+      'OpenBSD'
+    elsif MiniPortile.solaris?
+      'SunOS'
+    else
+      raise "Unable to set CMAKE_SYSTEM_NAME for #{MiniPortile.target_os}"
+    end
+  end
+
+  def generator_available?(generator_type)
+    stdout_str, status = Open3.capture2("#{cmake_cmd} --help")
+
+    raise 'Unable to determine whether CMake supports #{generator_type} 
Makefile generator' unless status.success?
+
+    stdout_str.include?("#{generator_type} Makefiles")
+  end
+
+  def cpu_type
+    return 'x86_64' if MiniPortile.target_cpu == 'x64'
+
+    MiniPortile.target_cpu
+  end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/mini_portile2/version.rb 
new/lib/mini_portile2/version.rb
--- old/lib/mini_portile2/version.rb    2022-02-20 19:39:30.000000000 +0100
+++ new/lib/mini_portile2/version.rb    2023-07-18 16:04:52.000000000 +0200
@@ -1,3 +1,3 @@
 class MiniPortile
-  VERSION = "2.8.0"
+  VERSION = "2.8.4"
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2022-02-20 19:39:30.000000000 +0100
+++ new/metadata        2023-07-18 16:04:52.000000000 +0200
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: mini_portile2
 version: !ruby/object:Gem::Version
-  version: 2.8.0
+  version: 2.8.4
 platform: ruby
 authors:
 - Luis Lavena
@@ -10,7 +10,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2022-02-20 00:00:00.000000000 Z
+date: 2023-07-18 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: bundler
@@ -18,14 +18,14 @@
     requirements:
     - - "~>"
       - !ruby/object:Gem::Version
-        version: '2.3'
+        version: '2.2'
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - "~>"
       - !ruby/object:Gem::Version
-        version: '2.3'
+        version: '2.2'
 - !ruby/object:Gem::Dependency
   name: minitar
   requirement: !ruby/object:Gem::Requirement
@@ -153,7 +153,7 @@
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubygems_version: 3.3.5
+rubygems_version: 3.4.10
 signing_key: 
 specification_version: 4
 summary: Simplistic port-like solution for developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mini_portile2.gemspec new/mini_portile2.gemspec
--- old/mini_portile2.gemspec   2022-02-20 19:39:30.000000000 +0100
+++ new/mini_portile2.gemspec   2023-07-18 16:04:52.000000000 +0200
@@ -33,7 +33,7 @@
 
   spec.required_ruby_version = ">= 2.3.0"
 
-  spec.add_development_dependency "bundler", "~> 2.3"
+  spec.add_development_dependency "bundler", "~> 2.2"
   spec.add_development_dependency "minitar", "~> 0.9"
   spec.add_development_dependency "minitest", "~> 5.15"
   spec.add_development_dependency "minitest-hooks", "~> 1.5"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test_cmake.rb new/test/test_cmake.rb
--- old/test/test_cmake.rb      2022-02-20 19:39:30.000000000 +0100
+++ new/test/test_cmake.rb      2023-07-18 16:04:52.000000000 +0200
@@ -14,13 +14,11 @@
     create_tar(@tar_path, @assets_path, "test-cmake-1.0")
     start_webrick(File.dirname(@tar_path))
 
-    @recipe = MiniPortileCMake.new("test-cmake", "1.0").tap do |recipe|
-      recipe.files << 
"http://localhost:#{HTTP_PORT}/#{ERB::Util.url_encode(File.basename(@tar_path))}"
-      recipe.patch_files << File.join(@assets_path, "patch 1.diff")
-      git_dir = File.join(@assets_path, "git")
-      with_custom_git_dir(git_dir) do
-        recipe.cook
-      end
+    @recipe = init_recipe
+
+    git_dir = File.join(@assets_path, "git")
+    with_custom_git_dir(git_dir) do
+      recipe.cook
     end
   end
 
@@ -57,9 +55,16 @@
     binary = File.join(recipe.path, "bin", exe_name)
     assert File.exist?(binary), binary
   end
+
+  def init_recipe
+    MiniPortileCMake.new("test-cmake", "1.0").tap do |recipe|
+      recipe.files << 
"http://localhost:#{HTTP_PORT}/#{ERB::Util.url_encode(File.basename(@tar_path))}"
+      recipe.patch_files << File.join(@assets_path, "patch 1.diff")
+    end
+  end
 end
 
-class TestCMakeConfig < TestCase
+class TestCMakeConfig < TestCMake
   def test_make_command_configuration
     MiniPortile.stub(:mswin?, false) do
       without_env("MAKE") do
@@ -77,6 +82,107 @@
     end
   end
 
+  def test_configure_defaults_with_macos
+    recipe = init_recipe
+    recipe.host = 'some-host'
+
+    with_env({ "CC" => nil, "CXX" => nil }) do
+      MiniPortile.stub(:darwin?, true) do
+        with_stubbed_target(os: 'darwin22', cpu: 'arm64') do
+          with_compilers(recipe, host_prefix: true, c_compiler: 'clang', 
cxx_compiler: 'clang++') do
+            Open3.stub(:capture2, cmake_help_mock('Unix')) do
+              assert_equal(
+                [
+                  "-DCMAKE_SYSTEM_NAME=Darwin",
+                  "-DCMAKE_SYSTEM_PROCESSOR=arm64",
+                  "-DCMAKE_C_COMPILER=some-host-clang",
+                  "-DCMAKE_CXX_COMPILER=some-host-clang++"
+                ],
+                recipe.configure_defaults)
+            end
+          end
+        end
+      end
+    end
+  end
+
+  def test_configure_defaults_with_manual_system_name
+    recipe = init_recipe
+    recipe.system_name = 'Custom'
+
+    MiniPortile.stub(:darwin?, false) do
+      with_stubbed_target do
+        with_compilers(recipe) do
+          Open3.stub(:capture2, cmake_help_mock('Unix')) do
+            assert_equal(
+              [
+                "-DCMAKE_SYSTEM_NAME=Custom",
+                "-DCMAKE_SYSTEM_PROCESSOR=x86_64",
+                "-DCMAKE_C_COMPILER=gcc",
+                "-DCMAKE_CXX_COMPILER=g++"
+              ],
+              recipe.configure_defaults)
+          end
+        end
+      end
+    end
+  end
+
+  def test_configure_defaults_with_unix_makefiles
+    recipe = init_recipe
+
+    MiniPortile.stub(:linux?, true) do
+      MiniPortile.stub(:darwin?, false) do
+        with_stubbed_target do
+          with_compilers(recipe) do
+            Open3.stub(:capture2, cmake_help_mock('Unix')) do
+              MiniPortile.stub(:mingw?, true) do
+                assert_equal(default_x86_compile_flags,
+                            recipe.configure_defaults)
+              end
+            end
+          end
+        end
+      end
+    end
+  end
+
+  def test_configure_defaults_with_msys_makefiles
+    recipe = init_recipe
+
+    MiniPortile.stub(:linux?, true) do
+      MiniPortile.stub(:darwin?, false) do
+        with_stubbed_target do
+          with_compilers(recipe) do
+            Open3.stub(:capture2, cmake_help_mock('MSYS')) do
+              MiniPortile.stub(:mingw?, true) do
+                assert_equal(['-G', 'MSYS Makefiles'] + 
default_x86_compile_flags, recipe.configure_defaults)
+              end
+            end
+          end
+        end
+      end
+    end
+  end
+
+  def test_configure_defaults_with_nmake_makefiles
+    recipe = init_recipe
+
+    MiniPortile.stub(:linux?, true) do
+      MiniPortile.stub(:darwin?, false) do
+        with_stubbed_target do
+          with_compilers(recipe) do
+            Open3.stub(:capture2, cmake_help_mock('NMake')) do
+              MiniPortile.stub(:mswin?, true) do
+                assert_equal(['-G', 'NMake Makefiles'] + 
default_x86_compile_flags, recipe.configure_defaults)
+              end
+            end
+          end
+        end
+      end
+    end
+  end
+
   def test_cmake_command_configuration
     without_env("CMAKE") do
       assert_equal("cmake", MiniPortileCMake.new("test", "1.0.0").cmake_cmd)
@@ -87,4 +193,55 @@
       assert_equal("asdf", MiniPortileCMake.new("test", "1.0.0", 
cmake_command: "xyzzy").cmake_cmd)
     end
   end
+
+  private
+
+  def with_stubbed_target(os: 'linux', cpu: 'x86_64')
+    MiniPortile.stub(:target_os, os) do
+      MiniPortile.stub(:target_cpu, cpu) do
+        yield
+      end
+    end
+  end
+
+  def with_compilers(recipe, host_prefix: false, c_compiler: 'gcc', 
cxx_compiler: 'g++')
+    mock = MiniTest::Mock.new
+
+    if host_prefix
+      mock.expect(:call, true, ["#{recipe.host}-#{c_compiler}"])
+      mock.expect(:call, true, ["#{recipe.host}-#{cxx_compiler}"])
+    else
+      mock.expect(:call, false, ["#{recipe.host}-#{c_compiler}"])
+      mock.expect(:call, true, [c_compiler])
+      mock.expect(:call, false, ["#{recipe.host}-#{cxx_compiler}"])
+      mock.expect(:call, true, [cxx_compiler])
+    end
+
+    recipe.stub(:which, mock) do
+      yield
+    end
+  end
+
+  def default_x86_compile_flags
+    [
+      "-DCMAKE_SYSTEM_NAME=Linux",
+      "-DCMAKE_SYSTEM_PROCESSOR=x86_64",
+      "-DCMAKE_C_COMPILER=gcc",
+      "-DCMAKE_CXX_COMPILER=g++"
+    ]
+  end
+
+  def cmake_help_mock(generator_type)
+    open3_mock = MiniTest::Mock.new
+    cmake_script = <<~SCRIPT
+      echo "The following generators are available on this platform (* marks 
default):"
+      echo "* #{generator_type} Makefiles               = Generates standard 
#{generator_type.upcase} makefiles."
+    SCRIPT
+
+    exit_status = MiniTest::Mock.new
+    exit_status.expect(:success?, true)
+    expected_output = [cmake_script, exit_status]
+    open3_mock.expect(:call, expected_output, ['cmake --help'])
+    open3_mock
+  end
 end

Reply via email to