pkgsrc-Changes archive

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

CVS commit: pkgsrc/www/firefox



Module Name:    pkgsrc
Committed By:   maya
Date:           Sun Jun 14 18:42:19 UTC 2020

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

Log Message:
firefox: different way of avoiding pshared semaphores for NetBSD

NetBSD has slightly (NetBSD>=9.x) or very (NetBSD<8) broken pshared
semaphores. Fortunately, so does macOS, so there's an easy way to avoid
reaching the code relying on it which works better.

Do so for NetBSD unconditionally, and enable multiprocess unconditionally.
Avoids PR kern/55386 for NetBSD>9.0
Avoids corrupt output on major websites, webGL bugs, etc. for NetBSD<=9.0


To generate a diff of this commit:
cvs rdiff -u -r1.430 -r1.431 pkgsrc/www/firefox/Makefile
cvs rdiff -u -r1.397 -r1.398 pkgsrc/www/firefox/distinfo
cvs rdiff -u -r0 -r1.7 \
    pkgsrc/www/firefox/patches/patch-gfx_thebes_gfxPlatform.cpp
cvs rdiff -u -r1.4 -r0 \
    pkgsrc/www/firefox/patches/patch-ipc_glue_CrossProcessSemaphore.h
cvs rdiff -u -r1.7 -r0 \
    pkgsrc/www/firefox/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/firefox/Makefile
diff -u pkgsrc/www/firefox/Makefile:1.430 pkgsrc/www/firefox/Makefile:1.431
--- pkgsrc/www/firefox/Makefile:1.430   Fri Jun  5 03:38:56 2020
+++ pkgsrc/www/firefox/Makefile Sun Jun 14 18:42:19 2020
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.430 2020/06/05 03:38:56 ryoon Exp $
+# $NetBSD: Makefile,v 1.431 2020/06/14 18:42:19 maya Exp $
 
 FIREFOX_VER=           ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
 MOZ_BRANCH=            77.0
 MOZ_BRANCH_MINOR=      .1
+PKGREVISION=           1
 
 DISTNAME=      firefox-${FIREFOX_VER}.source
 PKGNAME=       ${DISTNAME:S/.source//:S/b/beta/:S/esr//}
@@ -99,16 +100,6 @@ pre-configure:
        cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars
        # Do not fetch Rust Cargo file via network during build
 
-.if !empty(MACHINE_PLATFORM:MNetBSD-8.*-*) || !empty(MACHINE_PLATFORM:MNetBSD-9.0*)
-.PHONY: disable-multiprocess
-disable-multiprocess:
-       ${STEP_MSG} "Broken process-shared mutexes, disabling multiprocess windows..."
-       cd ${WRKSRC} && ${ECHO} 'pref("browser.tabs.remote.autostart", false);' >> browser/app/profile/firefox.js
-       cd ${WRKSRC} && ${ECHO} 'pref("webgl.disabled", true);' >> browser/app/profile/firefox.js
-
-post-configure: disable-multiprocess
-.endif
-
 post-build:
        ${SED} -e 's|@MOZILLA@|${MOZILLA}|g'                            \
          -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g'                       \

Index: pkgsrc/www/firefox/distinfo
diff -u pkgsrc/www/firefox/distinfo:1.397 pkgsrc/www/firefox/distinfo:1.398
--- pkgsrc/www/firefox/distinfo:1.397   Fri Jun  5 03:38:56 2020
+++ pkgsrc/www/firefox/distinfo Sun Jun 14 18:42:19 2020
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.397 2020/06/05 03:38:56 ryoon Exp $
+$NetBSD: distinfo,v 1.398 2020/06/14 18:42:19 maya Exp $
 
 SHA1 (firefox-77.0.1.source.tar.xz) = 86735b221c17964f5e6a756a973b6d0696fbf1c5
 RMD160 (firefox-77.0.1.source.tar.xz) = 59ef718e1bf9eef0a6b90c60ec20bbe4c7402ffe
@@ -16,11 +16,10 @@ SHA1 (patch-gfx_angle_checkout_src_commo
 SHA1 (patch-gfx_angle_checkout_src_compiler_translator_InfoSink.h) = 2f73c76c48852613e0c55c1680fcc2a9eb3cf4ef
 SHA1 (patch-gfx_cairo_cairo_src_cairo-type1-subset.c) = 89a9d934ef76706c552c0b81e6cbc0f45b1ffd2c
 SHA1 (patch-gfx_skia_skia_src_core_SkCpu.cpp) = 36218819254f3681b9c717d652ea78c9f20d49ad
+SHA1 (patch-gfx_thebes_gfxPlatform.cpp) = f6f8996f0818a1b890698c7cc5054d49cb1e8924
 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_glue_CrossProcessSemaphore.h) = 102e8a164584c6d73a5ca2bd4ad1050586082410
-SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = 9635992da0fbae262a02a0eafce7e2445c44c22b
 SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 260c29bacd8bf265951b7a412f850bf2b292c836
 SHA1 (patch-js_src_jsfriendapi.h) = 6bbb895b882ee24929f011751c42732215e153a2
 SHA1 (patch-js_src_util_NativeStack.cpp) = a0a16d8d8d78d3cc3f4d2a508586f1a7821f7dba

Added files:

Index: pkgsrc/www/firefox/patches/patch-gfx_thebes_gfxPlatform.cpp
diff -u /dev/null pkgsrc/www/firefox/patches/patch-gfx_thebes_gfxPlatform.cpp:1.7
--- /dev/null   Sun Jun 14 18:42:19 2020
+++ pkgsrc/www/firefox/patches/patch-gfx_thebes_gfxPlatform.cpp Sun Jun 14 18:42:19 2020
@@ -0,0 +1,28 @@
+$NetBSD: patch-gfx_thebes_gfxPlatform.cpp,v 1.7 2020/06/14 18:42:19 maya 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-06-03 01:04:50.000000000 +0000
++++ gfx/thebes/gfxPlatform.cpp
+@@ -2922,6 +2922,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
+@@ -2934,6 +2938,7 @@ bool gfxPlatform::UsesTiling() const {
+   return StaticPrefs::layers_enable_tiles_AtStartup() ||
+          (StaticPrefs::layers_enable_tiles_if_skia_pomtp_AtStartup() &&
+           usesSkia && usesPOMTP);
++#endif
+ }
+ 
+ bool gfxPlatform::ContentUsesTiling() const {



Home | Main Index | Thread Index | Old Index