summary refs log tree commit diff
path: root/pkgs/development/interpreters/ruby/bundler-env/xapian-Rakefile
blob: 9f0b8e72f08c9ab15f3f420159c179f03368fad3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# encoding: utf-8
# Install the xapian binaries into the lib folder of the gem
require 'rbconfig'

c = RbConfig::CONFIG

def system!(cmd)
  puts cmd
  system(cmd) or raise
end

source_dir = 'xapian_source'
bindings = Dir["#{source_dir}/xapian-bindings-*"].first
bindings = File.basename(bindings, ".tar.xz")

task :default do
  system! "tar -xJf #{source_dir}/#{bindings}.tar.xz"

  prefix = Dir.pwd
  ENV['LDFLAGS'] = "-L#{prefix}/lib"

  system! "mkdir -p lib"

  Dir.chdir bindings do
    ENV['RUBY'] ||= "#{c['bindir']}/#{c['RUBY_INSTALL_NAME']}"
    system! "./configure --prefix=#{prefix} --exec-prefix=#{prefix} --with-ruby"
    system! "make clean all"
  end

  system! "cp -r #{bindings}/ruby/.libs/_xapian.* lib"
  system! "cp #{bindings}/ruby/xapian.rb lib"

  system! "rm lib/*.la"
  system! "rm lib/*.lai"

  system! "rm -R #{bindings}"
  system! "rm -R #{source_dir}"
end