Sha256: 650832fc6b15c737e5e94e4e4b33b6ac464ebe638e3b51e2aa77f4bd46cdbfa7

Contents?: true

Size: 883 Bytes

Versions: 14

Compression:

Stored size: 883 Bytes

Contents

# frozen_string_literal: true

require "ffi-libarchive-binary/version"
require "pathname"

module LibarchiveBinary
  class Error < StandardError; end

  LIBRARY_PATH = Pathname.new(File.join(__dir__, "ffi-libarchive-binary"))

  def self.lib_path
    LIBRARY_PATH.join(lib_filename).to_s
  end

  def self.lib_filename
    if FFI::Platform.windows?
      "libarchive.dll"
    elsif FFI::Platform.mac?
      "libarchive.dylib"
    else
      "libarchive.so"
    end
  end
end

module Archive
  module C
    def self.ffi_lib(*args)
      prefixed = args.map do |names|
        paths = names.is_a?(Array) ? names : [names]
        if paths.any? { |f| f.include?("libarchive") }
          [LibarchiveBinary.lib_path] + paths
        else
          names
        end
      end

      super(*prefixed)
    end
  end
end

require "ffi-libarchive"

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ffi-libarchive-binary-0.4.0-x64-mingw32 lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.4.0-x64-mingw-ucrt lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.4.0.rc1-x64-mingw32 lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.4.0.rc1-x64-mingw-ucrt lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.4-x64-mingw32 lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.4-x64-mingw-ucrt lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.2-x64-mingw32 lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.2-x64-mingw-ucrt lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.2.rc1-x64-mingw32 lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.2.rc1-x64-mingw-ucrt lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.1-x64-mingw32 lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.1-x64-mingw-ucrt lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.0-x64-mingw32 lib/ffi-libarchive-binary.rb
ffi-libarchive-binary-0.3.0-x64-mingw-ucrt lib/ffi-libarchive-binary.rb