Faidon has submitted this change and it was merged. Change subject: New upstream release ......................................................................
New upstream release New upstream release; drop patches drop-require-rubygems and execjs, merged upstream. Change-Id: Ib5444e216bfbc207662f0b3b79edcd6ef1321646 --- M debian/changelog D debian/patches/drop-require-rubygems D debian/patches/execjs M debian/patches/series M debian/rules 5 files changed, 11 insertions(+), 112 deletions(-) Approvals: Faidon: Verified; Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index df15331..15d6b13 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +ruby-jsduck (4.7.1-1~wmf1) precise-wikimedia; urgency=low + + * New upstream release. + - Drop patches drop-require-rubygems and execjs, merged upstream. + * Use embedded copy of ExtJS instead of libjs-extjs, as apparently this + needs a 4.x version of ExtJS that doesn't exist in Debian at all. + + -- Faidon Liambotis <[email protected]> Thu, 28 Mar 2013 05:58:46 +0200 + ruby-jsduck (4.6.2-1~wmf1) precise-wikimedia; urgency=low * Initial release. diff --git a/debian/patches/drop-require-rubygems b/debian/patches/drop-require-rubygems deleted file mode 100644 index 9726f7f..0000000 --- a/debian/patches/drop-require-rubygems +++ /dev/null @@ -1,41 +0,0 @@ -Description: remove spurious rubygems requires -Author: Faidon Liambotis <[email protected]> -Last-Update: 2013-03-18 - ---- a/lib/jsduck/doc_formatter.rb -+++ b/lib/jsduck/doc_formatter.rb -@@ -1,4 +1,3 @@ --require 'rubygems' - require 'strscan' - require 'rdiscount' - require 'jsduck/html_stack' ---- a/bin/compare -+++ b/bin/compare -@@ -4,7 +4,6 @@ - # For running when gem not installed - $:.unshift File.dirname(File.dirname(__FILE__)) + "/lib" - --require "rubygems" - require "cgi" - require "optparse" - require "jsduck/util/json" ---- a/bin/graph -+++ b/bin/graph -@@ -3,7 +3,6 @@ - # For running when gem not installed - $:.unshift File.dirname(File.dirname(__FILE__)) + "/lib" - --require "rubygems" - require "pp" - require "jsduck/json_duck" - ---- a/bin/jsduck -+++ b/bin/jsduck -@@ -17,7 +17,6 @@ - # For running when gem not installed - $:.unshift File.dirname(File.dirname(__FILE__)) + "/lib" - --require 'rubygems' - require 'jsduck/app' - require 'jsduck/options' - diff --git a/debian/patches/execjs b/debian/patches/execjs deleted file mode 100644 index 3fd658f..0000000 --- a/debian/patches/execjs +++ /dev/null @@ -1,69 +0,0 @@ -Description: replace therubyracer with ExecJS - therubyracer isn't packaged in Debian and it's non-trivial to do so. Replace - the calls with ExecJS and therefore add an abstraction layer that allows - Node.js or Spidermonkey to be used instead -- or a bunch of other native Ruby - backends including therubyracer, in case it's installed in the system. -Author: Faidon Liambotis <[email protected]> -Last-Update: 2013-03-18 - ---- a/lib/jsduck/esprima.rb -+++ b/lib/jsduck/esprima.rb -@@ -1,10 +1,12 @@ --require 'v8' -+require 'execjs' - require 'jsduck/util/json' - require 'jsduck/util/singleton' - - module JsDuck - -- # Runs Esprima.js through V8. -+ # Runs Esprima.js through execjs (this will select any available -+ # JavaScript runtime - preferably therubyracer on MRI and JScript -+ # on Windows). - # - # Initialized as singleton to avoid loading the esprima.js more - # than once - otherwise performace will severely suffer. -@@ -12,23 +14,22 @@ module JsDuck - include Util::Singleton - - def initialize -- @v8 = V8::Context.new -- esprima = File.dirname(File.expand_path(__FILE__))+"/esprima/esprima.js"; -+ esprima_path = File.dirname(File.expand_path(__FILE__))+"/esprima/esprima.js"; -+ esprima = IO.read(esprima_path) - -- # Esprima attempts to assign to window.esprima, but our v8 -- # engine has no global window variable defined. So define our -- # own and then grab esprima out from it again. -- @v8.eval("var window = {};") -- @v8.load(esprima) -- @v8.eval("var esprima = window.esprima;") -+ # Esprima attempts to assign to window.esprima, but our engine has no -+ # global window variable defined. So define our own and then grab -+ # esprima out from it again. -+ esprima = "var window = {};\n\n" + esprima + "var esprima = window.esprima;" -+ helper = "function runEsprima(js) { return JSON.stringify(esprima.parse(js, {comment: true, range: true, raw: true})); }" -+ @context = ExecJS.compile(esprima + "\n\n" + helper) - end - - # Parses JavaScript source code using Esprima.js - # - # Returns the resulting AST - def parse(input) -- @v8['js'] = input -- json = @v8.eval("JSON.stringify(esprima.parse(js, {comment: true, range: true, raw: true}))") -+ json = @context.call("runEsprima", input) - return Util::Json.parse(json, :max_nesting => false) - end - ---- a/jsduck.gemspec -+++ b/jsduck.gemspec -@@ -22,7 +22,7 @@ Gem::Specification.new do |s| - s.add_dependency 'rdiscount' - s.add_dependency 'json' - s.add_dependency 'parallel' -- s.add_dependency 'therubyracer', '>= 0.10.0', '< 0.11.0' -+ s.add_dependency 'execjs' - s.add_dependency 'dimensions' - - s.add_development_dependency 'rspec' diff --git a/debian/patches/series b/debian/patches/series index 0c930f4..146bace 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1 @@ root-usr-share -drop-require-rubygems -execjs diff --git a/debian/rules b/debian/rules index 65360d2..2af5ab8 100755 --- a/debian/rules +++ b/debian/rules @@ -12,6 +12,8 @@ # put template-min in place mkdir -p debian/ruby-jsduck/usr/share/ruby-jsduck/ cp -r template-min/ debian/ruby-jsduck/usr/share/ruby-jsduck/ + find debian/ruby-jsduck/usr/share/ruby-jsduck/ -type f \ + -print0 2>/dev/null | xargs -0r chmod 644 rm -f debian/ruby-jsduck/usr/share/ruby-jsduck/template-min/README.md .PHONY: override_dh_auto_install -- To view, visit https://gerrit.wikimedia.org/r/56362 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib5444e216bfbc207662f0b3b79edcd6ef1321646 Gerrit-PatchSet: 1 Gerrit-Project: operations/debs/ruby-jsduck Gerrit-Branch: master Gerrit-Owner: Faidon <[email protected]> Gerrit-Reviewer: Faidon <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
