Index: Mk/bsd.gecko.mk =================================================================== --- Mk/bsd.gecko.mk +++ Mk/bsd.gecko.mk @@ -381,7 +381,7 @@ .endif .if ${PORT_OPTIONS:MRUST} || ${MOZILLA_VER:R:R} >= 54 -BUILD_DEPENDS+= ${RUST_PORT:T}>=1.24:${RUST_PORT} +BUILD_DEPENDS+= ${RUST_PORT:T}>=1.27:${RUST_PORT} RUST_PORT?= lang/rust . if ${MOZILLA_VER:R:R} < 54 MOZ_OPTIONS+= --enable-rust Index: www/firefox/Makefile =================================================================== --- www/firefox/Makefile +++ www/firefox/Makefile @@ -2,13 +2,12 @@ # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 62.0b9 +DISTVERSION= 63.0a1.427261 PORTEPOCH= 1 CATEGORIES= www ipv6 -MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source -DISTNAME= ${PORTNAME}-${PORTVERSION:R} -DISTFILES= ${DISTNAME}${PORTVERSION:E}.source${EXTRACT_SUFX} +MASTER_SITES= https://hg.mozilla.org/mozilla-central/archive/ +DIST_SUBDIR= ${PORTNAME} +DISTNAME= 183ee39bf309cd8463d8db5b5c8eb232cd0dac53 MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla @@ -17,7 +16,7 @@ nss>=3.38:security/nss \ icu>=59.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ - harfbuzz>=1.7.6:print/harfbuzz \ + harfbuzz>=1.8.4:print/harfbuzz \ graphite2>=1.3.11:graphics/graphite2 \ png>=1.6.34:graphics/png \ libvorbis>=1.3.6,3:audio/libvorbis \ @@ -34,9 +33,10 @@ CONFLICTS_INSTALL= firefox-esr MOZ_PKGCONFIG_FILES= # empty USE_MOZILLA= -cairo -hunspell -soundtouch +WRKSRC= ${WRKDIR}/${MASTER_SITES:M*hg*:S,/archive/,,:T}-${DISTNAME} USE_GL= gl -USES= tar:xz +USES= tar:bzip2 FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png @@ -49,6 +49,8 @@ .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: + @${REINPLACE_CMD} -e '/AM_PATH_NSS/s/3\.39/3.38/' \ + ${WRKSRC}/old-configure.in @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} Index: www/firefox/distinfo =================================================================== --- www/firefox/distinfo +++ www/firefox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1531758445 -SHA256 (firefox-62.0b9.source.tar.xz) = 8d1290f31acf2502034538453ab98b2eea51a00ec71d5d59cccce01b75beee35 -SIZE (firefox-62.0b9.source.tar.xz) = 258823628 +TIMESTAMP = 1531994058 +SHA256 (firefox/183ee39bf309cd8463d8db5b5c8eb232cd0dac53.tar.bz2) = 7e5cb66723b69c1b681e04a51bc1f0f09920f51d3040f9af48b763614b7de638 +SIZE (firefox/183ee39bf309cd8463d8db5b5c8eb232cd0dac53.tar.bz2) = 320985572 Index: www/firefox/files/patch-bug1288587 =================================================================== --- www/firefox/files/patch-bug1288587 +++ www/firefox/files/patch-bug1288587 @@ -43,13 +43,13 @@ topobjdir = topobjdir[:-7] with LineIO(lambda l: log.info(l)) as out: -@@ -219,17 +226,20 @@ def virtualenv_python(env_python, build_env, mozconfig, help): +@@ -255,17 +262,20 @@ def virtualenv_python(env_python, build_env, mozconfig log.info('Creating Python environment') manager.build(python) python = normsep(manager.python_path) - if python != normsep(sys.executable): + if not normsep(sys.executable).startswith(normsep(virtualenvs_root)): log.info('Reexecuting in the virtualenv') if env_python: - del os.environ['PYTHON'] Index: www/firefox/files/patch-bug1447519 =================================================================== --- www/firefox/files/patch-bug1447519 +++ /dev/null @@ -1,22 +0,0 @@ -Enable SkiaGL by default on OpenGL compositing platforms - -diff --git modules/libpref/init/all.js modules/libpref/init/all.js -index 93e56b00a961..61a2174c3384 100644 ---- modules/libpref/init/all.js -+++ modules/libpref/init/all.js -@@ -882,15 +882,9 @@ pref("gfx.font_rendering.opentype_svg.enabled", true); - pref("gfx.canvas.azure.backends", "direct2d1.1,skia,cairo"); - pref("gfx.content.azure.backends", "direct2d1.1,skia,cairo"); - #else --#ifdef XP_MACOSX - pref("gfx.content.azure.backends", "skia"); - pref("gfx.canvas.azure.backends", "skia"); --// Accelerated cg canvas where available (10.7+) - pref("gfx.canvas.azure.accelerated", true); --#else --pref("gfx.canvas.azure.backends", "skia"); --pref("gfx.content.azure.backends", "skia"); --#endif - #endif - - pref("gfx.canvas.skiagl.dynamic-cache", true); Index: www/firefox/files/patch-bug1448770 =================================================================== --- www/firefox/files/patch-bug1448770 +++ www/firefox/files/patch-bug1448770 @@ -1,10 +1,10 @@ Disable GL_EXT_debug_marker due to crashes on x86 with Mesa drivers. -diff --git gfx/webrender/src/query.rs gfx/webrender/src/query.rs +diff --git gfx/webrender/src/device/query_gl.rs gfx/webrender/src/device/query_gl.rs index 999abc749115..68850ef025e4 100644 ---- gfx/webrender/src/query.rs -+++ gfx/webrender/src/query.rs -@@ -274,17 +274,20 @@ pub struct GpuMarker { +--- gfx/webrender/src/device/query_gl.rs ++++ gfx/webrender/src/device/query_gl.rs +@@ -278,17 +278,20 @@ pub struct GpuMarker { impl GpuMarker { fn new(gl: &Rc, message: &str) -> Self { Index: www/firefox/files/patch-bug1473732 =================================================================== --- /dev/null +++ www/firefox/files/patch-bug1473732 @@ -0,0 +1,43 @@ +Default OMTP workers to half of logical cores. + +system-info is a stub on Tier3 platforms but hyper-threading is often +enabled by default. + +diff --git gfx/layers/PaintThread.cpp gfx/layers/PaintThread.cpp +index 27026afe693d2..72bc1eba50b9e 100644 +--- gfx/layers/PaintThread.cpp ++++ gfx/layers/PaintThread.cpp +@@ -21,7 +21,7 @@ + #include "mozilla/SyncRunnable.h" + #include "nsIPropertyBag2.h" + #include "nsServiceManagerUtils.h" +-#include "nsSystemInfo.h" ++#include "prsystem.h" + + // Uncomment the following line to dispatch sync runnables when + // painting so that rasterization happens synchronously from +@@ -122,21 +122,13 @@ PaintThread::AddRef() + /* static */ int32_t + PaintThread::CalculatePaintWorkerCount() + { +- int32_t cpuCores = 1; +- nsCOMPtr systemInfo = do_GetService(NS_SYSTEMINFO_CONTRACTID); +- if (systemInfo) { +- nsresult rv = systemInfo->GetPropertyAsInt32(NS_LITERAL_STRING("cpucores"), &cpuCores); +- if (NS_FAILED(rv)) { +- cpuCores = 1; +- } +- } +- ++ int32_t logicalCores = PR_GetNumberOfProcessors(); + int32_t workerCount = gfxPrefs::LayersOMTPPaintWorkers(); + +- // If not manually specified, default to (cpuCores * 3) / 4, and clamp ++ // If not manually specified, default to logicalCores / 2, and clamp + // between 1 and 4. If a user wants more, they can manually specify it + if (workerCount < 1) { +- workerCount = std::min(std::max((cpuCores * 3) / 4, 1), 4); ++ workerCount = std::min(std::max(logicalCores / 2, 1), 4); + } + + return workerCount; Index: www/firefox/files/patch-bug1475970 =================================================================== --- /dev/null +++ www/firefox/files/patch-bug1475970 @@ -0,0 +1,59 @@ +Disable e10s on FreeBSD by default due to kernel bug + +diff --git toolkit/content/aboutSupport.js toolkit/content/aboutSupport.js +index 35a40f0344bd9..3c44097d20295 100644 +--- toolkit/content/aboutSupport.js ++++ toolkit/content/aboutSupport.js +@@ -60,11 +60,8 @@ var snapshotFormatters = { + case 6: + case 7: + case 8: +- statusText = strings.GetStringFromName("multiProcessStatus." + data.autoStartStatus); +- break; +- + case 10: +- statusText = (Services.appinfo.OS == "Darwin" ? "OS X 10.6 - 10.8" : "Windows XP"); ++ statusText = strings.GetStringFromName("multiProcessStatus." + data.autoStartStatus); + break; + } + +diff --git toolkit/locales/en-US/chrome/global/aboutSupport.properties toolkit/locales/en-US/chrome/global/aboutSupport.properties +index 96b8f9660ca8f..c04743a3e3394 100644 +--- toolkit/locales/en-US/chrome/global/aboutSupport.properties ++++ toolkit/locales/en-US/chrome/global/aboutSupport.properties +@@ -138,8 +138,8 @@ multiProcessStatus.5 = Disabled by lack of graphics hardware acceleration on Mac + multiProcessStatus.6 = Disabled by unsupported text input + multiProcessStatus.7 = Disabled by add-ons + multiProcessStatus.8 = Disabled forcibly +-# No longer in use (bug 1296353) but we might bring this back. + multiProcessStatus.9 = Disabled by graphics hardware acceleration on Windows XP ++multiProcessStatus.10 = Disabled by operating system bug + multiProcessStatus.unknown = Unknown status + + asyncPanZoom = Asynchronous Pan/Zoom +diff --git toolkit/xre/nsAppRunner.cpp toolkit/xre/nsAppRunner.cpp +index 5df9d811d3f20..2d0aa2ba804d9 100644 +--- toolkit/xre/nsAppRunner.cpp ++++ toolkit/xre/nsAppRunner.cpp +@@ -5155,7 +5155,7 @@ enum { + // kE10sDisabledForAddons = 7, removed in bug 1406212 + kE10sForceDisabled = 8, + // kE10sDisabledForXPAcceleration = 9, removed in bug 1296353 +- // kE10sDisabledForOperatingSystem = 10, removed due to xp-eol ++ kE10sDisabledForOperatingSystem = 10, + }; + + const char* kForceEnableE10sPref = "browser.tabs.remote.force-enable"; +@@ -5186,6 +5186,12 @@ BrowserTabsRemoteAutostart() + status = kE10sDisabledByUser; + } + ++#if defined(__FreeBSD__) ++ // sendmsg() packet loss gotten worse, see bug 1475970 ++ gBrowserTabsRemoteAutostart = false; ++ status = kE10sDisabledForOperatingSystem; ++#endif ++ + // Uber override pref for manual testing purposes + if (Preferences::GetBool(kForceEnableE10sPref, false)) { + gBrowserTabsRemoteAutostart = true; Index: www/firefox/files/patch-bug847568 =================================================================== --- www/firefox/files/patch-bug847568 +++ www/firefox/files/patch-bug847568 @@ -249,7 +249,7 @@ +option('--with-system-harfbuzz', + help="Use system harfbuzz (located with pkgconfig)") + -+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4', ++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.8.4', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))