Sha256: 06644905a644a486a7e6b424abe5c354b9ceaedf58d01875f6aeb2ea18882ed6

Contents?: true

Size: 1.26 KB

Versions: 1

Compression:

Stored size: 1.26 KB

Contents

require File.expand_path('../../lib/rdkafka/version', __FILE__)
require "mini_portile2"
require "fileutils"

task :default => :clean do
  # Download and compile librdkafka
  recipe = MiniPortile.new("librdkafka", Rdkafka::LIBRDKAFKA_VERSION)
  recipe.files = ["https://github.com/edenhill/librdkafka/archive/v#{Rdkafka::LIBRDKAFKA_VERSION}.tar.gz"]
  recipe.configure_options = ["--host=#{recipe.host}"]
  recipe.cook
  # Move dynamic library we're interested in
  extension = if recipe.host.include?('darwin')
                'dylib'
              else
                'so'
              end
  lib_path = File.join(File.dirname(__FILE__), "ports/#{recipe.host}/librdkafka/#{Rdkafka::LIBRDKAFKA_VERSION}/lib/librdkafka.1.#{extension}")
  FileUtils.mv(lib_path, File.join(File.dirname(__FILE__), "librdkafka.#{extension}"))
  # Cleanup files created miniportile we don't need in the gem
  FileUtils.rm_rf File.join(File.dirname(__FILE__), "tmp")
  FileUtils.rm_rf File.join(File.dirname(__FILE__), "ports")
end

task :clean do
  FileUtils.rm_f File.join(File.dirname(__FILE__), "librdkafka.dylib")
  FileUtils.rm_f File.join(File.dirname(__FILE__), "librdkafka.so")
  FileUtils.rm_rf File.join(File.dirname(__FILE__), "ports")
  FileUtils.rm_rf File.join(File.dirname(__FILE__), "tmp")
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rdkafka-0.1.4 ext/Rakefile