Spec-Zone.ru › Homebrew

Модуль: OS::Linux::DevelopmentTools::ClassMethods Приватный

Расширен модулем:
T::Helpers
Определён в:
extend/os/linux/development_tools.rb

Этот модуль является частью закрытого API. Этот модуль можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот модуль, поскольку он может быть удалён или изменён без предупреждения.

Краткое описание методов экземпляра свернуть

  • #build_system_info ⇒ Hash{String => String, nil} приватный
  • #default_compiler ⇒ Symbol приватный
  • #host_gcc_path ⇒ ::Pathname приватный
  • #locate(tool) ⇒ ::Pathname? приватный
  • #needs_compiler_formula? ⇒ Boolean приватный
  • #needs_libc_formula? ⇒ Boolean приватный

Подробное описание методов экземпляра

#build_system_info ⇒ Hash{String => String, nil}

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Hash{String => String, nil})


67
68
69
70
71
72
# File 'extend/os/linux/development_tools.rb', line 67

def build_system_info
  super.merge({
    "glibc_version"     => OS::Linux::Glibc.version.to_s.presence,
    "oldest_cpu_family" => ::Hardware.oldest_cpu.to_s,
  })
end

#default_compiler ⇒ Symbol

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Symbol)


31
# File 'extend/os/linux/development_tools.rb', line 31

def default_compiler = :gcc

#host_gcc_path ⇒ ::Pathname

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (::Pathname)


46
47
48
49
50
51
52
# File 'extend/os/linux/development_tools.rb', line 46

def host_gcc_path
  # Prioritise versioned path if installed
  path = ::Pathname.new("/usr/bin/#{OS::LINUX_PREFERRED_GCC_COMPILER_FORMULA.tr("@", "-")}")
  return path if path.exist?

  super
end

#locate(tool) ⇒ ::Pathname?

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • tool (String, Symbol)

Возвращает:

  • (::Pathname, nil)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'extend/os/linux/development_tools.rb', line 13

def locate(tool)
  @locate ||= T.let({}, T.nilable(T::Hash[T.any(String, Symbol), ::Pathname]))
  @locate.fetch(tool) do |key|
    @locate[key] = if ::DevelopmentTools.needs_build_formulae? &&
                      (binutils_path = HOMEBREW_PREFIX/"opt/binutils/bin/#{tool}").executable?
      binutils_path
    elsif ::DevelopmentTools.needs_build_formulae? &&
          (glibc_path = HOMEBREW_PREFIX/"opt/glibc/bin/#{tool}").executable?
      glibc_path
    elsif (homebrew_path = HOMEBREW_PREFIX/"bin/#{tool}").executable?
      homebrew_path
    elsif File.executable?(system_path = "/usr/bin/#{tool}")
      ::Pathname.new system_path
    end
  end
end

#needs_compiler_formula? ⇒ Boolean

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Boolean)


55
56
57
58
59
60
61
62
63
64
# File 'extend/os/linux/development_tools.rb', line 55

def needs_compiler_formula?
  return @needs_compiler_formula unless @needs_compiler_formula.nil?

  @needs_compiler_formula = T.let(nil, T.nilable(T::Boolean))

  # Undocumented environment variable to make it easier to test compiler
  # formula automatic installation.
  @needs_compiler_formula = true if ENV["HOMEBREW_FORCE_COMPILER_FORMULA"]
  @needs_compiler_formula ||= OS::Linux::Libstdcxx.below_ci_version?
end

#needs_libc_formula? ⇒ Boolean

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Boolean)


34
35
36
37
38
39
40
41
42
43
# File 'extend/os/linux/development_tools.rb', line 34

def needs_libc_formula?
  return @needs_libc_formula unless @needs_libc_formula.nil?

  @needs_libc_formula = T.let(nil, T.nilable(T::Boolean))

  # Undocumented environment variable to make it easier to test libc
  # formula automatic installation.
  @needs_libc_formula = true if ENV["HOMEBREW_FORCE_LIBC_FORMULA"]
  @needs_libc_formula ||= OS::Linux::Glibc.below_ci_version?
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/OS/Linux/DevelopmentTools/ClassMethods.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API