guix-commits
[Top][All Lists]
Advanced

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

01/01: gnu: icecat: Add more fixes from upstream mozilla-esr52.


From: Mark H. Weaver
Subject: 01/01: gnu: icecat: Add more fixes from upstream mozilla-esr52.
Date: Tue, 26 Dec 2017 22:55:40 -0500 (EST)

mhw pushed a commit to branch master
in repository guix.

commit e8e860a5596659e0ce2ed8911dfa78663e216bf9
Author: Mark H Weaver <address@hidden>
Date:   Tue Dec 26 20:44:48 2017 -0500

    gnu: icecat: Add more fixes from upstream mozilla-esr52.
    
    * gnu/packages/gnuzilla.scm (icecat)[source]: Add selected fixes from the
    upstream mozilla-esr52 repository.
    * gnu/packages/patches/icecat-bug-1414945.patch,
    gnu/packages/patches/icecat-bug-1424373-pt2.patch: New files.
    * gnu/local.mk (dist_patch_DATA): Add them.
---
 gnu/local.mk                                      |   2 +
 gnu/packages/gnuzilla.scm                         |  30 +++-
 gnu/packages/patches/icecat-bug-1414945.patch     |  73 +++++++++
 gnu/packages/patches/icecat-bug-1424373-pt2.patch | 183 ++++++++++++++++++++++
 4 files changed, 287 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 8fa1559..586f023 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -748,6 +748,8 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/icecat-avoid-bundled-libraries.patch    \
   %D%/packages/patches/icecat-bug-1348660-pt5.patch            \
   %D%/packages/patches/icecat-bug-1415133.patch                        \
+  %D%/packages/patches/icecat-bug-1414945.patch                        \
+  %D%/packages/patches/icecat-bug-1424373-pt2.patch            \
   %D%/packages/patches/icu4c-CVE-2017-7867-CVE-2017-7868.patch \
   %D%/packages/patches/icu4c-CVE-2017-14952.patch              \
   %D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c53c316..a31e93d 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -482,7 +482,35 @@ security standards.")
         (mozilla-patch "icecat-bug-1404105.patch"        "2909ba991f31" 
"126vssj57dc800347f075wlnjzcwamnxxmgxl9w78jpb0hj9gf16")
         (search-patch  "icecat-bug-1415133.patch")
         (mozilla-patch "icecat-bug-1355576.patch"        "cf34a0574e58" 
"1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m")
-        (mozilla-patch "icecat-CVE-2017-7843.patch"      "f6216ea8b8fc" 
"0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl")))
+        (mozilla-patch "icecat-CVE-2017-7843.patch"      "f6216ea8b8fc" 
"0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl")
+        (mozilla-patch "icecat-bug-1413741.patch"        "4e00ce2897c4" 
"0k95vi31glia2i03djidkc0gkwp9qldy34fz1rxcj56a1iphbq7w")
+        (mozilla-patch "icecat-bug-1224396.patch"        "92d450811409" 
"0xsvggnr0y65nd52nkbjvpcbs5nd84pvbayk5vinbx1mnk2wh2vy")
+        (mozilla-patch "icecat-bug-1415582.patch"        "7eba7d14704a" 
"1vi17qmjzh3kji14iz370kvs4425asgp93ns2chf5ldlq5b9196g")
+        (mozilla-patch "icecat-bug-1417797.patch"        "457d023c167e" 
"11g8hg8yp20lsn52dx1ym8r4yjsnsmx0h182d6nbl6ab9wp7d1m9")
+        (mozilla-patch "icecat-bug-1410134.patch"        "5e7b16213198" 
"14c4x6c3mygf8p77n9bia5rndjpngbvik1r1ylk97k3ggy4fj6zh")
+        (mozilla-patch "icecat-bug-1419363.patch"        "0712b6cbbdc8" 
"0rllsq6ckpms7g9k6qky1gr5rz1gav4widrha6w1s9f88cbrqgk5")
+        (mozilla-patch "icecat-bug-1408276.patch"        "084c427ccf99" 
"0sjdy2iang09a9g6liavpjgry04dp6smjgj0y7lp5lfqijdr8q2d")
+        (mozilla-patch "icecat-bug-1382366.patch"        "1bfb3d8d4510" 
"0c2dcxj74ijs6qf9sqcbj8w998hblic66vy41818z7xnw46j5j1j")
+        (mozilla-patch "icecat-bug-1414425.patch"        "5623e01e63a8" 
"08dn3v96bsb61hy3wfxz43fhn1mk9vlm5ydvdjgi3wiqadvacgzs")
+        (mozilla-patch "icecat-bug-1409951.patch"        "14a389d40329" 
"0f4gbak5bd2walxrxs3myig28v9lhvplf3a1nws1a4ajx80slzq1")
+        (mozilla-patch "icecat-bug-1415441.patch"        "7339297cddb7" 
"017lbw0mn5rwzb2abfw6qrk07m3r96vwbj81cmqvdfnmprcjni5j")
+        (mozilla-patch "icecat-bug-1418922.patch"        "aa55d4cdaee5" 
"1l3qwjfx0jsbbw2dg8bsnx7k47zibamgswndq0d1bchnmary62aw")
+        (mozilla-patch "icecat-bug-1382358.patch"        "762f4e53889a" 
"0n61zrb6rz9bhhdsqs5ziwaiy81pq52c76p9qmi9hrxbn24ism1k")
+        (mozilla-patch "icecat-bug-1399520.patch"        "0152d097672f" 
"16ybg718calvciv00kil8s97lhh11hj6gx0acf73r44xfkvm8nfg")
+        (search-patch  "icecat-bug-1414945.patch")
+        (mozilla-patch "icecat-bug-1414452.patch"        "079356ed5317" 
"107c0b93g2k743wvhwz2ps3j6p09qld7d0raljijv5y5n8q4wp92")
+        (mozilla-patch "icecat-bug-1418854.patch"        "93e4994a892c" 
"00r2qxw3619529vy9d04dl9kcziqy3fv3iawgy9svzygyx1kj5wx")
+        (mozilla-patch "icecat-bug-1422389.patch"        "f8a6e1864832" 
"1wbxn0v50637yjg8b8675k01x9cyx95jpjxpyqfaa97762qkznba")
+        (mozilla-patch "icecat-bug-1415598.patch"        "0cc1c9068714" 
"1qmqpi14zs7c95k3c7396gpp6apb622k0mgv553kw4rr81nj1yac")
+        (mozilla-patch "icecat-bug-1418447.patch"        "ce6f3fb2bf58" 
"1b1msb5d5jsgrqa2hkbsrm0n54qdmx1b2bf65v44v17appa03lra")
+        (mozilla-patch "icecat-bug-1423159.patch"        "6b4d3c5d5e51" 
"074p93dhwr1ckhypkjpblnmg9hg44a9030g1glqffi9dyn3iq3k4")
+        (mozilla-patch "icecat-bug-1411745.patch"        "1a510ee578a0" 
"1imb7glh2m1zwvvpvr4k4iddms5byqzr35j7kv3y5is77aiwl4z5")
+        (mozilla-patch "icecat-bug-1411708.patch"        "34c968767eb7" 
"0l2jy201ikj3m3h66mvlsj4y0ki7cpm7x7nnfygbwnfxg42s1sip")
+        (mozilla-patch "icecat-bug-1423086.patch"        "bc166be85bb4" 
"0w1lrjzfrfflaw4l6sfi3ir81iyi9gyfck5g41dwp0jc1b59jzvg")
+        (mozilla-patch "icecat-bug-1412145.patch"        "66cfc3c4047d" 
"05j8ic4lv2d2ygr6d62rkdlfyg2rpljalwrkkhllinw2dfi3n15b")
+        (mozilla-patch "icecat-bug-1399400.patch"        "3236ffdf0ced" 
"1kvk4qyslaj1ldgs1wpxnf79zajcihzcd1zvbrg990i3hgyn3gk3")
+        (mozilla-patch "icecat-bug-1424373-pt1.patch"    "320032aaa068" 
"1ch282qibprz1q0f2imvynh4sg7gads6sf3ayhjcd62zjncpgyz7")
+        (search-patch  "icecat-bug-1424373-pt2.patch")))
       (modules '((guix build utils)))
       (snippet
        '(begin
diff --git a/gnu/packages/patches/icecat-bug-1414945.patch 
b/gnu/packages/patches/icecat-bug-1414945.patch
new file mode 100644
index 0000000..3638ace
--- /dev/null
+++ b/gnu/packages/patches/icecat-bug-1414945.patch
@@ -0,0 +1,73 @@
+Based on:
+  https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/d303b3bb88c3
+
+Adapted to apply cleanly to IceCat.
+
+# HG changeset patch
+# User Philip Chimento <address@hidden>
+# Date 1510012155 28800
+# Node ID d303b3bb88c3345d3a089901e2b6fe883d148e44
+# Parent  0152d097672f7e99504815cf7b06d9f303419fba
+Bug 1414945 - Don't use TimeDuration in static initializer. r=jandem, a=ritu
+
+On Darwin this would cause a race between two static initializers.
+
+diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp
+--- a/js/src/shell/js.cpp
++++ b/js/src/shell/js.cpp
+@@ -138,17 +138,17 @@ static const size_t gMaxStackSize = 2 * 
+ #else
+ static const size_t gMaxStackSize = 128 * sizeof(size_t) * 1024;
+ #endif
+ 
+ /*
+  * Limit the timeout to 30 minutes to prevent an overflow on platfoms
+  * that represent the time internally in microseconds using 32-bit int.
+  */
+-static const TimeDuration MAX_TIMEOUT_INTERVAL = 
TimeDuration::FromSeconds(1800.0);
++static const double MAX_TIMEOUT_SECONDS = 1800.0;
+ 
+ // SharedArrayBuffer and Atomics settings track IceCat.  Choose a custom 
setting
+ // with --shared-memory={on,off}.
+ #ifndef RELEASE_OR_BETA
+ # define SHARED_MEMORY_DEFAULT 1
+ #else
+ # define SHARED_MEMORY_DEFAULT 0
+ #endif
+@@ -3518,16 +3518,17 @@ Sleep_fn(JSContext* cx, unsigned argc, V
+         if (!ToNumber(cx, args[0], &t_secs))
+             return false;
+         if (mozilla::IsNaN(t_secs)) {
+             JS_ReportErrorASCII(cx, "sleep interval is not a number");
+             return false;
+         }
+ 
+         duration = TimeDuration::FromSeconds(Max(0.0, t_secs));
++        const TimeDuration MAX_TIMEOUT_INTERVAL = 
TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS);
+         if (duration > MAX_TIMEOUT_INTERVAL) {
+             JS_ReportErrorASCII(cx, "Excessive sleep interval");
+             return false;
+         }
+     }
+     {
+         LockGuard<Mutex> guard(sc->watchdogLock);
+         TimeStamp toWakeup = TimeStamp::Now() + duration;
+@@ -3675,16 +3676,17 @@ CancelExecution(JSContext* cx)
+ 
+ static bool
+ SetTimeoutValue(JSContext* cx, double t)
+ {
+     if (mozilla::IsNaN(t)) {
+         JS_ReportErrorASCII(cx, "timeout is not a number");
+         return false;
+     }
++    const TimeDuration MAX_TIMEOUT_INTERVAL = 
TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS);
+     if (TimeDuration::FromSeconds(t) > MAX_TIMEOUT_INTERVAL) {
+         JS_ReportErrorASCII(cx, "Excessive timeout value");
+         return false;
+     }
+     GetShellContext(cx)->timeoutInterval = t;
+     if (!ScheduleWatchdog(cx, t)) {
+         JS_ReportErrorASCII(cx, "Failed to create the watchdog");
+         return false;
+
diff --git a/gnu/packages/patches/icecat-bug-1424373-pt2.patch 
b/gnu/packages/patches/icecat-bug-1424373-pt2.patch
new file mode 100644
index 0000000..cdc7226
--- /dev/null
+++ b/gnu/packages/patches/icecat-bug-1424373-pt2.patch
@@ -0,0 +1,183 @@
+Based on:
+  https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/19ea736e7e3d
+
+Adapted to apply cleanly to IceCat.
+
+# HG changeset patch
+# User Mike Conley <address@hidden>
+# Date 1513892173 18000
+# Node ID 19ea736e7e3d20555ee6633b9d7803c1225979e1
+# Parent  320032aaa06899f5585dcd0288059e5342118714
+Bug 1424373 - Rename crash report submission pref. r=Mossop a=jcristau
+
+diff --git a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js
+--- a/browser/app/profile/icecat.js
++++ b/browser/app/profile/icecat.js
+@@ -1557,15 +1557,15 @@ pref("browser.crashReports.unsubmittedCh
+ pref("browser.crashReports.unsubmittedCheck.enabled", false);
+ #endif
+ 
+ // chancesUntilSuppress is how many times we'll show the unsubmitted
+ // crash report notification across different days and shutdown
+ // without a user choice before we suppress the notification for
+ // some number of days.
+ pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4);
+-pref("browser.crashReports.unsubmittedCheck.autoSubmit", false);
++pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
+ 
+ #ifdef NIGHTLY_BUILD
+ // Enable the (fairly costly) client/server validation on nightly only. The 
other prefs
+ // controlling validation are located in /services/sync/services-sync.js
+ pref("services.sync.validation.enabled", true);
+ #endif
+diff --git a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js 
b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
+--- a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
++++ b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js
+@@ -1,12 +1,12 @@
+ "use strict";
+ 
+ const PAGE = 
"data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page.";
+-const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit";
++const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit2";
+ 
+ const {TabStateFlusher} =
+   Cu.import("resource:///modules/sessionstore/TabStateFlusher.jsm", {});
+ 
+ // On debug builds, crashing tabs results in much thinking, which
+ // slows down the test and results in intermittent test timeouts,
+ // so we'll pump up the expected timeout for this test.
+ requestLongerTimeout(2);
+diff --git a/browser/components/preferences/in-content/advanced.xul 
b/browser/components/preferences/in-content/advanced.xul
+--- a/browser/components/preferences/in-content/advanced.xul
++++ b/browser/components/preferences/in-content/advanced.xul
+@@ -51,18 +51,18 @@
+ #ifdef MOZ_TELEMETRY_REPORTING
+   <preference id="toolkit.telemetry.enabled"
+               name="toolkit.telemetry.enabled"
+               type="bool"/>
+ #endif
+ 
+   <!-- Data Choices tab -->
+ #ifdef MOZ_CRASHREPORTER
+-  <preference id="browser.crashReports.unsubmittedCheck.autoSubmit"
+-              name="browser.crashReports.unsubmittedCheck.autoSubmit"
++  <preference id="browser.crashReports.unsubmittedCheck.autoSubmit2"
++              name="browser.crashReports.unsubmittedCheck.autoSubmit2"
+               type="bool"/>
+ #endif
+ 
+   <!-- Network tab -->
+   <preference id="browser.cache.disk.capacity"
+               name="browser.cache.disk.capacity"
+               type="int"/>
+   <preference id="browser.offline-apps.notify"
+@@ -232,17 +232,17 @@
+           </hbox>
+         </vbox>
+       </groupbox>
+ #endif
+ #ifdef MOZ_CRASHREPORTER
+       <groupbox>
+         <caption>
+           <checkbox id="automaticallySubmitCrashesBox"
+-                    
preference="browser.crashReports.unsubmittedCheck.autoSubmit"
++                    
preference="browser.crashReports.unsubmittedCheck.autoSubmit2"
+                     label="&alwaysSubmitCrashReports.label;"
+                     accesskey="&alwaysSubmitCrashReports.accesskey;"/>
+         </caption>
+         <hbox class="indent">
+           <label flex="1">&crashReporterDesc2.label;</label>
+           <spacer flex="10"/>
+           <label id="crashReporterLearnMore"
+                  class="text-link">&crashReporterLearnMore.label;</label>
+diff --git 
a/browser/components/sessionstore/test/browser_background_tab_crash.js 
b/browser/components/sessionstore/test/browser_background_tab_crash.js
+--- a/browser/components/sessionstore/test/browser_background_tab_crash.js
++++ b/browser/components/sessionstore/test/browser_background_tab_crash.js
+@@ -142,17 +142,17 @@ add_task(function* test_background_crash
+ /**
+  * Tests that if a content process crashes taking down only
+  * background tabs, and the user is configured to send backlogged
+  * crash reports automatically, that the tab crashed page is not
+  * shown.
+  */
+ add_task(function* test_background_crash_autosubmit_backlogged() {
+   yield SpecialPowers.pushPrefEnv({
+-    set: [["browser.crashReports.unsubmittedCheck.autoSubmit", true]],
++    set: [["browser.crashReports.unsubmittedCheck.autoSubmit2", true]],
+   });
+ 
+   yield setupBackgroundTabs(function*([tab1, tab2]) {
+     // Let's crash one of those background tabs now...
+     yield crashBackgroundTabs([tab1, tab2]);
+ 
+     // Selecting the first tab should restore it.
+     let tabRestored = promiseTabRestored(tab1);
+diff --git a/browser/modules/ContentCrashHandlers.jsm 
b/browser/modules/ContentCrashHandlers.jsm
+--- a/browser/modules/ContentCrashHandlers.jsm
++++ b/browser/modules/ContentCrashHandlers.jsm
+@@ -865,21 +865,21 @@ this.UnsubmittedCrashHandler = {
+     return nb.appendNotification(message, notificationID,
+                                  "chrome://browser/skin/tab-crashed.svg",
+                                  nb.PRIORITY_INFO_HIGH, buttons,
+                                  eventCallback);
+   },
+ 
+   get autoSubmit() {
+     return Services.prefs
+-                   
.getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit");
++                   
.getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2");
+   },
+ 
+   set autoSubmit(val) {
+-    
Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit",
++    
Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2",
+                                val);
+   },
+ 
+   /**
+    * Attempt to submit reports to the crash report server. Each
+    * report will have the "SubmittedFromInfobar" extra key set
+    * to true.
+    *
+diff --git a/browser/modules/test/browser_UnsubmittedCrashHandler.js 
b/browser/modules/test/browser_UnsubmittedCrashHandler.js
+--- a/browser/modules/test/browser_UnsubmittedCrashHandler.js
++++ b/browser/modules/test/browser_UnsubmittedCrashHandler.js
+@@ -344,17 +344,17 @@ add_task(function* test_can_submit_sever
+   clearPendingCrashReports();
+ });
+ 
+ /**
+  * Tests that choosing "Send Always" flips the autoSubmit pref
+  * and sends the pending crash reports.
+  */
+ add_task(function* test_can_submit_always() {
+-  let pref = "browser.crashReports.unsubmittedCheck.autoSubmit";
++  let pref = "browser.crashReports.unsubmittedCheck.autoSubmit2";
+   Assert.equal(Services.prefs.getBoolPref(pref), false,
+                "We should not be auto-submitting by default");
+ 
+   let reportIDs = yield createPendingCrashReports(1);
+   let notification =
+     yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports();
+   Assert.ok(notification, "There should be a notification");
+ 
+@@ -388,17 +388,17 @@ add_task(function* test_can_submit_alway
+ 
+ /**
+  * Tests that if the user has chosen to automatically send
+  * crash reports that no notification is displayed to the
+  * user.
+  */
+ add_task(function* test_can_auto_submit() {
+   yield SpecialPowers.pushPrefEnv({ set: [
+-    ["browser.crashReports.unsubmittedCheck.autoSubmit", true],
++    ["browser.crashReports.unsubmittedCheck.autoSubmit2", true],
+   ]});
+ 
+   let reportIDs = yield createPendingCrashReports(3);
+   let promiseReports = waitForSubmittedReports(reportIDs);
+   let notification =
+     yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports();
+   Assert.equal(notification, null, "There should be no notification");
+   info("Waiting on reports to be received.");
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]