Sha256: 9e5d68b3a80a9fb5d70e1c93cb58f5b2386851d9189a9451fb1a4177ebb18356

Contents?: true

Size: 924 Bytes

Versions: 46

Compression:

Stored size: 924 Bytes

Contents

require_relative './recipe'

module Ports
  class Libiconv < Recipe
    def initialize(version)
      super('libiconv', version)

      set_patches
    end

    def cook
      chdir_for_build do
        super
      end
      self
    end

    private

    # When using rake-compiler-dock on Windows, the underlying Virtualbox shared
    # folders don't support symlinks, but libiconv expects it for a build on
    # Linux. We work around this limitation by using the temp dir for cooking.
    def chdir_for_build
      build_dir = ENV['RCD_HOST_RUBY_PLATFORM'].to_s =~ /mingw|mswin|cygwin/ ? '/tmp' : '.'
      Dir.chdir(build_dir) do
        yield
      end
    end

    def configure_defaults
      [
        "--host=#{@host}",
        '--disable-static',
        '--enable-shared',
        'CFLAGS=-fPIC -O2'
      ]
    end

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

Version data entries

46 entries across 46 versions & 2 rubygems

Version Path
tiny_tds-2.1.5-x64-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.5-x86-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.5 tasks/ports/libiconv.rb
tiny_tds-2.1.4-x64-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.4-x86-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.4 tasks/ports/libiconv.rb
tiny_tds-2.1.4.pre2-x64-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.4.pre2-x86-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.4.pre2 tasks/ports/libiconv.rb
tiny_tds-2.1.4.pre-x64-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.4.pre-x86-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.4.pre tasks/ports/libiconv.rb
tiny_tds-2.1.3-x64-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.3-x86-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.3 tasks/ports/libiconv.rb
tiny_tds-2.1.3.pre-x86-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.3.pre-x64-mingw32 tasks/ports/libiconv.rb
tiny_tds-2.1.3.pre tasks/ports/libiconv.rb
vm_tiny_tds-2.1.2 tasks/ports/libiconv.rb
tiny_tds-2.1.2-x86-mingw32 tasks/ports/libiconv.rb