rroonga 1.2.3 → 1.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.textile CHANGED
@@ -70,3 +70,4 @@ h2. Thanks
70
70
  * ono matope: sent bug reports.
71
71
  * @kamipo: send a bug report.
72
72
  * ongaeshi: sent a patch to build gem on Windows.
73
+ * mallowlabs: send a patch.
data/Rakefile CHANGED
@@ -226,6 +226,10 @@ def rsync_to_rubyforge(spec, source, destination, options={})
226
226
  sh("rsync #{rsync_args} #{source} #{host}:#{remote_dir}#{destination}")
227
227
  end
228
228
 
229
+ def rake(*arguments)
230
+ ruby($0, *arguments)
231
+ end
232
+
229
233
  namespace :reference do
230
234
  translate_languages = [:ja]
231
235
  supported_languages = [:en, *translate_languages]
@@ -260,6 +264,15 @@ namespace :reference do
260
264
  task :update => po_file
261
265
  end
262
266
  end
267
+
268
+ desc "Updates po files."
269
+ task :update do
270
+ ruby($0, "clobber")
271
+ ruby($0, "yard")
272
+ translate_languages.each do |language|
273
+ ruby($0, "reference:po:#{language}:update")
274
+ end
275
+ end
263
276
  end
264
277
 
265
278
  namespace :translate do
@@ -348,128 +361,3 @@ desc "Tag the current revision."
348
361
  task :tag do
349
362
  sh("git tag -a #{version} -m 'release #{version}!!!'")
350
363
  end
351
-
352
- namespace :win32 do
353
- patches_dir = (Pathname.new(base_dir) + "patches").expand_path
354
- if groonga_win32_i386_p
355
- host = "i586-mingw32msvc"
356
- mecab_patches = []
357
- else
358
- host = "x86_64-w64-mingw32"
359
- mecab_patches = [
360
- "mecab-0.98-mingw-w64.diff",
361
- "mecab-0.98-not-use-locale-on-mingw.diff",
362
- ]
363
- end
364
-
365
- desc "Build MeCab and groonga and install them into vendor/local/."
366
- task(:build => [:build_mecab, :build_mecab_dict, :build_groonga])
367
-
368
- desc "Build MeCab and install it into vendor/local/."
369
- task(:build_mecab) do
370
- tmp_dir = "tmp/mecab"
371
- rm_rf(tmp_dir)
372
- mkdir_p(tmp_dir)
373
- require 'open-uri'
374
- mecab_version = "0.98"
375
- mecab_base = "mecab-#{mecab_version}"
376
- mecab_tar_gz = "#{mecab_base}.tar.gz"
377
- mecab_tar_gz_url = "http://sourceforge.net/projects/mecab/files/mecab/#{mecab_version}/#{mecab_tar_gz}/download"
378
- Dir.chdir(tmp_dir) do
379
- open(mecab_tar_gz_url) do |downloaded_tar_gz|
380
- File.open(mecab_tar_gz, "wb") do |tar_gz|
381
- tar_gz.print(downloaded_tar_gz.read)
382
- end
383
- end
384
- sh("tar", "xzf", mecab_tar_gz) or exit(false)
385
- end
386
- Dir.chdir(File.join(tmp_dir, mecab_base)) do
387
- mecab_patches.each do |patch|
388
- sh("patch -p1 < #{patches_dir + patch}")
389
- end
390
- sh("./configure",
391
- "--prefix=#{binary_dir}",
392
- "--host=#{host}") or exit(false)
393
- sh("env", "GREP_OPTIONS=--text", "nice", "make", "-j8") or exit(false)
394
- sh("env", "GREP_OPTIONS=--text", "make", "install") or exit(false)
395
-
396
- mecab_rc_path = File.join(binary_dir, "etc", "mecabrc")
397
- win32_mecab_rc_path = File.join(binary_dir, "bin", "mecabrc")
398
- mv(mecab_rc_path, win32_mecab_rc_path)
399
-
400
- mecab_files_dir = File.join(vendor_dir, "mecab")
401
- mkdir_p(mecab_files_dir)
402
- files = ["AUTHORS", "BSD", "COPYING", "GPL", "LGPL"]
403
- cp(files, mecab_files_dir)
404
- end
405
- end
406
-
407
- task(:build_mecab_dict) do
408
- tmp_dir = "tmp/mecab_dict"
409
- rm_rf(tmp_dir)
410
- mkdir_p(tmp_dir)
411
- require 'open-uri'
412
- naist_jdic_base = "mecab-naist-jdic-0.6.3-20100801"
413
- naist_jdic_tar_gz = "#{naist_jdic_base}.tar.gz"
414
- naist_jdic_tar_gz_url = "http://osdn.dl.sourceforge.jp/naist-jdic/48487/#{naist_jdic_tar_gz}"
415
- Dir.chdir(tmp_dir) do
416
- open(naist_jdic_tar_gz_url) do |downloaded_tar_gz|
417
- File.open(naist_jdic_tar_gz, "wb") do |tar_gz|
418
- tar_gz.print(downloaded_tar_gz.read)
419
- end
420
- end
421
- sh("tar", "xzf", naist_jdic_tar_gz) or exit(false)
422
- end
423
- Dir.chdir(File.join(tmp_dir, naist_jdic_base)) do
424
- sh("./configure",
425
- "--with-dicdir=#{binary_dir}/share/mecab/dic/naist-jdic",
426
- "--with-charset=utf-8") or exit(false)
427
- sh("make", "-j8") or exit(false)
428
- sh("make", "install-data") or exit(false)
429
-
430
- naist_jdic_files_dir = File.join(vendor_dir, "mecab-naist-jdic")
431
- mkdir_p(naist_jdic_files_dir)
432
- files = ["AUTHORS", "COPYING"]
433
- cp(files, naist_jdic_files_dir)
434
- end
435
- dictionary_dir = '$(rcpath)\..\share\mecab\dic\naist-jdic'
436
- mecab_rc_path = File.join(binary_dir, "bin", "mecabrc")
437
- mecab_rc_content = File.read(mecab_rc_path)
438
- File.open(mecab_rc_path, "w") do |mecab_rc|
439
- mecab_rc.print(mecab_rc_content.gsub(/^dicdir\s*=.+$/,
440
- "dicdir = #{dictionary_dir}"))
441
- end
442
- end
443
-
444
- desc "Build groonga and install it into vendor/local/."
445
- task(:build_groonga) do
446
- tmp_dir = "tmp/groonga"
447
- rm_rf(tmp_dir)
448
- mkdir_p(tmp_dir)
449
- Dir.chdir(tmp_dir) do
450
- sh("git", "clone", "git://github.com/groonga/groonga.git") or exit(false)
451
- end
452
- Dir.chdir(File.join(tmp_dir, "groonga")) do
453
- sh("./autogen.sh") or exit(false)
454
- mecab_config = File.join(binary_dir, "bin", "mecab-config")
455
- args = ["./configure",
456
- "--prefix=#{binary_dir}",
457
- "--host=#{host}",
458
- "--without-cutter",
459
- "--disable-benchmark"]
460
- if File.exist?(mecab_config)
461
- args << "--with-mecab-config=#{mecab_config}"
462
- else
463
- args << "--without-mecab"
464
- end
465
- sh(*args) or exit(false)
466
- sh("env", "GREP_OPTIONS=--text", "nice", "make", "-j8") or exit(false)
467
- sh("env", "GREP_OPTIONS=--text", "make", "install") or exit(false)
468
-
469
- groonga_files_dir = File.join(vendor_dir, "groonga")
470
- mkdir_p(groonga_files_dir)
471
- files = ["AUTHORS", "COPYING"]
472
- cp(files, groonga_files_dir)
473
- end
474
- end
475
- end
data/bug.rb ADDED
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'fileutils'
4
+ require 'groonga'
5
+
6
+ Groonga::Logger.log_path = "/tmp/groonga.log"
7
+ Groonga::Logger.query_log_path = "/tmp/groonga-query.log"
8
+
9
+ i = 0
10
+ loop do
11
+ path = "/tmp/db/db"
12
+ FileUtils.rm_rf(File.dirname(path))
13
+ FileUtils.mkdir_p(File.dirname(path))
14
+ Groonga::Context.default = nil
15
+ database = Groonga::Database.create(:path => path)
16
+ Groonga::Schema.define do |schema|
17
+ schema.create_table("Users",
18
+ :type => :hash,
19
+ :key_type => "ShortText") do |table|
20
+ table.uint32("name_length")
21
+ end
22
+ end
23
+
24
+ users = Groonga["Users"]
25
+ 10.times do
26
+ i += 1
27
+ exit if i > 100
28
+ name = i.to_s
29
+ users.add(name, :name_length => name.length)
30
+ end
31
+ builder = Groonga::RecordExpressionBuilder.new(users, nil)
32
+ builder.query = "name_length:3"
33
+ builder.build
34
+ database.close
35
+ GC.start
36
+ end
data/crash.rb ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'groonga'
4
+
5
+ context = Groonga::Context.default
6
+ context.connect(:port => 10042)
7
+
8
+ 10000.times do |i|
9
+ p i
10
+ GC.stress = true
11
+ result = context.select("Program")
12
+ result.records.each do |record|
13
+ record["_key"]
14
+ record["unknown"]
15
+ end
16
+ GC.stress = false
17
+ end
data/ext/groonga/Makefile CHANGED
@@ -3,7 +3,7 @@ SHELL = /bin/sh
3
3
 
4
4
  #### Start of system configuration section. ####
5
5
 
6
- srcdir = /home/yue/work/rroonga/ext/groonga
6
+ srcdir = /home/kou/work/ruby/rroonga/ext/groonga
7
7
  topdir = /usr/include/ruby-1.9.1
8
8
  hdrdir = /usr/include/ruby-1.9.1
9
9
  arch_hdrdir = /usr/include/ruby-1.9.1/$(arch)
@@ -54,15 +54,15 @@ COUTFLAG = -o
54
54
 
55
55
  RUBY_EXTCONF_H =
56
56
  cflags = $(optflags) $(debugflags) $(warnflags)
57
- optflags = -O0
58
- debugflags = -ggdb3
57
+ optflags = -O3
58
+ debugflags = -ggdb
59
59
  warnflags = -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long
60
- CFLAGS = -fPIC -fno-strict-aliasing -ggdb3 -O0 -fPIC -Wall -I/tmp/local/include/groonga
60
+ CFLAGS = -fPIC -fno-strict-aliasing -g -g -O2 -fPIC -Wall -I/home/kou/work/ruby/rroonga/vendor/local/include/groonga
61
61
  INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
62
62
  DEFS =
63
- CPPFLAGS = -DRB_GRN_COMPILATION -DGRN_MAJOR_VERSION=1 -DGRN_MINOR_VERSION=2 -DGRN_MICRO_VERSION=1 -DHAVE_RB_ERRINFO -DHAVE_TYPE_ENUM_RUBY_VALUE_TYPE $(DEFS) $(cppflags)
63
+ CPPFLAGS = -DRB_GRN_COMPILATION -DGRN_MAJOR_VERSION=1 -DGRN_MINOR_VERSION=2 -DGRN_MICRO_VERSION=3 -DHAVE_RB_ERRINFO -DHAVE_TYPE_ENUM_RUBY_VALUE_TYPE $(DEFS) $(cppflags)
64
64
  CXXFLAGS = $(CFLAGS) -fno-strict-aliasing -g
65
- ldflags = -L. -rdynamic -Wl,-export-dynamic -L/tmp/local/lib
65
+ ldflags = -L. -rdynamic -Wl,-export-dynamic -L/home/kou/work/ruby/rroonga/vendor/local/lib
66
66
  dldflags =
67
67
  ARCH_FLAG =
68
68
  DLDFLAGS = $(ldflags) $(dldflags)
@@ -105,8 +105,8 @@ extout_prefix =
105
105
  target_prefix =
106
106
  LOCAL_LIBS =
107
107
  LIBS = $(LIBRUBYARG_SHARED) -lgroonga -lpthread -lrt -ldl -lcrypt -lm -lc
108
- SRCS = rb-grn-snippet.c rb-grn-view.c rb-grn-query.c rb-grn-encoding-support.c rb-grn-record.c rb-grn-utils.c rb-grn-index-column.c rb-grn-index-cursor.c rb-grn-view-accessor.c rb-grn-object.c rb-grn-patricia-trie.c rb-grn-expression-builder.c rb-grn-variable.c rb-grn-hash-cursor.c rb-grn-fix-size-column.c rb-grn-variable-size-column.c rb-grn-table-key-support.c rb-grn-table.c rb-groonga.c rb-grn-table-cursor.c rb-grn-hash.c rb-grn-exception.c rb-grn-logger.c rb-grn-plugin.c rb-grn-encoding.c rb-grn-view-record.c rb-grn-view-cursor.c rb-grn-column.c rb-grn-procedure.c rb-grn-posting.c rb-grn-accessor.c rb-grn-operator.c rb-grn-type.c rb-grn-array.c rb-grn-patricia-trie-cursor.c rb-grn-context.c rb-grn-database.c rb-grn-array-cursor.c rb-grn-expression.c rb-grn-table-cursor-key-support.c
109
- OBJS = rb-grn-snippet.o rb-grn-view.o rb-grn-query.o rb-grn-encoding-support.o rb-grn-record.o rb-grn-utils.o rb-grn-index-column.o rb-grn-index-cursor.o rb-grn-view-accessor.o rb-grn-object.o rb-grn-patricia-trie.o rb-grn-expression-builder.o rb-grn-variable.o rb-grn-hash-cursor.o rb-grn-fix-size-column.o rb-grn-variable-size-column.o rb-grn-table-key-support.o rb-grn-table.o rb-groonga.o rb-grn-table-cursor.o rb-grn-hash.o rb-grn-exception.o rb-grn-logger.o rb-grn-plugin.o rb-grn-encoding.o rb-grn-view-record.o rb-grn-view-cursor.o rb-grn-column.o rb-grn-procedure.o rb-grn-posting.o rb-grn-accessor.o rb-grn-operator.o rb-grn-type.o rb-grn-array.o rb-grn-patricia-trie-cursor.o rb-grn-context.o rb-grn-database.o rb-grn-array-cursor.o rb-grn-expression.o rb-grn-table-cursor-key-support.o
108
+ SRCS = rb-grn-procedure.c rb-grn-column.c rb-grn-index-column.c rb-grn-encoding-support.c rb-grn-variable.c rb-grn-table.c rb-grn-hash-cursor.c rb-grn-table-cursor-key-support.c rb-grn-object.c rb-grn-view-accessor.c rb-grn-table-key-support.c rb-grn-array.c rb-grn-patricia-trie.c rb-grn-utils.c rb-grn-record.c rb-grn-query.c rb-groonga.c rb-grn-exception.c rb-grn-variable-size-column.c rb-grn-encoding.c rb-grn-expression-builder.c rb-grn-operator.c rb-grn-snippet.c rb-grn-array-cursor.c rb-grn-type.c rb-grn-table-cursor.c rb-grn-fix-size-column.c rb-grn-view-cursor.c rb-grn-logger.c rb-grn-plugin.c rb-grn-database.c rb-grn-view-record.c rb-grn-patricia-trie-cursor.c rb-grn-index-cursor.c rb-grn-view.c rb-grn-accessor.c rb-grn-context.c rb-grn-posting.c rb-grn-expression.c rb-grn-hash.c
109
+ OBJS = rb-grn-procedure.o rb-grn-column.o rb-grn-index-column.o rb-grn-encoding-support.o rb-grn-variable.o rb-grn-table.o rb-grn-hash-cursor.o rb-grn-table-cursor-key-support.o rb-grn-object.o rb-grn-view-accessor.o rb-grn-table-key-support.o rb-grn-array.o rb-grn-patricia-trie.o rb-grn-utils.o rb-grn-record.o rb-grn-query.o rb-groonga.o rb-grn-exception.o rb-grn-variable-size-column.o rb-grn-encoding.o rb-grn-expression-builder.o rb-grn-operator.o rb-grn-snippet.o rb-grn-array-cursor.o rb-grn-type.o rb-grn-table-cursor.o rb-grn-fix-size-column.o rb-grn-view-cursor.o rb-grn-logger.o rb-grn-plugin.o rb-grn-database.o rb-grn-view-record.o rb-grn-patricia-trie-cursor.o rb-grn-index-cursor.o rb-grn-view.o rb-grn-accessor.o rb-grn-context.o rb-grn-posting.o rb-grn-expression.o rb-grn-hash.o
110
110
  TARGET = groonga
111
111
  DLLIB = $(TARGET).so
112
112
  EXTSTATIC =
@@ -154,36 +154,31 @@ install-rb: pre-install-rb install-rb-default
154
154
  install-rb-default: pre-install-rb-default
155
155
  pre-install-rb: Makefile
156
156
  pre-install-rb-default: Makefile
157
- pre-install-rb: $(RUBYLIBDIR)
158
- install-rb: $(RUBYLIBDIR)/groonga.rb
159
- $(RUBYLIBDIR)/groonga.rb: $(srcdir)/../../lib/groonga.rb
160
- @-$(MAKEDIRS) $(@D)
161
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga.rb $(@D)
162
157
  pre-install-rb: $(RUBYLIBDIR)/groonga
163
- install-rb: $(RUBYLIBDIR)/groonga/dumper.rb
164
- $(RUBYLIBDIR)/groonga/dumper.rb: $(srcdir)/../../lib/groonga/dumper.rb
158
+ install-rb: $(RUBYLIBDIR)/groonga/schema.rb
159
+ $(RUBYLIBDIR)/groonga/schema.rb: $(srcdir)/../../lib/groonga/schema.rb
165
160
  @-$(MAKEDIRS) $(@D)
166
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/dumper.rb $(@D)
161
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/schema.rb $(@D)
167
162
  install-rb: $(RUBYLIBDIR)/groonga/pagination.rb
168
163
  $(RUBYLIBDIR)/groonga/pagination.rb: $(srcdir)/../../lib/groonga/pagination.rb
169
164
  @-$(MAKEDIRS) $(@D)
170
165
  $(INSTALL_DATA) $(srcdir)/../../lib/groonga/pagination.rb $(@D)
171
- install-rb: $(RUBYLIBDIR)/groonga/schema.rb
172
- $(RUBYLIBDIR)/groonga/schema.rb: $(srcdir)/../../lib/groonga/schema.rb
173
- @-$(MAKEDIRS) $(@D)
174
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/schema.rb $(@D)
175
- install-rb: $(RUBYLIBDIR)/groonga/expression-builder.rb
176
- $(RUBYLIBDIR)/groonga/expression-builder.rb: $(srcdir)/../../lib/groonga/expression-builder.rb
166
+ install-rb: $(RUBYLIBDIR)/groonga/view-record.rb
167
+ $(RUBYLIBDIR)/groonga/view-record.rb: $(srcdir)/../../lib/groonga/view-record.rb
177
168
  @-$(MAKEDIRS) $(@D)
178
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/expression-builder.rb $(@D)
169
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/view-record.rb $(@D)
179
170
  install-rb: $(RUBYLIBDIR)/groonga/patricia-trie.rb
180
171
  $(RUBYLIBDIR)/groonga/patricia-trie.rb: $(srcdir)/../../lib/groonga/patricia-trie.rb
181
172
  @-$(MAKEDIRS) $(@D)
182
173
  $(INSTALL_DATA) $(srcdir)/../../lib/groonga/patricia-trie.rb $(@D)
183
- install-rb: $(RUBYLIBDIR)/groonga/view-record.rb
184
- $(RUBYLIBDIR)/groonga/view-record.rb: $(srcdir)/../../lib/groonga/view-record.rb
174
+ install-rb: $(RUBYLIBDIR)/groonga/dumper.rb
175
+ $(RUBYLIBDIR)/groonga/dumper.rb: $(srcdir)/../../lib/groonga/dumper.rb
185
176
  @-$(MAKEDIRS) $(@D)
186
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/view-record.rb $(@D)
177
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/dumper.rb $(@D)
178
+ install-rb: $(RUBYLIBDIR)/groonga/posting.rb
179
+ $(RUBYLIBDIR)/groonga/posting.rb: $(srcdir)/../../lib/groonga/posting.rb
180
+ @-$(MAKEDIRS) $(@D)
181
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/posting.rb $(@D)
187
182
  install-rb: $(RUBYLIBDIR)/groonga/context.rb
188
183
  $(RUBYLIBDIR)/groonga/context.rb: $(srcdir)/../../lib/groonga/context.rb
189
184
  @-$(MAKEDIRS) $(@D)
@@ -192,16 +187,21 @@ install-rb: $(RUBYLIBDIR)/groonga/record.rb
192
187
  $(RUBYLIBDIR)/groonga/record.rb: $(srcdir)/../../lib/groonga/record.rb
193
188
  @-$(MAKEDIRS) $(@D)
194
189
  $(INSTALL_DATA) $(srcdir)/../../lib/groonga/record.rb $(@D)
195
- install-rb: $(RUBYLIBDIR)/groonga/posting.rb
196
- $(RUBYLIBDIR)/groonga/posting.rb: $(srcdir)/../../lib/groonga/posting.rb
190
+ install-rb: $(RUBYLIBDIR)/groonga/expression-builder.rb
191
+ $(RUBYLIBDIR)/groonga/expression-builder.rb: $(srcdir)/../../lib/groonga/expression-builder.rb
197
192
  @-$(MAKEDIRS) $(@D)
198
- $(INSTALL_DATA) $(srcdir)/../../lib/groonga/posting.rb $(@D)
193
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga/expression-builder.rb $(@D)
194
+ pre-install-rb: $(RUBYLIBDIR)
195
+ install-rb: $(RUBYLIBDIR)/groonga.rb
196
+ $(RUBYLIBDIR)/groonga.rb: $(srcdir)/../../lib/groonga.rb
197
+ @-$(MAKEDIRS) $(@D)
198
+ $(INSTALL_DATA) $(srcdir)/../../lib/groonga.rb $(@D)
199
199
  $(RUBYARCHDIR):
200
200
  $(MAKEDIRS) $@
201
- $(RUBYLIBDIR):
202
- $(MAKEDIRS) $@
203
201
  $(RUBYLIBDIR)/groonga:
204
202
  $(MAKEDIRS) $@
203
+ $(RUBYLIBDIR):
204
+ $(MAKEDIRS) $@
205
205
 
206
206
  site-install: site-install-so site-install-rb
207
207
  site-install-so: install-so
@@ -61,6 +61,77 @@ checking_for(checking_message("Win32 OS")) do
61
61
  win32
62
62
  end
63
63
 
64
+ def install_groonga_locally(major, minor, micro)
65
+ require 'open-uri'
66
+ require 'shellwords'
67
+
68
+ tar_gz = "groonga-#{major}.#{minor}.#{micro}.tar.gz"
69
+ FileUtils.mkdir_p(local_groonga_base_dir)
70
+
71
+ install_dir = local_groonga_install_dir
72
+ Dir.chdir(local_groonga_base_dir) do
73
+ url = "http://packages.groonga.org/source/groonga/#{tar_gz}"
74
+ message("downloading %s...", url)
75
+ open(url, "rb") do |input|
76
+ File.open(tar_gz, "wb") do |output|
77
+ while (buffer = input.read(1024))
78
+ output.print(buffer)
79
+ end
80
+ end
81
+ end
82
+ message(" done\n")
83
+
84
+ message("extracting...")
85
+ if xsystem("tar xfz #{tar_gz}")
86
+ message(" done\n")
87
+ else
88
+ message(" failed\n")
89
+ exit 1
90
+ end
91
+
92
+ groonga_source_dir = "groonga-#{major}.#{minor}.#{micro}"
93
+ Dir.chdir(groonga_source_dir) do
94
+ message("configuring...")
95
+ prefix = Shellwords.escape(install_dir)
96
+ if xsystem("./configure CFLAGS='-g -O0' --prefix=#{prefix}")
97
+ message(" done\n")
98
+ else
99
+ message(" failed\n")
100
+ exit 1
101
+ end
102
+
103
+ message("building (maybe long time)...")
104
+ if xsystem("make")
105
+ message(" done\n")
106
+ else
107
+ message(" failed\n")
108
+ exit 1
109
+ end
110
+
111
+ message("installing...")
112
+ if [major, minor, micro] == [0, 1, 6]
113
+ make_install_args = " MKDIR_P='mkdir -p --'"
114
+ else
115
+ make_install_args = ""
116
+ end
117
+ if xsystem("make install#{make_install_args}")
118
+ message(" done\n")
119
+ else
120
+ message(" failed\n")
121
+ exit 1
122
+ end
123
+ end
124
+ end
125
+
126
+ prepend_pkg_config_path_for_local_groonga
127
+ end
128
+
129
+ unless PKGConfig.have_package(package_name, major, minor, micro)
130
+ unless have_local_groonga?(package_name, major, minor, micro)
131
+ install_groonga_locally(major, minor, micro)
132
+ end
133
+ end
134
+
64
135
  unless PKGConfig.have_package(package_name, major, minor, micro)
65
136
  have_local_groonga?(package_name, major, minor, micro) or exit 1
66
137
  add_rpath_for_local_groonga
data/ext/groonga/rb-grn.h CHANGED
@@ -69,7 +69,7 @@ RB_GRN_BEGIN_DECLS
69
69
 
70
70
  #define RB_GRN_MAJOR_VERSION 1
71
71
  #define RB_GRN_MINOR_VERSION 2
72
- #define RB_GRN_MICRO_VERSION 3
72
+ #define RB_GRN_MICRO_VERSION 4
73
73
 
74
74
  #define RB_GRN_QUERY_DEFAULT_MAX_EXPRESSIONS 32
75
75
 
data/extconf.rb CHANGED
@@ -18,96 +18,9 @@
18
18
  require 'English'
19
19
  require 'pathname'
20
20
  require 'fileutils'
21
-
22
- begin
23
- require 'pkg-config'
24
- rescue LoadError
25
- require 'rubygems'
26
- require 'pkg-config'
27
- end
21
+ require 'mkmf'
28
22
 
29
23
  base_dir = Pathname(__FILE__).dirname.realpath
30
- $LOAD_PATH.unshift(base_dir.to_s)
31
-
32
- require 'rroonga-build'
33
-
34
- include RroongaBuild
35
-
36
- package_name = "groonga"
37
- module_name = "groonga"
38
- major, minor, micro = RequiredGroongaVersion::VERSION
39
-
40
- def install_groonga_locally(major, minor, micro)
41
- require 'open-uri'
42
- require 'shellwords'
43
-
44
- tar_gz = "groonga-#{major}.#{minor}.#{micro}.tar.gz"
45
- FileUtils.mkdir_p(local_groonga_base_dir)
46
-
47
- install_dir = local_groonga_install_dir
48
- Dir.chdir(local_groonga_base_dir) do
49
- url = "http://packages.groonga.org/source/groonga/#{tar_gz}"
50
- message("downloading %s...", url)
51
- open(url, "rb") do |input|
52
- File.open(tar_gz, "wb") do |output|
53
- while (buffer = input.read(1024))
54
- output.print(buffer)
55
- end
56
- end
57
- end
58
- message(" done\n")
59
-
60
- message("extracting...")
61
- if xsystem("tar xfz #{tar_gz}")
62
- message(" done\n")
63
- else
64
- message(" failed\n")
65
- exit 1
66
- end
67
-
68
- groonga_source_dir = "groonga-#{major}.#{minor}.#{micro}"
69
- Dir.chdir(groonga_source_dir) do
70
- message("configuring...")
71
- prefix = Shellwords.escape(install_dir)
72
- if xsystem("./configure CFLAGS='-g -O0' --prefix=#{prefix}")
73
- message(" done\n")
74
- else
75
- message(" failed\n")
76
- exit 1
77
- end
78
-
79
- message("building (maybe long time)...")
80
- if xsystem("make")
81
- message(" done\n")
82
- else
83
- message(" failed\n")
84
- exit 1
85
- end
86
-
87
- message("installing...")
88
- if [major, minor, micro] == [0, 1, 6]
89
- make_install_args = " MKDIR_P='mkdir -p --'"
90
- else
91
- make_install_args = ""
92
- end
93
- if xsystem("make install#{make_install_args}")
94
- message(" done\n")
95
- else
96
- message(" failed\n")
97
- exit 1
98
- end
99
- end
100
- end
101
-
102
- prepend_pkg_config_path_for_local_groonga
103
- end
104
-
105
- unless PKGConfig.have_package(package_name, major, minor, micro)
106
- unless have_local_groonga?(package_name, major, minor, micro)
107
- install_groonga_locally(major, minor, micro)
108
- PKGConfig.have_package(package_name, major, minor, micro) or exit 1
109
- end
110
- end
111
24
 
112
25
  source_ext_dir = Pathname("ext") + "groonga"
113
26
  FileUtils.mkdir_p(source_ext_dir.to_s)
data/rroonga-build.rb CHANGED
@@ -19,7 +19,7 @@ module RroongaBuild
19
19
  module RequiredGroongaVersion
20
20
  MAJOR = 1
21
21
  MINOR = 2
22
- MICRO = 0
22
+ MICRO = 2
23
23
  VERSION = [MAJOR, MINOR, MICRO]
24
24
  end
25
25
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rroonga
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 3
10
- version: 1.2.3
9
+ - 4
10
+ version: 1.2.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kouhei Sutou
@@ -19,10 +19,106 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2011-06-27 00:00:00 +09:00
23
- default_executable: grndump
24
- dependencies: []
25
-
22
+ date: 2011-06-29 00:00:00 Z
23
+ dependencies:
24
+ - !ruby/object:Gem::Dependency
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ name: pkg-config
35
+ prerelease: false
36
+ type: :runtime
37
+ requirement: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ name: test-unit
49
+ prerelease: false
50
+ type: :development
51
+ requirement: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ name: test-unit-notify
63
+ prerelease: false
64
+ type: :development
65
+ requirement: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ version_requirements: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ name: rake
77
+ prerelease: false
78
+ type: :development
79
+ requirement: *id004
80
+ - !ruby/object:Gem::Dependency
81
+ version_requirements: &id005 !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ hash: 3
87
+ segments:
88
+ - 0
89
+ version: "0"
90
+ name: rake-compiler
91
+ prerelease: false
92
+ type: :development
93
+ requirement: *id005
94
+ - !ruby/object:Gem::Dependency
95
+ version_requirements: &id006 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
104
+ name: jeweler
105
+ prerelease: false
106
+ type: :development
107
+ requirement: *id006
108
+ - !ruby/object:Gem::Dependency
109
+ version_requirements: &id007 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ name: yard
119
+ prerelease: false
120
+ type: :development
121
+ requirement: *id007
26
122
  description: |-
27
123
  rroonga is an extension library to use groonga's DB-API
28
124
  layer. rroonga provides Rubyish readable and writable API
@@ -47,6 +143,8 @@ files:
47
143
  - benchmark/select.rb
48
144
  - benchmark/write-many-small-items.rb
49
145
  - bin/grndump
146
+ - bug.rb
147
+ - crash.rb
50
148
  - example/bookmark.rb
51
149
  - example/index-html.rb
52
150
  - ext/groonga/Makefile
@@ -108,53 +206,52 @@ files:
108
206
  - rroonga-build.rb
109
207
  - README.textile
110
208
  - TODO
111
- - test/test-database.rb
112
- - test/test-array.rb
113
- - test/test-table-offset-and-limit.rb
209
+ - test/groonga-test-utils.rb
114
210
  - test/run-test.rb
115
- - test/test-schema-type.rb
116
- - test/test-remote.rb
117
- - test/test-table-cursor.rb
118
- - test/test-table-select.rb
211
+ - test/test-accessor.rb
212
+ - test/test-array.rb
213
+ - test/test-column.rb
214
+ - test/test-context-select.rb
215
+ - test/test-context.rb
216
+ - test/test-database-dumper.rb
217
+ - test/test-database.rb
119
218
  - test/test-encoding.rb
120
- - test/test-type.rb
121
- - test/test-table.rb
122
- - test/test-query.rb
123
- - test/test-table-select-weight.rb
124
- - test/test-expression-builder.rb
125
219
  - test/test-exception.rb
220
+ - test/test-expression-builder.rb
221
+ - test/test-expression.rb
222
+ - test/test-fix-size-column.rb
223
+ - test/test-gqtp.rb
224
+ - test/test-hash.rb
225
+ - test/test-index-column.rb
226
+ - test/test-index-cursor.rb
227
+ - test/test-logger.rb
228
+ - test/test-pagination.rb
229
+ - test/test-patricia-trie.rb
126
230
  - test/test-plugin.rb
127
- - test/test-schema-view.rb
128
231
  - test/test-procedure.rb
232
+ - test/test-query.rb
233
+ - test/test-record.rb
234
+ - test/test-remote.rb
235
+ - test/test-schema-create-table.rb
236
+ - test/test-schema-dumper.rb
237
+ - test/test-schema-type.rb
238
+ - test/test-schema-view.rb
239
+ - test/test-schema.rb
129
240
  - test/test-snippet.rb
130
- - test/groonga-test-utils.rb
241
+ - test/test-table-cursor.rb
242
+ - test/test-table-dumper.rb
243
+ - test/test-table-offset-and-limit.rb
244
+ - test/test-table-select-mecab.rb
245
+ - test/test-table-select-normalize.rb
246
+ - test/test-table-select-weight.rb
247
+ - test/test-table-select.rb
248
+ - test/test-table.rb
249
+ - test/test-type.rb
131
250
  - test/test-variable-size-column.rb
132
- - test/test-database-dumper.rb
133
- - test/test-pagination.rb
134
251
  - test/test-variable.rb
135
- - test/test-version.rb
136
- - test/test-table-dumper.rb
137
252
  - test/test-vector-column.rb
138
- - test/test-schema-dumper.rb
139
- - test/test-hash.rb
140
- - test/test-logger.rb
253
+ - test/test-version.rb
141
254
  - test/test-view.rb
142
- - test/test-schema.rb
143
- - test/test-accessor.rb
144
- - test/test-table-select-mecab.rb
145
- - test/test-table-select-normalize.rb
146
- - test/test-index-cursor.rb
147
- - test/test-fix-size-column.rb
148
- - test/test-schema-create-table.rb
149
- - test/test-context-select.rb
150
- - test/test-expression.rb
151
- - test/test-gqtp.rb
152
- - test/test-context.rb
153
- - test/test-record.rb
154
- - test/test-column.rb
155
- - test/test-index-column.rb
156
- - test/test-patricia-trie.rb
157
- has_rdoc: true
158
255
  homepage: http://groonga.rubyforge.org/
159
256
  licenses:
160
257
  - LGPLv2
@@ -184,54 +281,54 @@ required_rubygems_version: !ruby/object:Gem::Requirement
184
281
  requirements: []
185
282
 
186
283
  rubyforge_project: groonga
187
- rubygems_version: 1.3.7
284
+ rubygems_version: 1.7.2
188
285
  signing_key:
189
286
  specification_version: 3
190
287
  summary: Ruby bindings for groonga that provide full text search and column store features.
191
288
  test_files:
192
- - test/test-database.rb
193
- - test/test-array.rb
194
- - test/test-table-offset-and-limit.rb
289
+ - test/groonga-test-utils.rb
195
290
  - test/run-test.rb
196
- - test/test-schema-type.rb
197
- - test/test-remote.rb
198
- - test/test-table-cursor.rb
199
- - test/test-table-select.rb
291
+ - test/test-accessor.rb
292
+ - test/test-array.rb
293
+ - test/test-column.rb
294
+ - test/test-context-select.rb
295
+ - test/test-context.rb
296
+ - test/test-database-dumper.rb
297
+ - test/test-database.rb
200
298
  - test/test-encoding.rb
201
- - test/test-type.rb
202
- - test/test-table.rb
203
- - test/test-query.rb
204
- - test/test-table-select-weight.rb
205
- - test/test-expression-builder.rb
206
299
  - test/test-exception.rb
300
+ - test/test-expression-builder.rb
301
+ - test/test-expression.rb
302
+ - test/test-fix-size-column.rb
303
+ - test/test-gqtp.rb
304
+ - test/test-hash.rb
305
+ - test/test-index-column.rb
306
+ - test/test-index-cursor.rb
307
+ - test/test-logger.rb
308
+ - test/test-pagination.rb
309
+ - test/test-patricia-trie.rb
207
310
  - test/test-plugin.rb
208
- - test/test-schema-view.rb
209
311
  - test/test-procedure.rb
312
+ - test/test-query.rb
313
+ - test/test-record.rb
314
+ - test/test-remote.rb
315
+ - test/test-schema-create-table.rb
316
+ - test/test-schema-dumper.rb
317
+ - test/test-schema-type.rb
318
+ - test/test-schema-view.rb
319
+ - test/test-schema.rb
210
320
  - test/test-snippet.rb
211
- - test/groonga-test-utils.rb
321
+ - test/test-table-cursor.rb
322
+ - test/test-table-dumper.rb
323
+ - test/test-table-offset-and-limit.rb
324
+ - test/test-table-select-mecab.rb
325
+ - test/test-table-select-normalize.rb
326
+ - test/test-table-select-weight.rb
327
+ - test/test-table-select.rb
328
+ - test/test-table.rb
329
+ - test/test-type.rb
212
330
  - test/test-variable-size-column.rb
213
- - test/test-database-dumper.rb
214
- - test/test-pagination.rb
215
331
  - test/test-variable.rb
216
- - test/test-version.rb
217
- - test/test-table-dumper.rb
218
332
  - test/test-vector-column.rb
219
- - test/test-schema-dumper.rb
220
- - test/test-hash.rb
221
- - test/test-logger.rb
333
+ - test/test-version.rb
222
334
  - test/test-view.rb
223
- - test/test-schema.rb
224
- - test/test-accessor.rb
225
- - test/test-table-select-mecab.rb
226
- - test/test-table-select-normalize.rb
227
- - test/test-index-cursor.rb
228
- - test/test-fix-size-column.rb
229
- - test/test-schema-create-table.rb
230
- - test/test-context-select.rb
231
- - test/test-expression.rb
232
- - test/test-gqtp.rb
233
- - test/test-context.rb
234
- - test/test-record.rb
235
- - test/test-column.rb
236
- - test/test-index-column.rb
237
- - test/test-patricia-trie.rb