Index: Mk/bsd.gecko.mk =================================================================== --- Mk/bsd.gecko.mk +++ Mk/bsd.gecko.mk @@ -379,7 +379,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.0b15 +DISTVERSION= 63.0a1.430428 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= ec96693b39bedee0114f444d3ce37ab0d98d6b06 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.5: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 = 1533599244 -SHA256 (firefox-62.0b15.source.tar.xz) = 6ed8b015673c22b421869d893e14da57afd9274f2ddc6dbe30d1fcb91ce86c5d -SIZE (firefox-62.0b15.source.tar.xz) = 258197772 +TIMESTAMP = 1533722088 +SHA256 (firefox/ec96693b39bedee0114f444d3ce37ab0d98d6b06.tar.bz2) = dfec565ff73513ab999c5c6aaa67ffd325a5d9e30759534514445dfd712148a2 +SIZE (firefox/ec96693b39bedee0114f444d3ce37ab0d98d6b06.tar.bz2) = 326647788 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-bug1448770 =================================================================== --- www/firefox/files/patch-bug1448770 +++ /dev/null @@ -1,27 +0,0 @@ -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 -index 999abc749115..68850ef025e4 100644 ---- gfx/webrender/src/query.rs -+++ gfx/webrender/src/query.rs -@@ -274,17 +274,20 @@ pub struct GpuMarker { - - impl GpuMarker { - fn new(gl: &Rc, message: &str) -> Self { -+#[cfg(not(target_arch = "x86"))] - gl.push_group_marker_ext(message); - GpuMarker { gl: Rc::clone(gl) } - } - - fn fire(gl: &Rc, message: &str) { -+#[cfg(not(target_arch = "x86"))] - gl.insert_event_marker_ext(message); - } - } - - impl Drop for GpuMarker { - fn drop(&mut self) { -+#[cfg(not(target_arch = "x86"))] - self.gl.pop_group_marker_ext(); - } - } Index: www/firefox/files/patch-bug1473732 =================================================================== --- /dev/null +++ www/firefox/files/patch-bug1473732 @@ -0,0 +1,39 @@ +Base default number of OMTP workers on the number of logical CPU cores. + +system-info is a stub on Tier3 platforms while physical vs. logical +difference only matters for hyper-threading. As hyper-threading +is usually available on CPUs with more than 2 physical cores this +change has no impact there as the default is clamped to [1, 4]. +However, on Intel i3-* CPUs with 2 physical and 4 logical cores this +bumps the default from 1 to 3. + +diff --git gfx/layers/PaintThread.cpp gfx/layers/PaintThread.cpp +index ef268f47651b6..f8929d11ae156 100644 +--- gfx/layers/PaintThread.cpp ++++ gfx/layers/PaintThread.cpp +@@ -22,7 +22,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 +@@ -156,15 +156,7 @@ 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 cpuCores = PR_GetNumberOfProcessors(); + int32_t workerCount = gfxPrefs::LayersOMTPPaintWorkers(); + + // If not manually specified, default to (cpuCores * 3) / 4, and clamp Index: www/firefox/files/patch-bug847568 =================================================================== --- www/firefox/files/patch-bug847568 +++ www/firefox/files/patch-bug847568 @@ -4,8 +4,8 @@ index 7620b4d00623..09d3db5ca8c0 100644 --- config/system-headers.mozbuild +++ config/system-headers.mozbuild -@@ -1312,6 +1312,19 @@ if not CONFIG['MOZ_TREE_PIXMAN']: - 'pixman.h', +@@ -1300,6 +1300,19 @@ if CONFIG['MOZ_ENABLE_CONTENTMANAGER']: + 'SelectSingleContentItemPage.h', ] +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: @@ -28,7 +28,7 @@ index 8e19020315ae..2fcdbb6f7b42 100644 --- dom/base/moz.build +++ dom/base/moz.build -@@ -470,6 +470,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: +@@ -495,6 +495,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: if CONFIG['MOZ_X11']: CXXFLAGS += CONFIG['TK_CFLAGS'] @@ -72,10 +72,10 @@ index 22c76a7df020..a01490bd49ee 100644 --- gfx/harfbuzz/README-mozilla +++ gfx/harfbuzz/README-mozilla -@@ -19,3 +19,8 @@ the mozilla tree. +@@ -15,3 +15,8 @@ from within the gfx/harfbuzz directory. If the collection of source files changes, manual updates to moz.build may be - needed, as we don't use the upstream makefiles. + needed as we don't use the upstream makefiles. + +The in-tree copy may be omitted during build by --with-system-harfbuzz. +Make sure to keep pkg-config version check within toolkit/moz.configure in sync @@ -111,7 +111,7 @@ index e06ae3457a47..93faa61594a3 100755 --- gfx/skia/generate_mozbuild.py +++ gfx/skia/generate_mozbuild.py -@@ -135,6 +135,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: +@@ -148,6 +148,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): '-Wno-unused-private-field', ] @@ -125,7 +125,7 @@ index 2118677ca3a8..e4978b413784 100644 --- gfx/skia/moz.build +++ gfx/skia/moz.build -@@ -780,6 +780,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: +@@ -822,6 +822,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): '-Wno-unused-private-field', ] @@ -139,7 +139,7 @@ index 56f1b9fe3f4b..0ac1100b0df3 100644 --- gfx/thebes/moz.build +++ gfx/thebes/moz.build -@@ -267,7 +267,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): +@@ -288,7 +288,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] @@ -170,7 +170,7 @@ index 79c26e3e7001..c4d93bc5f7dc 100644 --- netwerk/dns/moz.build +++ netwerk/dns/moz.build -@@ -73,3 +73,6 @@ USE_LIBS += ['icu'] +@@ -76,3 +76,6 @@ USE_LIBS += ['icu'] if CONFIG['CC_TYPE'] in ('clang', 'gcc'): CXXFLAGS += ['-Wno-error=shadow'] @@ -181,7 +181,7 @@ index 95a58b634593..b614eef85c89 100644 --- old-configure.in +++ old-configure.in -@@ -4333,6 +4333,27 @@ dnl ======================================================== +@@ -3951,6 +3951,27 @@ dnl ======================================================== AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR) @@ -213,7 +213,7 @@ index 24f940e1ed7e..079a575adec3 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -238,6 +238,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: +@@ -223,6 +223,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: if CONFIG['MOZ_SYSTEM_PNG']: OS_LIBS += CONFIG['MOZ_PNG_LIBS'] @@ -230,7 +230,7 @@ index 9297e4d6f501..d8e273887e4b 100644 --- toolkit/moz.configure +++ toolkit/moz.configure -@@ -1065,6 +1065,26 @@ add_old_configure_assignment('FT2_LIBS', +@@ -883,6 +883,26 @@ add_old_configure_assignment('FT2_LIBS', add_old_configure_assignment('FT2_CFLAGS', ft2_info.cflags) @@ -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.5', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))