The attached patch updates the code to work with ruby2.2. I've applied it
in Ubuntu. Thanks for considering it for Debian!
--
-mt
Index: ruby-kyotocabinet-1.32/extconf.rb
===================================================================
--- ruby-kyotocabinet-1.32.orig/extconf.rb
+++ ruby-kyotocabinet-1.32/extconf.rb
@@ -1,4 +1,5 @@
require "mkmf"
+require "rbconfig"
File::unlink("Makefile") if (File::exist?("Makefile"))
dir_config('kyotocabinet')
@@ -7,7 +8,7 @@ kclibs = `pkg-config --libs-only-l kyoto
kccflags = `pkg-config --cflags kyotocabinet`.chomp
kcldflags = `pkg-config --libs-only-L kyotocabinet`.chomp
-Config::CONFIG["CPP"] = "g++ -E"
+RbConfig::CONFIG["CPP"] = "g++ -E"
$CFLAGS = "-I. #{kccflags} -Wall #{$CFLAGS} -O2"
$LDFLAGS = "#{$LDFLAGS} -L. #{kcldflags}"
$libs = "#{$libs} #{kclibs}"
Index: ruby-kyotocabinet-1.32/test.rb
===================================================================
--- ruby-kyotocabinet-1.32.orig/test.rb
+++ ruby-kyotocabinet-1.32/test.rb
@@ -40,7 +40,7 @@ if ("ruby" + /libruby-?(\d+.\d+(.\d+)?)\
end if File.exists? "kyotocabinet.so"
system("rm -rf casket*")
-rubycmd = Config::CONFIG["bindir"] + "/" + RbConfig::CONFIG['ruby_install_name']
+rubycmd = RbConfig::CONFIG["bindir"] + "/" + RbConfig::CONFIG['ruby_install_name']
all = confs.size * formats.size
cnt = 0
oknum = 0
Index: ruby-kyotocabinet-1.32/kyotocabinet.cc
===================================================================
--- ruby-kyotocabinet-1.32.orig/kyotocabinet.cc
+++ ruby-kyotocabinet-1.32/kyotocabinet.cc
@@ -20,6 +20,7 @@ namespace kc = kyotocabinet;
extern "C" {
#include <ruby.h>
+#include <ruby/thread.h>
#if RUBY_VM >= 1
#define _KC_YARV_
@@ -599,16 +600,16 @@ class NativeFunction {
virtual void operate() = 0;
static void execute(NativeFunction* func) {
#if defined(_KC_YARV_)
- rb_thread_blocking_region(execute_impl, func, RUBY_UBF_IO, NULL);
+ rb_thread_call_without_gvl(execute_impl, func, RUBY_UBF_IO, NULL);
#else
func->operate();
#endif
}
private:
- static VALUE execute_impl(void* ptr) {
+ static void *execute_impl(void* ptr) {
NativeFunction* func = (NativeFunction*)ptr;
func->operate();
- return Qnil;
+ return NULL;
}
};
_______________________________________________
Pkg-ruby-extras-maintainers mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-ruby-extras-maintainers