Sha256: 93fa99f67cfe05d98b613e642a6c273704c030e44ec2ab3f382bdf8cfad1493f

Contents?: true

Size: 1.21 KB

Versions: 32

Compression:

Stored size: 1.21 KB

Contents

require_relative './recipe'

module Ports
  class Openssl < Recipe
    def initialize(version)
      super('openssl', version)

      set_patches
    end

    def configure
      return if configured?

      md5_file = File.join(tmp_path, 'configure.md5')
      digest   = Digest::MD5.hexdigest(computed_options.to_s)
      File.open(md5_file, "w") { |f| f.write digest }

      # Windows doesn't recognize the shebang so always explicitly use sh
      execute('configure', "sh -c \"./Configure #{computed_options.join(' ')}\"")
    end

    def install
      unless installed?
        execute('install', %Q(#{make_cmd} install_sw install_ssldirs))
      end
    end

    private

    def configure_defaults
      opts = [
        'shared',
        target_arch,
        "--openssldir=#{path}",
      ]

      if cross_build?
        opts << "--cross-compile-prefix=#{host}-"
      end

      opts
    end

    def target_arch
      if windows?
        arch = ''
        arch = '64' if host=~ /x86_64/

        "mingw#{arch}"
      else
        arch = 'x32'
        arch = 'x86_64' if host=~ /x86_64/

        "linux-#{arch}"
      end
    end

    def set_patches
      self.patch_files.concat get_patches(name, version)
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
tiny_tds-3.1.0-x64-mingw-ucrt tasks/ports/openssl.rb
tiny_tds-3.1.0-x64-mingw32 tasks/ports/openssl.rb
tiny_tds-3.1.0 tasks/ports/openssl.rb
tiny_tds-3.0.0-x64-mingw32 tasks/ports/openssl.rb
tiny_tds-3.0.0-x64-mingw-ucrt tasks/ports/openssl.rb
tiny_tds-3.0.0 tasks/ports/openssl.rb
tiny_tds-2.1.7-x64-mingw-ucrt tasks/ports/openssl.rb
tiny_tds-2.1.7-x64-mingw32 tasks/ports/openssl.rb
tiny_tds-2.1.7-x86-mingw32 tasks/ports/openssl.rb
tiny_tds-2.1.7 tasks/ports/openssl.rb
tiny_tds-2.1.6-x86-mingw32 tasks/ports/openssl.rb
tiny_tds-2.1.6-x64-mingw-ucrt tasks/ports/openssl.rb
tiny_tds-2.1.6-x64-mingw32 tasks/ports/openssl.rb
tiny_tds-2.1.6 tasks/ports/openssl.rb
tiny_tds-2.1.5-x64-mingw32 tasks/ports/openssl.rb
tiny_tds-2.1.5-x86-mingw32 tasks/ports/openssl.rb
tiny_tds-2.1.5 tasks/ports/openssl.rb
tiny_tds-2.1.4-x64-mingw32 tasks/ports/openssl.rb
tiny_tds-2.1.4-x86-mingw32 tasks/ports/openssl.rb
tiny_tds-2.1.4 tasks/ports/openssl.rb