summaryrefslogtreecommitdiff
path: root/libre/ruby/libre.patch
diff options
context:
space:
mode:
Diffstat (limited to 'libre/ruby/libre.patch')
-rw-r--r--libre/ruby/libre.patch319
1 files changed, 319 insertions, 0 deletions
diff --git a/libre/ruby/libre.patch b/libre/ruby/libre.patch
new file mode 100644
index 000000000..aea91b9ad
--- /dev/null
+++ b/libre/ruby/libre.patch
@@ -0,0 +1,319 @@
+diff -Nur json-1.8.1.orig/json.gemspec json-1.8.1/json.gemspec
+--- json-1.8.1.orig/json.gemspec 2015-02-23 12:54:11.994572025 +0100
++++ json-1.8.1/json.gemspec 2015-02-23 19:37:45.962313149 +0100
+@@ -8,11 +8,10 @@
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
+ s.authors = ["Florian Frank"]
+ s.date = "2013-10-17"
+- s.description = "This is a JSON implementation as a Ruby extension in C."
++ s.description = "This is a JSON implementation in pure Ruby."
+ s.email = "flori@ping.de"
+- s.extensions = ["ext/json/ext/generator/extconf.rb", "ext/json/ext/parser/extconf.rb"]
+ s.extra_rdoc_files = ["README.rdoc"]
+- s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "COPYING-json-jruby", "GPL", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "ext/json/ext/fbuffer/fbuffer.h", "ext/json/ext/generator/depend", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/generator.h", "ext/json/ext/parser/depend", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/parser.h", "ext/json/ext/parser/parser.rl", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/generic_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_generic_object.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb", "./tests/test_json.rb", "./tests/test_json_addition.rb", "./tests/test_json_encoding.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_generate.rb", "./tests/test_json_generic_object.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_unicode.rb"]
++ s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "COPYING-json-jruby", "GPL", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/generic_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_generic_object.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb", "./tests/test_json.rb", "./tests/test_json_addition.rb", "./tests/test_json_encoding.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_generate.rb", "./tests/test_json_generic_object.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_unicode.rb"]
+ s.homepage = "http://flori.github.com/json"
+ s.licenses = ["Ruby"]
+ s.rdoc_options = ["--title", "JSON implemention for Ruby", "--main", "README.rdoc"]
+diff -Nur json-1.8.1.orig/json_pure.gemspec json-1.8.1/json_pure.gemspec
+--- json-1.8.1.orig/json_pure.gemspec 2015-02-23 12:54:11.994572025 +0100
++++ json-1.8.1/json_pure.gemspec 2015-02-23 19:35:30.316391313 +0100
+@@ -11,7 +11,7 @@
+ s.description = "This is a JSON implementation in pure Ruby."
+ s.email = "flori@ping.de"
+ s.extra_rdoc_files = ["README.rdoc"]
+- s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "COPYING-json-jruby", "GPL", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "ext/json/ext/fbuffer/fbuffer.h", "ext/json/ext/generator/depend", "ext/json/ext/generator/extconf.rb", "ext/json/ext/generator/generator.c", "ext/json/ext/generator/generator.h", "ext/json/ext/parser/depend", "ext/json/ext/parser/extconf.rb", "ext/json/ext/parser/parser.c", "ext/json/ext/parser/parser.h", "ext/json/ext/parser/parser.rl", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/generic_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_generic_object.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb", "./tests/test_json.rb", "./tests/test_json_addition.rb", "./tests/test_json_encoding.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_generate.rb", "./tests/test_json_generic_object.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_unicode.rb"]
++ s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "COPYING-json-jruby", "GPL", "Gemfile", "README-json-jruby.markdown", "README.rdoc", "Rakefile", "TODO", "VERSION", "data/example.json", "data/index.html", "data/prototype.js", "diagrams/.keep", "install.rb", "java/src/json/ext/ByteListTranscoder.java", "java/src/json/ext/Generator.java", "java/src/json/ext/GeneratorMethods.java", "java/src/json/ext/GeneratorService.java", "java/src/json/ext/GeneratorState.java", "java/src/json/ext/OptionsReader.java", "java/src/json/ext/Parser.java", "java/src/json/ext/Parser.rl", "java/src/json/ext/ParserService.java", "java/src/json/ext/RuntimeInfo.java", "java/src/json/ext/StringDecoder.java", "java/src/json/ext/StringEncoder.java", "java/src/json/ext/Utils.java", "json-java.gemspec", "json.gemspec", "json_pure.gemspec", "lib/json.rb", "lib/json/add/bigdecimal.rb", "lib/json/add/complex.rb", "lib/json/add/core.rb", "lib/json/add/date.rb", "lib/json/add/date_time.rb", "lib/json/add/exception.rb", "lib/json/add/ostruct.rb", "lib/json/add/range.rb", "lib/json/add/rational.rb", "lib/json/add/regexp.rb", "lib/json/add/struct.rb", "lib/json/add/symbol.rb", "lib/json/add/time.rb", "lib/json/common.rb", "lib/json/ext.rb", "lib/json/ext/.keep", "lib/json/generic_object.rb", "lib/json/pure.rb", "lib/json/pure/generator.rb", "lib/json/pure/parser.rb", "lib/json/version.rb", "tests/fixtures/fail1.json", "tests/fixtures/fail10.json", "tests/fixtures/fail11.json", "tests/fixtures/fail12.json", "tests/fixtures/fail13.json", "tests/fixtures/fail14.json", "tests/fixtures/fail18.json", "tests/fixtures/fail19.json", "tests/fixtures/fail2.json", "tests/fixtures/fail20.json", "tests/fixtures/fail21.json", "tests/fixtures/fail22.json", "tests/fixtures/fail23.json", "tests/fixtures/fail24.json", "tests/fixtures/fail25.json", "tests/fixtures/fail27.json", "tests/fixtures/fail28.json", "tests/fixtures/fail3.json", "tests/fixtures/fail4.json", "tests/fixtures/fail5.json", "tests/fixtures/fail6.json", "tests/fixtures/fail7.json", "tests/fixtures/fail8.json", "tests/fixtures/fail9.json", "tests/fixtures/pass1.json", "tests/fixtures/pass15.json", "tests/fixtures/pass16.json", "tests/fixtures/pass17.json", "tests/fixtures/pass2.json", "tests/fixtures/pass26.json", "tests/fixtures/pass3.json", "tests/setup_variant.rb", "tests/test_json.rb", "tests/test_json_addition.rb", "tests/test_json_encoding.rb", "tests/test_json_fixtures.rb", "tests/test_json_generate.rb", "tests/test_json_generic_object.rb", "tests/test_json_string_matching.rb", "tests/test_json_unicode.rb", "tools/fuzz.rb", "tools/server.rb", "./tests/test_json.rb", "./tests/test_json_addition.rb", "./tests/test_json_encoding.rb", "./tests/test_json_fixtures.rb", "./tests/test_json_generate.rb", "./tests/test_json_generic_object.rb", "./tests/test_json_string_matching.rb", "./tests/test_json_unicode.rb"]
+ s.homepage = "http://flori.github.com/json"
+ s.licenses = ["Ruby"]
+ s.rdoc_options = ["--title", "JSON implemention for ruby", "--main", "README.rdoc"]
+diff -Nur json-1.8.1.orig/lib/json/ext.rb json-1.8.1/lib/json/ext.rb
+--- json-1.8.1.orig/lib/json/ext.rb 2015-02-23 12:52:09.528940268 +0100
++++ json-1.8.1/lib/json/ext.rb 2015-02-23 18:42:16.798987287 +0100
+@@ -5,16 +5,18 @@
+ end
+ end
+ require 'json/common'
++require 'json/pure/parser'
++require 'json/pure/generator'
+
+ module JSON
+ # This module holds all the modules/classes that implement JSON's
+- # functionality as C extensions.
++ # functionality in pure ruby.
++ Ext = Pure
++
+ module Ext
+- require 'json/ext/parser'
+- require 'json/ext/generator'
+- $DEBUG and warn "Using Ext extension for JSON."
+- JSON.parser = Parser
+- JSON.generator = Generator
++ $DEBUG and warn "Using Pure library for JSON."
++ JSON.parser = Pure::Parser
++ JSON.generator = Pure::Generator
+ end
+
+ JSON_LOADED = true unless defined?(::JSON::JSON_LOADED)
+diff -Nur json-1.8.1.orig/lib/json.rb json-1.8.1/lib/json.rb
+--- json-1.8.1.orig/lib/json.rb 2015-02-23 12:52:09.528940268 +0100
++++ json-1.8.1/lib/json.rb 2015-02-23 18:35:44.611444858 +0100
+@@ -54,9 +54,5 @@
+ module JSON
+ require 'json/version'
+
+- begin
+- require 'json/ext'
+- rescue LoadError
+- require 'json/pure'
+- end
++ require 'json/pure'
+ end
+diff -Nur json-1.8.1.orig/Rakefile json-1.8.1/Rakefile
+--- json-1.8.1.orig/Rakefile 2015-02-23 12:52:09.522273476 +0100
++++ json-1.8.1/Rakefile 2015-02-24 13:28:31.162031258 +0100
+@@ -14,8 +14,7 @@
+ require 'rake/clean'
+ CLOBBER.include 'doc', 'Gemfile.lock'
+ CLEAN.include FileList['diagrams/*.*'], 'doc', 'coverage', 'tmp',
+- FileList["ext/**/{Makefile,mkmf.log}"], 'build', 'dist', FileList['**/*.rbc'],
+- FileList["{ext,lib}/**/*.{so,bundle,#{CONFIG['DLEXT']},o,obj,pdb,lib,manifest,exp,def,jar,class,dSYM}"],
++ FileList["lib/**/*.{bundle,pdb,lib,manifest,exp,def,jar,class,dSYM}"],
+ FileList['java/src/**/*.class']
+
+ require 'rake/testtask'
+@@ -34,15 +33,6 @@
+ PKG_VERSION = File.read('VERSION').chomp
+ PKG_FILES = FileList[`git ls-files`.split(/\n/)]
+
+-EXT_ROOT_DIR = 'ext/json/ext'
+-EXT_PARSER_DIR = "#{EXT_ROOT_DIR}/parser"
+-EXT_PARSER_DL = "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}"
+-RAGEL_PATH = "#{EXT_PARSER_DIR}/parser.rl"
+-EXT_PARSER_SRC = "#{EXT_PARSER_DIR}/parser.c"
+-EXT_GENERATOR_DIR = "#{EXT_ROOT_DIR}/generator"
+-EXT_GENERATOR_DL = "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}"
+-EXT_GENERATOR_SRC = "#{EXT_GENERATOR_DIR}/generator.c"
+-
+ JAVA_DIR = "java/src/json/ext"
+ JAVA_RAGEL_PATH = "#{JAVA_DIR}/Parser.rl"
+ JAVA_PARSER_SRC = "#{JAVA_DIR}/Parser.java"
+@@ -59,20 +49,8 @@
+ ruby 'install.rb'
+ end
+
+-task :install_ext_really do
+- sitearchdir = CONFIG["sitearchdir"]
+- cd 'ext' do
+- for file in Dir["json/ext/*.#{CONFIG['DLEXT']}"]
+- d = File.join(sitearchdir, file)
+- mkdir_p File.dirname(d)
+- install(file, d)
+- end
+- warn " *** Installed EXT ruby library."
+- end
+-end
+-
+ desc "Installing library (extension)"
+-task :install_ext => [ :compile, :install_pure, :install_ext_really ]
++task :install_ext => [ :compile, :install_pure ]
+
+ desc "Installing library (extension)"
+ task :install => :install_ext
+@@ -118,12 +96,10 @@
+ s.name = 'json'
+ s.version = PKG_VERSION
+ s.summary = PKG_TITLE
+- s.description = "This is a JSON implementation as a Ruby extension in C."
++ s.description = "This is a JSON implementation in pure Ruby."
+
+ s.files = PKG_FILES
+
+- s.extensions = FileList['ext/**/extconf.rb']
+-
+ s.require_path = 'lib'
+ s.add_development_dependency 'permutation'
+ s.add_development_dependency 'sdoc', '~>0.3.16'
+@@ -312,96 +288,21 @@
+ task :release => :build
+ else
+ desc "Compiling extension"
+- task :compile => [ EXT_PARSER_DL, EXT_GENERATOR_DL ]
+-
+- file EXT_PARSER_DL => EXT_PARSER_SRC do
+- cd EXT_PARSER_DIR do
+- ruby 'extconf.rb'
+- sh MAKE
+- end
+- cp "#{EXT_PARSER_DIR}/parser.#{CONFIG['DLEXT']}", EXT_ROOT_DIR
+- end
+-
+- file EXT_GENERATOR_DL => EXT_GENERATOR_SRC do
+- cd EXT_GENERATOR_DIR do
+- ruby 'extconf.rb'
+- sh MAKE
+- end
+- cp "#{EXT_GENERATOR_DIR}/generator.#{CONFIG['DLEXT']}", EXT_ROOT_DIR
+- end
++ task :compile
+
+ desc "Testing library (extension)"
+- task :test_ext => [ :compile, :do_test_ext ]
+-
+- UndocumentedTestTask.new do |t|
+- t.name = 'do_test_ext'
+- t.libs << 'ext' << 'lib'
+- t.test_files = FileList['tests/test_*.rb']
+- t.verbose = true
+- t.options = '-v'
+- end
++ task :test_ext => :test_pure
+
+ desc "Create RDOC documentation"
+- task :doc => [ :version, EXT_PARSER_SRC ] do
+- sh "sdoc -o doc -t '#{PKG_TITLE}' -m README.rdoc README.rdoc lib/json.rb #{FileList['lib/json/**/*.rb']} #{EXT_PARSER_SRC} #{EXT_GENERATOR_SRC}"
+- end
+-
+- desc "Generate parser with ragel"
+- task :ragel => EXT_PARSER_SRC
+-
+- desc "Delete the ragel generated C source"
+- task :ragel_clean do
+- rm_rf EXT_PARSER_SRC
++ task :doc => :version do
++ sh "sdoc -o doc -t '#{PKG_TITLE}' -m README.rdoc README.rdoc lib/json.rb #{FileList['lib/json/**/*.rb']}"
+ end
+
+ desc "Update the tags file"
+ task :tags do
+- system 'ctags', *Dir['**/*.{rb,c,h,java}']
+- end
+-
+- file EXT_PARSER_SRC => RAGEL_PATH do
+- cd EXT_PARSER_DIR do
+- if RAGEL_CODEGEN == 'ragel'
+- sh "ragel parser.rl -G2 -o parser.c"
+- else
+- sh "ragel -x parser.rl | #{RAGEL_CODEGEN} -G2"
+- end
+- src = File.read("parser.c").gsub(/[ \t]+$/, '')
+- File.open("parser.c", "w") {|f| f.print src}
+- end
+- end
+-
+- desc "Generate diagrams of ragel parser (ps)"
+- task :ragel_dot_ps do
+- root = 'diagrams'
+- specs = []
+- File.new(RAGEL_PATH).grep(/^\s*machine\s*(\S+);\s*$/) { specs << $1 }
+- for s in specs
+- if RAGEL_DOTGEN == 'ragel'
+- sh "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tps -o#{root}/#{s}.ps"
+- else
+- sh "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tps -o#{root}/#{s}.ps"
+- end
+- end
+- end
+-
+- desc "Generate diagrams of ragel parser (png)"
+- task :ragel_dot_png do
+- root = 'diagrams'
+- specs = []
+- File.new(RAGEL_PATH).grep(/^\s*machine\s*(\S+);\s*$/) { specs << $1 }
+- for s in specs
+- if RAGEL_DOTGEN == 'ragel'
+- sh "ragel #{RAGEL_PATH} -S#{s} -p -V | dot -Tpng -o#{root}/#{s}.png"
+- else
+- sh "ragel -x #{RAGEL_PATH} -S#{s} | #{RAGEL_DOTGEN} -p|dot -Tpng -o#{root}/#{s}.png"
+- end
+- end
++ system 'ctags', *Dir['**/*.{rb,java}']
+ end
+
+- desc "Generate diagrams of ragel parser"
+- task :ragel_dot => [ :ragel_dot_png, :ragel_dot_ps ]
+-
+ desc "Build all gems and archives for a new release of json and json_pure."
+ task :build => [ :clean, :gemspec, :package ]
+
+diff -Nur ruby-2.2.1.orig/common.mk ruby-2.2.1/common.mk
+--- ruby-2.2.1.orig/common.mk 2014-12-24 03:56:32.000000000 +0100
++++ ruby-2.2.1/common.mk 2015-02-25 11:22:17.000768687 +0100
+@@ -14,7 +14,7 @@
+
+ RUBYLIB = $(PATH_SEPARATOR)
+ RUBYOPT = -
+-RUN_OPTS = --disable-gems
++RUN_OPTS = --disable-gems -I$(srcdir)/../json-1.8.1/lib
+
+ SPEC_GIT_BASE = git://github.com/nurse
+ MSPEC_GIT_URL = $(SPEC_GIT_BASE)/mspec.git
+@@ -738,8 +738,6 @@
+
+ srcs-ext: $(EXT_SRCS)
+
+-srcs-extra: $(srcdir)/ext/json/parser/parser.c
+-
+ LIB_SRCS = $(srcdir)/lib/unicode_normalize/tables.rb
+
+ srcs-lib: $(LIB_SRCS)
+@@ -826,11 +824,6 @@
+ top_srcdir=../.. srcdir=. \
+ RUBY="$(BASERUBY)" PATH_SEPARATOR="$(PATH_SEPARATOR)"
+
+-$(srcdir)/ext/json/parser/parser.c: $(srcdir)/ext/json/parser/parser.rl
+- $(ECHO) generating $@
+- $(Q) $(CHDIR) $(@D) && $(exec) $(MAKE) -f prereq.mk $(MFLAGS) \
+- Q=$(Q) ECHO=$(ECHO) top_srcdir=../../.. srcdir=. VPATH=../../.. BASERUBY="$(BASERUBY)"
+-
+ $(srcdir)/ext/rbconfig/sizeof/sizes.c: $(srcdir)/ext/rbconfig/sizeof/depend \
+ $(srcdir)/tool/generic_erb.rb $(srcdir)/template/sizes.c.tmpl $(srcdir)/configure.in
+ $(ECHO) generating $@
+diff -Nur ruby-2.2.1.orig/defs/default_gems ruby-2.2.1/defs/default_gems
+--- ruby-2.2.1.orig/defs/default_gems 2014-07-15 05:43:04.000000000 +0200
++++ ruby-2.2.1/defs/default_gems 2015-02-20 11:59:51.350361114 +0100
+@@ -1,4 +1,3 @@
+ # gem base directory versioning file [executable files under bin]
+ rake lib/rake lib/rake.rb [rake]
+ rdoc lib/rdoc lib/rdoc.rb [rdoc ri]
+-json ext/json ext/json/lib/json/version.rb
+diff -Nur ruby-2.2.1.orig/ext/.document ruby-2.2.1/ext/.document
+--- ruby-2.2.1.orig/ext/.document 2014-08-02 16:55:36.000000000 +0200
++++ ruby-2.2.1/ext/.document 2015-02-20 12:01:52.622203345 +0100
+@@ -35,9 +35,6 @@
+ io/nonblock/nonblock.c
+ io/wait/lib
+ io/wait/wait.c
+-json/ext/generator/generator.c
+-json/ext/parser/parser.c
+-json/lib
+ mathn/complex/complex.c
+ mathn/rational/rational.c
+ nkf/lib
+diff -Nur ruby-2.2.1.orig/gems/bundled_gems ruby-2.2.1/gems/bundled_gems
+--- ruby-2.2.1.orig/gems/bundled_gems 2014-12-12 14:00:15.000000000 +0100
++++ ruby-2.2.1/gems/bundled_gems 2015-02-25 11:22:54.678004585 +0100
+@@ -1,3 +1,4 @@
+ power_assert 0.2.2
+ test-unit 3.0.8
+ minitest 5.4.3
++json 1.8.1
+diff -Nur ruby-2.2.1.orig/test/ruby/test_module.rb ruby-2.2.1/test/ruby/test_module.rb
+--- ruby-2.2.1.orig/test/ruby/test_module.rb 2014-11-18 02:38:50.000000000 +0100
++++ ruby-2.2.1/test/ruby/test_module.rb 2015-02-20 12:18:38.270980662 +0100
+@@ -202,7 +202,6 @@
+
+ ancestors = Object.ancestors
+ mixins = ancestors - [Object, Kernel, BasicObject]
+- mixins << JSON::Ext::Generator::GeneratorMethods::String if defined?(JSON::Ext::Generator::GeneratorMethods::String)
+ assert_equal([Object, Kernel, BasicObject], ancestors - mixins)
+ assert_equal([String, Comparable, Object, Kernel, BasicObject], String.ancestors - mixins)
+ end
+@@ -436,7 +435,6 @@
+ assert_equal([Mixin], User.included_modules)
+
+ mixins = Object.included_modules - [Kernel]
+- mixins << JSON::Ext::Generator::GeneratorMethods::String if defined?(JSON::Ext::Generator::GeneratorMethods::String)
+ assert_equal([Kernel], Object.included_modules - mixins)
+ assert_equal([Comparable, Kernel], String.included_modules - mixins)
+ end