class PoiseBuildEssential::BuildEssentialProviders::Windows

A provider for `poise_build_essential` to install on Windows platforms.

@see PoiseBuildEssential::Resources::PoiseBuildEssential::Resource @provides poise_build_essential

Private Instance Methods

install_build_essential() click to toggle source

(see Base#install_build_essential)

# File lib/poise_build_essential/build_essential_providers/windows.rb, line 33
def install_build_essential
  install_build_essential_packages
end
install_build_essential_packages() click to toggle source

Install MSYS2 packages needed for the build environment.

@api private @return [Array<Chef::Resource>]

# File lib/poise_build_essential/build_essential_providers/windows.rb, line 52
def install_build_essential_packages
  # TODO This probably won't work on 32-bit right now, fix that.
  [
    'base-devel', # Brings down msys based bash/make/awk/patch/stuff.
    'mingw-w64-x86_64-toolchain', # Puts 64-bit SEH mingw toolchain in msys2\mingw64.
    'mingw-w64-i686-toolchain' # Puts 32-bit DW2 mingw toolchain in msys2\ming32.
  ].map do |pkg_group|
    # The pacman package provider doesn't support groups, so going old-school.
    poise_msys2_execute "pacman --sync #{pkg_group}" do
      command ['pacman', '--sync', '--noconfirm', '--noprogressbar', '--needed', pkg_group]
    end
  end
end
remove_build_essential() click to toggle source

(see Base#remove_build_essential)

# File lib/poise_build_essential/build_essential_providers/windows.rb, line 44
def remove_build_essential
  raise NotImplementedError
end
upgrade_build_essential() click to toggle source

(see Base#upgrade_build_essential)

# File lib/poise_build_essential/build_essential_providers/windows.rb, line 38
def upgrade_build_essential
  # Upgrade and install are the same on Windows. (?)
  install_build_essential
end