Package: src:ruby-json
Version: 2.0.1+dfsg-3
Severity: normal
Tags: patch

Hi,

I noticed ruby-json Java extension was not being built from this
package.

So, since I need that to get JRuby unit tests passing and it should be
useful for real-world users, I added that missing component to this
package.

If there are no objections to my approach (please see the debdiff
below), I was planning to merge this and do an upload to experimental
very soon.

This builds OK in sbuild and I'm using it locally to build and test
recent JRuby releases.

I'm also attaching the build log if anyone is curious about this.


diff -Nru ruby-json-2.0.1+dfsg/debian/changelog 
ruby-json-2.0.1+dfsg/debian/changelog
--- ruby-json-2.0.1+dfsg/debian/changelog       2016-12-05 23:33:24.000000000 
+0000
+++ ruby-json-2.0.1+dfsg/debian/changelog       2017-03-13 18:31:15.000000000 
+0000
@@ -1,3 +1,10 @@
+ruby-json (2.0.1+dfsg-4) experimental; urgency=medium
+
+  * Team upload.
+  * Build java extension and add new binary package jruby-json for it.
+
+ -- Miguel Landaeta <nomad...@debian.org>  Mon, 13 Mar 2017 18:31:15 +0000
+
 ruby-json (2.0.1+dfsg-3) unstable; urgency=medium
 
   * Add Conflicts: ruby-json-pure (Closes: #847141)
diff -Nru ruby-json-2.0.1+dfsg/debian/control 
ruby-json-2.0.1+dfsg/debian/control
--- ruby-json-2.0.1+dfsg/debian/control 2016-12-05 23:33:24.000000000 +0000
+++ ruby-json-2.0.1+dfsg/debian/control 2017-03-13 11:54:41.000000000 +0000
@@ -6,7 +6,11 @@
            Antonio Terceiro <terce...@softwarelivre.org>,
            Cédric Boutillier <bou...@debian.org>
 Build-Depends: debhelper (>= 9~),
+               default-jdk,
                gem2deb,
+               git,
+               jruby,
+               locales-all,
                ruby-test-unit
 Standards-Version: 3.9.8
 Vcs-Git: https://anonscm.debian.org/git/pkg-ruby-extras/ruby-json.git
@@ -26,3 +30,19 @@
  Ruby, allowing the developer to easily convert data between Ruby and JSON. You
  can think of it as a low fat alternative to XML, if you want to store data to
  disk or transmit it over a network rather than use a verbose markup language.
+
+Package: jruby-json
+Architecture: all
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Enhances: jruby
+Description: JSON library for Ruby - java extension
+ This library implements the JSON (JavaScript Object Notation) specification in
+ Ruby, allowing the developer to easily convert data between Ruby and JSON. You
+ can think of it as a low fat alternative to XML, if you want to store data to
+ disk or transmit it over a network rather than use a verbose markup language.
+ .
+ This package contains an implementation of JSON Ruby specification written in
+ Java and is suitable for use with JRuby interpreter since provides a better
+ performance than the "pure" JSON gem written in Ruby and available in 
ruby-json
+ package.
diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.docs 
ruby-json-2.0.1+dfsg/debian/jruby-json.docs
--- ruby-json-2.0.1+dfsg/debian/jruby-json.docs 1970-01-01 00:00:00.000000000 
+0000
+++ ruby-json-2.0.1+dfsg/debian/jruby-json.docs 2017-03-13 12:11:36.000000000 
+0000
@@ -0,0 +1,2 @@
+README-json-jruby.md
+README.md
diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.examples 
ruby-json-2.0.1+dfsg/debian/jruby-json.examples
--- ruby-json-2.0.1+dfsg/debian/jruby-json.examples     1970-01-01 
00:00:00.000000000 +0000
+++ ruby-json-2.0.1+dfsg/debian/jruby-json.examples     2017-03-13 
12:12:42.000000000 +0000
@@ -0,0 +1 @@
+tools/*
diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.install 
ruby-json-2.0.1+dfsg/debian/jruby-json.install
--- ruby-json-2.0.1+dfsg/debian/jruby-json.install      1970-01-01 
00:00:00.000000000 +0000
+++ ruby-json-2.0.1+dfsg/debian/jruby-json.install      2017-03-12 
23:24:37.000000000 +0000
@@ -0,0 +1 @@
+lib/json  usr/share/jruby/lib/ruby/stdlib
diff -Nru 
ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch 
ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch
--- 
ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch  
    2016-12-05 23:33:24.000000000 +0000
+++ 
ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch  
    2017-03-13 12:21:51.000000000 +0000
@@ -4,56 +4,10 @@
 
 This is required so that autopkgtest finds the correct gemspec.
 ---
- json-java.gemspec | 38 --------------------------------------
  json_pure.gemspec | 37 -------------------------------------
- 2 files changed, 75 deletions(-)
- delete mode 100644 json-java.gemspec
+ 1 files changed, 37 deletions(-)
  delete mode 100644 json_pure.gemspec
 
-diff --git a/json-java.gemspec b/json-java.gemspec
-deleted file mode 100644
-index 1524b1f..0000000
---- a/json-java.gemspec
-+++ /dev/null
-@@ -1,38 +0,0 @@
--#!/usr/bin/env jruby
--require "rubygems"
--
--spec = Gem::Specification.new do |s|
--  s.name = "json"
--  s.version = File.read("VERSION").chomp
--  s.summary = "JSON implementation for JRuby"
--  s.description = "A JSON implementation as a JRuby extension."
--  s.author = "Daniel Luz"
--  s.email = "dev+r...@mernen.com"
--  s.homepage = "http://json-jruby.rubyforge.org/";
--  s.platform = 'java'
--  s.rubyforge_project = "json-jruby"
--  s.licenses = ["Ruby"]
--
--  s.files = Dir["{docs,lib,tests}/**/*"]
--
--  if s.respond_to? :specification_version then
--    s.specification_version = 4
--
--    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
--      s.add_development_dependency(%q<rake>, [">= 0"])
--      s.add_development_dependency(%q<test-unit>, ["~> 2.0"])
--    else
--      s.add_dependency(%q<rake>, [">= 0"])
--      s.add_dependency(%q<test-unit>, ["~> 2.0"])
--    end
--  else
--    s.add_dependency(%q<rake>, [">= 0"])
--    s.add_dependency(%q<test-unit>, ["~> 2.0"])
--  end
--end
--
--if $0 == __FILE__
--  Gem::Builder.new(spec).build
--else
--  spec
--end
 diff --git a/json_pure.gemspec b/json_pure.gemspec
 deleted file mode 100644
 index bf7dc79..0000000
diff -Nru 
ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch
 
ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch
--- 
ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch
       1970-01-01 00:00:00.000000000 +0000
+++ 
ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch
       2017-03-13 12:18:06.000000000 +0000
@@ -0,0 +1,13 @@
+Description: Disable rubygems usage for dependencies management
+Author: Miguel Landaeta <nomad...@debian.org>
+Forwarded: no
+Last-Update: 2017-03-12
+
+--- ruby-json-2.0.1+dfsg.orig/tests/test_helper.rb
++++ ruby-json-2.0.1+dfsg/tests/test_helper.rb
+@@ -1,4 +1,4 @@
+-gem 'json', File.read('VERSION').chomp
++# gem 'json', File.read('VERSION').chomp
+ 
+ case ENV['JSON']
+ when 'pure'
diff -Nru ruby-json-2.0.1+dfsg/debian/patches/series 
ruby-json-2.0.1+dfsg/debian/patches/series
--- ruby-json-2.0.1+dfsg/debian/patches/series  2016-12-05 23:33:24.000000000 
+0000
+++ ruby-json-2.0.1+dfsg/debian/patches/series  2017-03-13 11:05:59.000000000 
+0000
@@ -1,3 +1,4 @@
 02-fix-fuzz.rb-shebang.patch
 04-fix-tests-path.patch
 0003-Remove-additional-gemspec-files.patch
+0005-Disable-rubygems-usage-in-tests-helper.patch
diff -Nru ruby-json-2.0.1+dfsg/debian/ruby-tests.rb 
ruby-json-2.0.1+dfsg/debian/ruby-tests.rb
--- ruby-json-2.0.1+dfsg/debian/ruby-tests.rb   2016-12-05 23:33:24.000000000 
+0000
+++ ruby-json-2.0.1+dfsg/debian/ruby-tests.rb   2017-03-12 23:23:21.000000000 
+0000
@@ -7,3 +7,6 @@
 ENV['json'] = 'ext'
 puts "Ext version of the tests"
 system("#{ENV['RUBY_TEST_BIN']} #{inc} tests/*_test.rb") or raise
+ENV['JSON'] = 'ext'
+puts "Java ext version of the tests"
+system("jruby -S rake test_ext") or raise
diff -Nru ruby-json-2.0.1+dfsg/debian/rules ruby-json-2.0.1+dfsg/debian/rules
--- ruby-json-2.0.1+dfsg/debian/rules   2016-12-05 23:33:24.000000000 +0000
+++ ruby-json-2.0.1+dfsg/debian/rules   2017-03-13 12:06:58.000000000 +0000
@@ -2,6 +2,21 @@
 
 export DH_RUBY_GEMSPEC=json.gemspec
 export GEM2DEB_TEST_RUNNER = --check-dependencies
+export JAVA_HOME = /usr/lib/jvm/default-java
+export LC_ALL = en_US.UTF-8
 
 %:
        dh $@ --buildsystem=ruby --with ruby
+
+override_dh_auto_build:
+       jruby -S rake build
+
+override_dh_install:
+       dh_install
+       find ./debian/ruby-json/ -type f -name '*.jar' -delete
+       find ./debian/jruby-json/ -type f -name '.keep' -size 0 -delete
+
+override_dh_auto_clean:
+       dh_auto_clean
+       jruby -S rake clean
+       -rm -r ./pkg/


Cheers,
Miguel.


-- System Information:
Debian Release: 8.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.0.0-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=UTF-8 (charmap=UTF-8) (ignored: LC_ALL set 
to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-- 
Miguel Landaeta, nomadium at debian.org
secure email with PGP 0x6E608B637D8967E9 available at http://miguel.cc/key.
"Faith means not wanting to know what is true." -- Nietzsche
diff -Nru ruby-json-2.0.1+dfsg/debian/changelog 
ruby-json-2.0.1+dfsg/debian/changelog
--- ruby-json-2.0.1+dfsg/debian/changelog       2016-12-05 23:33:24.000000000 
+0000
+++ ruby-json-2.0.1+dfsg/debian/changelog       2017-03-13 18:31:15.000000000 
+0000
@@ -1,3 +1,10 @@
+ruby-json (2.0.1+dfsg-4) experimental; urgency=medium
+
+  * Team upload.
+  * Build java extension and add new binary package jruby-json for it.
+
+ -- Miguel Landaeta <nomad...@debian.org>  Mon, 13 Mar 2017 18:31:15 +0000
+
 ruby-json (2.0.1+dfsg-3) unstable; urgency=medium
 
   * Add Conflicts: ruby-json-pure (Closes: #847141)
diff -Nru ruby-json-2.0.1+dfsg/debian/control 
ruby-json-2.0.1+dfsg/debian/control
--- ruby-json-2.0.1+dfsg/debian/control 2016-12-05 23:33:24.000000000 +0000
+++ ruby-json-2.0.1+dfsg/debian/control 2017-03-13 11:54:41.000000000 +0000
@@ -6,7 +6,11 @@
            Antonio Terceiro <terce...@softwarelivre.org>,
            Cédric Boutillier <bou...@debian.org>
 Build-Depends: debhelper (>= 9~),
+               default-jdk,
                gem2deb,
+               git,
+               jruby,
+               locales-all,
                ruby-test-unit
 Standards-Version: 3.9.8
 Vcs-Git: https://anonscm.debian.org/git/pkg-ruby-extras/ruby-json.git
@@ -26,3 +30,19 @@
  Ruby, allowing the developer to easily convert data between Ruby and JSON. You
  can think of it as a low fat alternative to XML, if you want to store data to
  disk or transmit it over a network rather than use a verbose markup language.
+
+Package: jruby-json
+Architecture: all
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Enhances: jruby
+Description: JSON library for Ruby - java extension
+ This library implements the JSON (JavaScript Object Notation) specification in
+ Ruby, allowing the developer to easily convert data between Ruby and JSON. You
+ can think of it as a low fat alternative to XML, if you want to store data to
+ disk or transmit it over a network rather than use a verbose markup language.
+ .
+ This package contains an implementation of JSON Ruby specification written in
+ Java and is suitable for use with JRuby interpreter since provides a better
+ performance than the "pure" JSON gem written in Ruby and available in 
ruby-json
+ package.
diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.docs 
ruby-json-2.0.1+dfsg/debian/jruby-json.docs
--- ruby-json-2.0.1+dfsg/debian/jruby-json.docs 1970-01-01 00:00:00.000000000 
+0000
+++ ruby-json-2.0.1+dfsg/debian/jruby-json.docs 2017-03-13 12:11:36.000000000 
+0000
@@ -0,0 +1,2 @@
+README-json-jruby.md
+README.md
diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.examples 
ruby-json-2.0.1+dfsg/debian/jruby-json.examples
--- ruby-json-2.0.1+dfsg/debian/jruby-json.examples     1970-01-01 
00:00:00.000000000 +0000
+++ ruby-json-2.0.1+dfsg/debian/jruby-json.examples     2017-03-13 
12:12:42.000000000 +0000
@@ -0,0 +1 @@
+tools/*
diff -Nru ruby-json-2.0.1+dfsg/debian/jruby-json.install 
ruby-json-2.0.1+dfsg/debian/jruby-json.install
--- ruby-json-2.0.1+dfsg/debian/jruby-json.install      1970-01-01 
00:00:00.000000000 +0000
+++ ruby-json-2.0.1+dfsg/debian/jruby-json.install      2017-03-12 
23:24:37.000000000 +0000
@@ -0,0 +1 @@
+lib/json  usr/share/jruby/lib/ruby/stdlib
diff -Nru 
ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch 
ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch
--- 
ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch  
    2016-12-05 23:33:24.000000000 +0000
+++ 
ruby-json-2.0.1+dfsg/debian/patches/0003-Remove-additional-gemspec-files.patch  
    2017-03-13 12:21:51.000000000 +0000
@@ -4,56 +4,10 @@
 
 This is required so that autopkgtest finds the correct gemspec.
 ---
- json-java.gemspec | 38 --------------------------------------
  json_pure.gemspec | 37 -------------------------------------
- 2 files changed, 75 deletions(-)
- delete mode 100644 json-java.gemspec
+ 1 files changed, 37 deletions(-)
  delete mode 100644 json_pure.gemspec
 
-diff --git a/json-java.gemspec b/json-java.gemspec
-deleted file mode 100644
-index 1524b1f..0000000
---- a/json-java.gemspec
-+++ /dev/null
-@@ -1,38 +0,0 @@
--#!/usr/bin/env jruby
--require "rubygems"
--
--spec = Gem::Specification.new do |s|
--  s.name = "json"
--  s.version = File.read("VERSION").chomp
--  s.summary = "JSON implementation for JRuby"
--  s.description = "A JSON implementation as a JRuby extension."
--  s.author = "Daniel Luz"
--  s.email = "dev+r...@mernen.com"
--  s.homepage = "http://json-jruby.rubyforge.org/";
--  s.platform = 'java'
--  s.rubyforge_project = "json-jruby"
--  s.licenses = ["Ruby"]
--
--  s.files = Dir["{docs,lib,tests}/**/*"]
--
--  if s.respond_to? :specification_version then
--    s.specification_version = 4
--
--    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
--      s.add_development_dependency(%q<rake>, [">= 0"])
--      s.add_development_dependency(%q<test-unit>, ["~> 2.0"])
--    else
--      s.add_dependency(%q<rake>, [">= 0"])
--      s.add_dependency(%q<test-unit>, ["~> 2.0"])
--    end
--  else
--    s.add_dependency(%q<rake>, [">= 0"])
--    s.add_dependency(%q<test-unit>, ["~> 2.0"])
--  end
--end
--
--if $0 == __FILE__
--  Gem::Builder.new(spec).build
--else
--  spec
--end
 diff --git a/json_pure.gemspec b/json_pure.gemspec
 deleted file mode 100644
 index bf7dc79..0000000
diff -Nru 
ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch
 
ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch
--- 
ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch
       1970-01-01 00:00:00.000000000 +0000
+++ 
ruby-json-2.0.1+dfsg/debian/patches/0005-Disable-rubygems-usage-in-tests-helper.patch
       2017-03-13 12:18:06.000000000 +0000
@@ -0,0 +1,13 @@
+Description: Disable rubygems usage for dependencies management
+Author: Miguel Landaeta <nomad...@debian.org>
+Forwarded: no
+Last-Update: 2017-03-12
+
+--- ruby-json-2.0.1+dfsg.orig/tests/test_helper.rb
++++ ruby-json-2.0.1+dfsg/tests/test_helper.rb
+@@ -1,4 +1,4 @@
+-gem 'json', File.read('VERSION').chomp
++# gem 'json', File.read('VERSION').chomp
+ 
+ case ENV['JSON']
+ when 'pure'
diff -Nru ruby-json-2.0.1+dfsg/debian/patches/series 
ruby-json-2.0.1+dfsg/debian/patches/series
--- ruby-json-2.0.1+dfsg/debian/patches/series  2016-12-05 23:33:24.000000000 
+0000
+++ ruby-json-2.0.1+dfsg/debian/patches/series  2017-03-13 11:05:59.000000000 
+0000
@@ -1,3 +1,4 @@
 02-fix-fuzz.rb-shebang.patch
 04-fix-tests-path.patch
 0003-Remove-additional-gemspec-files.patch
+0005-Disable-rubygems-usage-in-tests-helper.patch
diff -Nru ruby-json-2.0.1+dfsg/debian/ruby-tests.rb 
ruby-json-2.0.1+dfsg/debian/ruby-tests.rb
--- ruby-json-2.0.1+dfsg/debian/ruby-tests.rb   2016-12-05 23:33:24.000000000 
+0000
+++ ruby-json-2.0.1+dfsg/debian/ruby-tests.rb   2017-03-12 23:23:21.000000000 
+0000
@@ -7,3 +7,6 @@
 ENV['json'] = 'ext'
 puts "Ext version of the tests"
 system("#{ENV['RUBY_TEST_BIN']} #{inc} tests/*_test.rb") or raise
+ENV['JSON'] = 'ext'
+puts "Java ext version of the tests"
+system("jruby -S rake test_ext") or raise
diff -Nru ruby-json-2.0.1+dfsg/debian/rules ruby-json-2.0.1+dfsg/debian/rules
--- ruby-json-2.0.1+dfsg/debian/rules   2016-12-05 23:33:24.000000000 +0000
+++ ruby-json-2.0.1+dfsg/debian/rules   2017-03-13 12:06:58.000000000 +0000
@@ -2,6 +2,21 @@
 
 export DH_RUBY_GEMSPEC=json.gemspec
 export GEM2DEB_TEST_RUNNER = --check-dependencies
+export JAVA_HOME = /usr/lib/jvm/default-java
+export LC_ALL = en_US.UTF-8
 
 %:
        dh $@ --buildsystem=ruby --with ruby
+
+override_dh_auto_build:
+       jruby -S rake build
+
+override_dh_install:
+       dh_install
+       find ./debian/ruby-json/ -type f -name '*.jar' -delete
+       find ./debian/jruby-json/ -type f -name '.keep' -size 0 -delete
+
+override_dh_auto_clean:
+       dh_auto_clean
+       jruby -S rake clean
+       -rm -r ./pkg/

Attachment: ruby-json_2.0.1+dfsg-4_amd64.build.gz
Description: application/gzip

Attachment: signature.asc
Description: Digital signature

Reply via email to