Bug#744825: wheezy-pu: conkeror with support for more recent xulrunner ESR
Package: release.debian.org
Severity: normal
Tags: wheezy
User: release.debian.org@packages.debian.org
Usertags: pu
Control: block 736364 by -1
Control: tag 736364 + pending
Hi,
for the upcoming stable update I'd like to upload the following conkeror
package to address the planned removal of xulrunner-10.0 from
stable.
Please tell me if it's ok to upload 1.0~~pre+git120527-1+deb7u1 to
stable-proposed-updates as shown below.
→ debdiff conkeror_1.0~~pre+git120527-1.dsc conkeror_1.0~~pre+git120527-1+deb7u1.dsc
diff -Nru conkeror-1.0~~pre+git120527/debian/changelog conkeror-1.0~~pre+git120527/debian/changelog
--- conkeror-1.0~~pre+git120527/debian/changelog 2012-05-27 17:07:33.000000000 +0200
+++ conkeror-1.0~~pre+git120527/debian/changelog 2014-04-15 02:33:14.000000000 +0200
@@ -1,3 +1,16 @@
+conkeror (1.0~~pre+git120527-1+deb7u1) stable-proposed-updates; urgency=low
+
+ * Add support for current Xulrunner ESR releases (Closes: #736364)
+ * Cherry-pick the following upstream commits:
+ + 2c36b5072: scroll-top-left: fix for XR >= 23 (Closes: #726245)
+ + 38b6279c2: completions_tree_view.getCellProperties: fix for XR >= 22
+ + bbd010b5a: favicon.js: use setAndFetchFaviconForPage for XR >= 18
+ + 9bb360e64: favicon_set: fix for XR 18
+ + 3fa86d908: modifiers.s: Meta vs Super key (regression after XR 12)
+ * Update Vcs-Git to sport proper branch for stable updates
+
+ -- Axel Beckert <abe@debian.org> Tue, 15 Apr 2014 01:48:08 +0200
+
conkeror (1.0~~pre+git120527-1) unstable; urgency=low
* New upstream snapshot
diff -Nru conkeror-1.0~~pre+git120527/debian/conkeror.bin conkeror-1.0~~pre+git120527/debian/conkeror.bin
--- conkeror-1.0~~pre+git120527/debian/conkeror.bin 2012-05-23 18:29:54.000000000 +0200
+++ conkeror-1.0~~pre+git120527/debian/conkeror.bin 2014-04-15 02:20:01.000000000 +0200
@@ -4,7 +4,7 @@
# Find an appropriate xulrunner binary
XULRUNNER=''
-for version in `LC_ALL=C seq 5.0 13.0 | tac` 2.0 1.9.2 1.9.1; do
+for version in 24.0 17.0 `LC_ALL=C seq 5.0 13.0 | tac` 2.0 1.9.2 1.9.1; do
XRTMP=`which xulrunner-$version`
if [ -n "$XRTMP" -a -x "$XRTMP" ]; then
XULRUNNER=$XRTMP
diff -Nru conkeror-1.0~~pre+git120527/debian/control conkeror-1.0~~pre+git120527/debian/control
--- conkeror-1.0~~pre+git120527/debian/control 2012-05-27 16:59:53.000000000 +0200
+++ conkeror-1.0~~pre+git120527/debian/control 2014-04-15 02:31:42.000000000 +0200
@@ -6,11 +6,13 @@
Standards-Version: 3.9.3
Homepage: http://conkeror.org/
Vcs-Browser: http://repo.or.cz/w/conkeror.git
-Vcs-Git: git://repo.or.cz/conkeror.git
+Vcs-Git: git://repo.or.cz/conkeror.git -b debian-wheezy
Package: conkeror
Architecture: all
Depends: ${misc:Depends},
+ xulrunner-24.0 |
+ xulrunner-17.0 |
xulrunner-10.0 |
xulrunner-13.0 |
xulrunner-12.0 |
diff -Nru conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-2c36b5072.patch conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-2c36b5072.patch
--- conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-2c36b5072.patch 1970-01-01 01:00:00.000000000 +0100
+++ conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-2c36b5072.patch 2014-04-15 02:23:13.000000000 +0200
@@ -0,0 +1,25 @@
+commit 2c36b5072cdcfeb1effe308a83b9121f9a5bed08
+Author: John Foerch <jjfoerch@earthlink.net>
+Date: Thu Oct 17 09:12:40 2013 -0400
+
+ scroll-top-left: fix for xulrunner >= 23
+
+ resolves issue450 (see http://bugs.conkeror.org/issue450 for details).
+
+diff --git a/modules/commands.js b/modules/commands.js
+index dd13267..2123365 100644
+--- a/modules/commands.js
++++ b/modules/commands.js
+@@ -52,8 +52,10 @@ interactive("scroll-end-of-line",
+
+ interactive("scroll-top-left",
+ "Scroll the current frame all the way to the top left",
+- function (I) { I.buffer.do_command("cmd_scrollTop");
+- scroll_horiz_complete(I.buffer, -1); });
++ function (I) {
++ scroll_horiz_complete(I.buffer, -1);
++ I.buffer.do_command("cmd_scrollTop");
++ });
+
+
+ function delete_window (window) {
diff -Nru conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-38b6279c2.patch conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-38b6279c2.patch
--- conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-38b6279c2.patch 1970-01-01 01:00:00.000000000 +0100
+++ conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-38b6279c2.patch 2014-04-15 02:23:13.000000000 +0200
@@ -0,0 +1,35 @@
+commit 38b6279c2053854c2e8f24e70facb5328d9f170c
+Author: John Foerch <jjfoerch@earthlink.net>
+Date: Thu Nov 7 23:29:47 2013 -0500
+
+ completions_tree_view.getCellProperties: fix for XULRunner >= 22
+
+ Conkeror would issue errors like the following to the terminal when
+ running on XULRunner 22 or later:
+
+ Console error: [JavaScript Error: "TypeError: props is undefined"
+ {file: "chrome://conkeror/content/minibuffer-read.js" line: 69}]
+ Category: chrome javascript
+
+ The behavior of getCellProperties was changed in XULRunner 22, so this
+ patch is an update for that change.
+
+diff --git a/modules/minibuffer-read.js b/modules/minibuffer-read.js
+index be35ed3..000bbed 100644
+--- a/modules/minibuffer-read.js
++++ b/modules/minibuffer-read.js
+@@ -68,9 +68,12 @@ completions_tree_view.prototype = {
+ getRowProperties: function (row, props) {},
+ getCellProperties: function (row, col, props) {
+ if (col.index == 0)
+- props.AppendElement(atom_service.getAtom("completion-string"));
++ var a = atom_service.getAtom("completion-string");
+ else
+- props.AppendElement(atom_service.getAtom("completion-description"));
++ a = atom_service.getAtom("completion-description");
++ if (props)
++ props.AppendElement(a);
++ return a;
+ },
+ getColumnProperties: function (colid, col, props) {}
+ };
diff -Nru conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-3fa86d908.patch conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-3fa86d908.patch
--- conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-3fa86d908.patch 1970-01-01 01:00:00.000000000 +0100
+++ conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-3fa86d908.patch 2014-04-15 02:23:13.000000000 +0200
@@ -0,0 +1,106 @@
+commit 3fa86d908d5604a80f6ffb8beacb23a316b3de58
+Author: John Foerch <jjfoerch@earthlink.net>
+Date: Thu Feb 14 22:14:10 2013 +0700
+
+ modifiers.s: support for Super key / Windows-logo key
+
+ In XULRunner 12 and earlier, Windows-logo key was recognized as the
+ metaKey modifier. In 13 and 14, it was not recognized at all. XULRunner
+ 15 introduced the DOM3 method event.getModifierState, which brought back
+ support for the Windows-logo key, aka Super key, as the "OS key". With
+ this patch, Conkeror maps that to the "s" modifier.
+
+ This patch is based on work by Nguyễn Tuấn Anh.
+
+ See also:
+ https://developer.mozilla.org/en-US/docs/DOM/KeyboardEvent#getModifierState()
+
+ Resolves issue443 <http://bugs.conkeror.org/issue443>
+
+diff --git a/modules/input.js b/modules/input.js
+index 6adbec1..3b1cdbb 100644
+--- a/modules/input.js
++++ b/modules/input.js
+@@ -41,6 +41,7 @@ function event_clone (event) {
+ this.metaKey = event.metaKey;
+ this.altKey = event.altKey;
+ this.shiftKey = event.shiftKey;
++ this.superKey = modifiers.s.in_event_p(event);
+ this.sticky_modifiers = event.sticky_modifiers;
+ }
+
+diff --git a/modules/keymap.js b/modules/keymap.js
+index ee02f22..d7f1d4c 100644
+--- a/modules/keymap.js
++++ b/modules/keymap.js
+@@ -40,6 +40,13 @@ var modifiers = {
+ function (event) { event.ctrlKey = true; }),
+ M: new modifier(function (event) { return event.metaKey; },
+ function (event) { event.metaKey = true; }),
++ s: new modifier(function (event) {
++ if (event.superKey)
++ return true;
++ return ("getModifierState" in event &&
++ event.getModifierState("OS"));
++ },
++ function (event) { event.superKey = true; }),
+ S: new modifier(function (event) {
+ if (event.shiftKey) {
+ var name;
+@@ -53,7 +60,7 @@ var modifiers = {
+ },
+ function (event) { event.shiftKey = true; })
+ };
+-var modifier_order = ['C', 'M', 'S'];
++var modifier_order = ['C', 'M', 's', 'S'];
+
+ // check the platform and guess whether we should treat Alt as Meta
+ if (get_os() == 'Darwin') {
+@@ -117,7 +124,8 @@ function unformat_key_combo (combo) {
+ altKey: false,
+ ctrlKey: false,
+ metaKey: false,
+- shiftKey: false
++ shiftKey: false,
++ superKey: false
+ };
+ var M;
+ var i = 0;
+@@ -200,6 +208,7 @@ define_key_match_predicate('match_any_unmodified_character', 'any unmodified cha
+ && !modifiers.A.in_event_p(event)
+ && !event.metaKey
+ && !event.ctrlKey
++ && !modifiers.s.in_event_p(event)
+ && !event.sticky_modifiers;
+ } catch (e) { return false; }
+ });
+@@ -210,7 +219,8 @@ define_key_match_predicate('match_checkbox_keys', 'checkbox keys',
+ && !event.shiftKey
+ && !event.metaKey
+ && !event.altKey
+- && !event.ctrlKey;
++ && !event.ctrlKey
++ && !modifiers.s.in_event_p(event);
+ //XXX: keycode fallthroughs don't support sticky modifiers
+ });
+
+@@ -220,7 +230,8 @@ define_key_match_predicate('match_text_keys', 'text editing keys',
+ || event.keyCode == 13 || event.keyCode > 31)
+ && !event.ctrlKey
+ && !event.metaKey
+- && !modifiers.A.in_event_p(event);
++ && !modifiers.A.in_event_p(event)
++ && !modifiers.s.in_event_p(event);
+ //XXX: keycode fallthroughs don't support sticky modifiers
+ });
+
+@@ -234,7 +245,8 @@ define_key_match_predicate('match_not_escape_key', 'any key but escape',
+ // whether the "M" modifier was pressed,
+ // which is not necessarily the same as
+ // event.metaKey.
+- event.ctrlKey;
++ event.ctrlKey ||
++ modifiers.s.in_event_p(event);
+ });
+
+
diff -Nru conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-9bb360e64.patch conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-9bb360e64.patch
--- conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-9bb360e64.patch 1970-01-01 01:00:00.000000000 +0100
+++ conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-9bb360e64.patch 2014-04-15 02:25:24.000000000 +0200
@@ -0,0 +1,85 @@
+commit 9bb360e6454ce4fd70daba0cd49d017f32276f0a
+Author: John Foerch <jjfoerch@earthlink.net>
+Date: Tue Dec 4 19:59:11 2012 -0500
+
+ favicon_set: fix for xulrunner 18
+
+ The call form of favicon_service.setAndLoadFaviconForPage changed in
+ xulrunner 18.
+
+ get_mozilla_version, version_compare: new utils
+
+Index: conkeror-wheezy/modules/env.js
+===================================================================
+--- conkeror-wheezy.orig/modules/env.js 2014-04-15 02:25:15.415561032 +0200
++++ conkeror-wheezy/modules/env.js 2014-04-15 02:25:20.203649913 +0200
+@@ -23,6 +23,17 @@
+
+
+ /**
++ * get_xulrunner_version returns the version string of the running
++ * platform.
++ */
++function get_mozilla_version () {
++ return Cc['@mozilla.org/xre/app-info;1']
++ .getService(Ci.nsIXULAppInfo)
++ .platformVersion;
++}
++
++
++/**
+ * getenv returns the value of a named environment variable or null if
+ * the environment variable does not exist.
+ */
+Index: conkeror-wheezy/modules/favicon.js
+===================================================================
+--- conkeror-wheezy.orig/modules/favicon.js 2014-04-15 02:25:15.415561032 +0200
++++ conkeror-wheezy/modules/favicon.js 2014-04-15 02:25:20.203649913 +0200
+@@ -17,10 +17,23 @@
+ "is considered for use as a favicon.");
+
+
+-function favicon_set (buffer, icon_url) {
+- favicon_service.setAndLoadFaviconForPage(buffer.current_uri,
+- icon_url, false);
+- buffer.icon = icon_url.spec;
++let (favicon_set_internal) {
++ if (version_compare(get_mozilla_version(), "18.0") >= 0) {
++ favicon_set_internal = function (buffer, icon_url) {
++ favicon_service.setAndLoadFaviconForPage(
++ buffer.current_uri, icon_url, false,
++ favicon_service.FAVICON_LOAD_NON_PRIVATE);
++ };
++ } else {
++ favicon_set_internal = function (buffer, icon_url) {
++ favicon_service.setAndLoadFaviconForPage(
++ buffer.current_uri, icon_url, false);
++ };
++ }
++ function favicon_set (buffer, icon_url) {
++ favicon_set_internal(buffer, icon_url);
++ buffer.icon = icon_url.spec;
++ }
+ }
+
+
+Index: conkeror-wheezy/modules/string.js
+===================================================================
+--- conkeror-wheezy.orig/modules/string.js 2014-04-15 02:25:15.415561032 +0200
++++ conkeror-wheezy/modules/string.js 2014-04-15 02:25:20.203649913 +0200
+@@ -174,4 +174,15 @@
+ }
+
+
++/**
++ * version_compare: compare two version strings with nsIVersionComparator.
++ * If a == b, returns 0; if a < b, returns <0; if a > b, returns >0.
++ */
++function version_compare (a, b) {
++ var vc = Cc["@mozilla.org/xpcom/version-comparator;1"]
++ .getService(Ci.nsIVersionComparator);
++ return vc.compare(a, b);
++}
++
++
+ provide("string");
diff -Nru conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-bbd010b5a.patch conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-bbd010b5a.patch
--- conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-bbd010b5a.patch 1970-01-01 01:00:00.000000000 +0100
+++ conkeror-1.0~~pre+git120527/debian/patches/cherry-pick-for-stable-bbd010b5a.patch 2014-04-15 02:23:13.000000000 +0200
@@ -0,0 +1,25 @@
+commit bbd010b5a3c31725c33823979c67ddfbdaa9d3db
+Author: Scott Jaderholm <jaderholm@gmail.com>
+Date: Thu Mar 14 19:03:49 2013 -0700
+
+ favicon.js: use setAndFetchFaviconForPage for xulrunner 18 and above
+
+ nsIFaviconService::setAndLoadFaviconForPage was marked deprecated in
+ favor of mozIAsyncFavicons::setAndFetchFaviconForPage in xulrunner 21.
+ Since we already have a branch for xulrunner 18+ when the privacy
+ argument was added, and since favicon_service implements
+ mozIAsyncFavicons at least as far back as 18, I'm reusing that branch.
+
+diff --git a/modules/favicon.js b/modules/favicon.js
+index abbe60b..ea606b2 100644
+--- a/modules/favicon.js
++++ b/modules/favicon.js
+@@ -20,7 +20,7 @@ define_variable("favicon_image_max_size", 1024,
+ let (favicon_set_internal) {
+ if (version_compare(get_mozilla_version(), "18.0") >= 0) {
+ favicon_set_internal = function (buffer, icon_url) {
+- favicon_service.setAndLoadFaviconForPage(
++ favicon_service.setAndFetchFaviconForPage(
+ buffer.current_uri, icon_url, false,
+ favicon_service.FAVICON_LOAD_NON_PRIVATE);
+ };
diff -Nru conkeror-1.0~~pre+git120527/debian/patches/series conkeror-1.0~~pre+git120527/debian/patches/series
--- conkeror-1.0~~pre+git120527/debian/patches/series 2012-05-19 01:17:01.000000000 +0200
+++ conkeror-1.0~~pre+git120527/debian/patches/series 2014-04-15 02:23:51.000000000 +0200
@@ -1,2 +1,7 @@
sensible-editor-xdg-open.diff
deb-webjumps.diff
+cherry-pick-for-stable-3fa86d908.patch
+cherry-pick-for-stable-9bb360e64.patch
+cherry-pick-for-stable-bbd010b5a.patch
+cherry-pick-for-stable-38b6279c2.patch
+cherry-pick-for-stable-2c36b5072.patch
Reply to: