Class: RubyInstaller::Build::Components::DevTools

Inherits:
Base
  • Object
show all
Defined in:
lib/ruby_installer/build/components/03_dev_tools.rb

Constant Summary collapse

PACKAGES =
%w[
  autoconf
  autoconf2.13
  autogen
  automake-wrapper
  automake1.10
  automake1.11
  automake1.12
  automake1.13
  automake1.14
  automake1.15
  automake1.6
  automake1.7
  automake1.8
  automake1.9
  diffutils
  file
  gawk
  grep
  libtool
  m4
  make
  patch
  pkg-config
  sed
  texinfo
  texinfo-tex
  wget
  mingw-w64-binutils
  mingw-w64-crt-git
  mingw-w64-gcc
  mingw-w64-gcc-libs
  mingw-w64-headers-git
  mingw-w64-libmangle-git
  mingw-w64-libwinpthread-git
  mingw-w64-make
  mingw-w64-pkg-config
  mingw-w64-tools-git
  mingw-w64-winpthreads-git
]

Constants included from RubyInstaller::Build::Colors

RubyInstaller::Build::Colors::ColorMap, RubyInstaller::Build::Colors::ESC, RubyInstaller::Build::Colors::NND

Instance Attribute Summary

Attributes inherited from Base

#msys, #pacman_args, #task_index

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#initialize, #puts, #run_verbose, #shell_escape, #shell_join

Methods included from RubyInstaller::Build::Colors

#colored, #disable_colors, #enable_colors

Constructor Details

This class inherits a constructor from RubyInstaller::Build::Components::Base

Class Method Details

.dependsObject



5
6
7
# File 'lib/ruby_installer/build/components/03_dev_tools.rb', line 5

def self.depends
  %w[msys2]
end

Instance Method Details

#descriptionObject



9
10
11
# File 'lib/ruby_installer/build/components/03_dev_tools.rb', line 9

def description
  "MSYS2 and MINGW development toolchain"
end

#execute(args) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/ruby_installer/build/components/03_dev_tools.rb', line 54

def execute(args)
  msys.with_msys_apps_enabled do
    puts "Install #{description} ..."
    packages = PACKAGES.map do |package|
      package.sub(/^mingw-w64/, msys.mingw_package_prefix)
    end
    res = run_verbose("pacman", "-S", *pacman_args, *packages)
    puts "Install #{description} #{res ? green("succeeded") : red("failed")}"
    raise "pacman failed" unless res
  end
end