pkgsrc-Changes archive

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

CVS commit: pkgsrc/www/firefox68



Module Name:    pkgsrc
Committed By:   nia
Date:           Mon Jun 15 10:04:04 UTC 2020

Modified Files:
        pkgsrc/www/firefox68: Makefile distinfo
        pkgsrc/www/firefox68/patches: patch-browser_app_profile_firefox.js
Added Files:
        pkgsrc/www/firefox68/patches: patch-gfx_thebes_gfxPlatform.cpp
Removed Files:
        pkgsrc/www/firefox68/patches: patch-ipc_glue_CrossProcessSemaphore.h
            patch-ipc_glue_CrossProcessSemaphore__posix.cpp

Log Message:
firefox68: Remove hack to disable multiprocess mode

This was working around the lack of pshared semaphores on older NetBSD
releases, and restrictions on which process can destroy semaphores
on newer NetBSD releases.

However, we've switched to a new NetBSD-exclusive hack in www/firefox
where we force the use of the tiled rendering mode. This copies what
Firefox does on macOS, which has similar limitations on cross-process
semaphores. The discovery of this was a joint effort between maya
and me.

This avoids several bugs:

1) Multiprocess mode being outright broken on older NetBSD releases
2) Multiprocess mode leaking semaphores and eventually hitting open
   file limits on newer NetBSD releases

Bump PKGREVISION


To generate a diff of this commit:
cvs rdiff -u -r1.24 -r1.25 pkgsrc/www/firefox68/Makefile
cvs rdiff -u -r1.16 -r1.17 pkgsrc/www/firefox68/distinfo
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/www/firefox68/patches/patch-browser_app_profile_firefox.js
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/www/firefox68/patches/patch-gfx_thebes_gfxPlatform.cpp
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/www/firefox68/patches/patch-ipc_glue_CrossProcessSemaphore.h \
    pkgsrc/www/firefox68/patches/patch-ipc_glue_CrossProcessSemaphore__posix.cpp

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/firefox68/Makefile
diff -u pkgsrc/www/firefox68/Makefile:1.24 pkgsrc/www/firefox68/Makefile:1.25
--- pkgsrc/www/firefox68/Makefile:1.24  Sun Jun 14 20:19:43 2020
+++ pkgsrc/www/firefox68/Makefile       Mon Jun 15 10:04:03 2020
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.24 2020/06/14 20:19:43 nia Exp $
+# $NetBSD: Makefile,v 1.25 2020/06/15 10:04:03 nia Exp $
 
 FIREFOX_VER=           ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
 MOZ_BRANCH=            68.9
@@ -6,6 +6,7 @@ MOZ_BRANCH_MINOR=       .0esr
 
 DISTNAME=      firefox-${FIREFOX_VER}.source
 PKGNAME=       ${DISTNAME:S/.source//:S/b/beta/:S/esr//:S/firefox-/firefox68-/}
+PKGREVISION=   1
 CATEGORIES=    www
 MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
 EXTRACT_SUFX=  .tar.xz

Index: pkgsrc/www/firefox68/distinfo
diff -u pkgsrc/www/firefox68/distinfo:1.16 pkgsrc/www/firefox68/distinfo:1.17
--- pkgsrc/www/firefox68/distinfo:1.16  Wed Jun  3 13:00:24 2020
+++ pkgsrc/www/firefox68/distinfo       Mon Jun 15 10:04:03 2020
@@ -1,11 +1,11 @@
-$NetBSD: distinfo,v 1.16 2020/06/03 13:00:24 nia Exp $
+$NetBSD: distinfo,v 1.17 2020/06/15 10:04:03 nia Exp $
 
 SHA1 (firefox-68.9.0esr.source.tar.xz) = ee6406ec1280afc24d4a90c392ff09ff5060686e
 RMD160 (firefox-68.9.0esr.source.tar.xz) = 6bb287d394768b137d46f4abac9111ba662b9942
 SHA512 (firefox-68.9.0esr.source.tar.xz) = 98431800d80f7c680aef9eede29df8217810912a319a7f7f8c2e637c43ecd4f4e29223a417afb2a6315e825f979453ff6e6b5a575649aba5cc63ce5956375bb8
 Size (firefox-68.9.0esr.source.tar.xz) = 317469120 bytes
 SHA1 (patch-aa) = 9f7200c411cd2217a80ec10a276c8877bc6b845c
-SHA1 (patch-browser_app_profile_firefox.js) = 076cc2892547bac07fe907533f4e821f13f5738e
+SHA1 (patch-browser_app_profile_firefox.js) = cf93582b68b8d4e72c3c25682ab9138e185418c8
 SHA1 (patch-build_moz.configure_rust.configure) = b57a9b1451dc426d75774f73d7c05fc98fe6e317
 SHA1 (patch-config_gcc-stl-wrapper.template.h) = 11b45e0c7a9399c5b74b170648280a388dd67d89
 SHA1 (patch-dom_base_nsAttrName.h) = ac7ba441a3b27df2855cf2673eea36b1cb44ad49
@@ -14,12 +14,11 @@ SHA1 (patch-gfx_angle_checkout_src_commo
 SHA1 (patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h) = 2f73c76c48852613e0c55c1680fcc2a9eb3cf4ef
 SHA1 (patch-gfx_gl_GLContextProviderGLX.cpp) = 2c909a10a341e600392417240ad0c556f495d6ba
 SHA1 (patch-gfx_skia_skia_src_core_SkCpu.cpp) = 36218819254f3681b9c717d652ea78c9f20d49ad
+SHA1 (patch-gfx_thebes_gfxPlatform.cpp) = e4a25e4a96055b1c42ec018b02d1828257a571de
 SHA1 (patch-ipc_chromium_src_base_lock__impl__posix.cc) = d84d9b4d416e049423120dcbf9199644ce1c93ab
 SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 4a6606da590cfb8d855bde58b9c6f90e98d0870c
 SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 35d20981d33ccdb1d8ffb8039e48798777f11658
 SHA1 (patch-ipc_chromium_src_chrome_common_ipc__channel__posix.cc) = d634805bf3b02475081cb2f263e91e3f4c481a29
-SHA1 (patch-ipc_glue_CrossProcessSemaphore.h) = 25e24743060acf10c776c6b3b3660f52a2e9fbe8
-SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = f8d155ee66008b7cc4052b6a889327543b89e0bb
 SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 260c29bacd8bf265951b7a412f850bf2b292c836
 SHA1 (patch-js_src_threading_posix_Thread.cpp) = 47e612a676e614fd6dd43b8a3140218a3fbdc7fa
 SHA1 (patch-js_src_util_NativeStack.cpp) = 2c6f844d38343f40ebbc8fd665279256e4ae6d35

Index: pkgsrc/www/firefox68/patches/patch-browser_app_profile_firefox.js
diff -u pkgsrc/www/firefox68/patches/patch-browser_app_profile_firefox.js:1.1 pkgsrc/www/firefox68/patches/patch-browser_app_profile_firefox.js:1.2
--- pkgsrc/www/firefox68/patches/patch-browser_app_profile_firefox.js:1.1       Sat Sep 21 07:31:44 2019
+++ pkgsrc/www/firefox68/patches/patch-browser_app_profile_firefox.js   Mon Jun 15 10:04:04 2020
@@ -1,8 +1,8 @@
-$NetBSD: patch-browser_app_profile_firefox.js,v 1.1 2019/09/21 07:31:44 ryoon Exp $
+$NetBSD: patch-browser_app_profile_firefox.js,v 1.2 2020/06/15 10:04:04 nia Exp $
 
---- browser/app/profile/firefox.js.orig        2019-07-06 01:48:29.000000000 +0000
+--- browser/app/profile/firefox.js.orig        2020-05-28 00:01:33.000000000 +0000
 +++ browser/app/profile/firefox.js
-@@ -1865,6 +1865,15 @@ pref("prio.publicKeyB", "26E6674E65425B8
+@@ -1862,6 +1862,12 @@ pref("prio.publicKeyB", "26E6674E65425B8
  pref("toolkit.coverage.enabled", false);
  pref("toolkit.coverage.endpoint.base", "https://coverage.mozilla.org";);
  
@@ -12,9 +12,6 @@ $NetBSD: patch-browser_app_profile_firef
 +// Enable system addons, for example langpacks from www/firefox-l10n
 +pref("extensions.autoDisableScopes", 11);
 +
-+// Disable multiprocess window support. Workaround for PR 53273.
-+pref("browser.tabs.remote.autostart", false);
-+
  // Discovery prefs
  pref("browser.discovery.enabled", true);
  pref("browser.discovery.containers.enabled", true);

Added files:

Index: pkgsrc/www/firefox68/patches/patch-gfx_thebes_gfxPlatform.cpp
diff -u /dev/null pkgsrc/www/firefox68/patches/patch-gfx_thebes_gfxPlatform.cpp:1.1
--- /dev/null   Mon Jun 15 10:04:04 2020
+++ pkgsrc/www/firefox68/patches/patch-gfx_thebes_gfxPlatform.cpp       Mon Jun 15 10:04:04 2020
@@ -0,0 +1,28 @@
+$NetBSD: patch-gfx_thebes_gfxPlatform.cpp,v 1.1 2020/06/15 10:04:04 nia Exp $
+
+Don't rely on CrossProcessSemaphore on NetBSD. It has some implementation
+issues that cause issues (kern/55386, not available on NetBSD<9)
+
+This idea is borrowed from macOS which has the same limitation.
+
+--- gfx/thebes/gfxPlatform.cpp.orig    2020-05-28 00:01:45.000000000 +0000
++++ gfx/thebes/gfxPlatform.cpp
+@@ -2991,6 +2991,10 @@ bool gfxPlatform::UsesOffMainThreadCompo
+ }
+ 
+ bool gfxPlatform::UsesTiling() const {
++#ifdef __NetBSD__
++  // Avoid relying on CrossProcessSemaphore
++  return true;
++#else
+   bool usesSkia = GetDefaultContentBackend() == BackendType::SKIA;
+ 
+   // We can't just test whether the PaintThread is initialized here because
+@@ -3002,6 +3006,7 @@ bool gfxPlatform::UsesTiling() const {
+ 
+   return gfxPrefs::LayersTilesEnabled() ||
+          (gfxPrefs::LayersTilesEnabledIfSkiaPOMTP() && usesSkia && usesPOMTP);
++#endif
+ }
+ 
+ bool gfxPlatform::ContentUsesTiling() const {



Home | Main Index | Thread Index | Old Index