[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: