Sha256: e0981192b07e73dfe3a6fc7b67ef0614742a47a537b3cf0f9dde43c03f07e006

Contents?: true

Size: 1.67 KB

Versions: 3

Compression:

Stored size: 1.67 KB

Contents

# frozen_string_literal: true

require 'xezat'
require 'xezat/command/bump/compiler'
require 'xezat/command/bump/language'
require 'xezat/command/bump/tool'

module Xezat
  module Command
    class Bump
      def get_development_packages(variables, packages, runtimes, pkg2files)
        Xezat.logger.debug('  Collect development packages')
        compilers = get_compilers(get_languages(variables[:S]), variables)
        tools = get_tools(variables)
        build_requires = variables[:BUILD_REQUIRES].nil? ? [] : variables[:BUILD_REQUIRES].split.map(&:to_sym)
        development_packages = (compilers + tools + build_requires + [:cygport]).uniq

        resolve_development_package(development_packages)

        # Check gcc-gfortran
        if runtimes.grep(/^libgfortran/).empty?
          delete_fortran = true
          pkg2files.each_value do |files|
            delete_fortran = false unless files.grep(/\.mod$/).empty?
          end
          development_packages.delete(:'gcc-fortran') if delete_fortran
        end

        development_packages.sort!

        development_packages.map! do |package|
          pkg = packages[package]
          raise "Package #{package} is not installed in your system" if pkg.nil?

          pkg
        end
      end

      def resolve_development_package(development_packages)
        # Check libssl duplication
        development_packages.delete(:'libssl-devel') if development_packages.include?(:'libssl1.0-devel')

        # Check lua duplication
        development_packages.delete(:lua) if development_packages.include?(:'lua5.1-devel')
        development_packages.delete(:lua) if development_packages.include?(:'luajit-devel')
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
xezat-0.3.1 lib/xezat/command/bump/development_package.rb
xezat-0.3.0 lib/xezat/command/bump/development_package.rb
xezat-0.2.3 lib/xezat/command/bump/development_package.rb