AN <a...@neu.net> writes: > URL: > https://trillian.chruetertee.ch/svn/freebsd-gecko/trunk/www/firefox-nightly > Relative URL: ^/trunk/www/firefox-nightly [...] > Last Changed Date: 2015-06-23 12:55:13 -0400 (Tue, 23 Jun 2015)
I no longer dogfood gecko@ ports but some bits can be salvaged e.g., diff --git Mk/bsd.gecko.mk Mk/bsd.gecko.mk index 21cecb4761f9..ee872f156ff9 100644 --- Mk/bsd.gecko.mk +++ Mk/bsd.gecko.mk @@ -328,12 +328,14 @@ MOZ_OPTIONS+= --enable-gconf MOZ_OPTIONS+= --disable-gconf .endif -.if ${PORT_OPTIONS:MGNOMEUI} +.if ${MOZILLA_VER:R:R} < 55 +. if ${PORT_OPTIONS:MGNOMEUI} BUILD_DEPENDS+= ${libgnomeui_DETECT}:${libgnomeui_LIB_DEPENDS:C/.*://} USE_GNOME+= libgnomeui:build MOZ_OPTIONS+= --enable-gnomeui -.else +. else MOZ_OPTIONS+= --disable-gnomeui +. endif .endif .if ${PORT_OPTIONS:MLIBPROXY} @@ -389,14 +391,20 @@ post-patch-SNDIO-on: .endif .if ${PORT_OPTIONS:MRUST} -BUILD_DEPENDS+= rustc:${RUST_PORT} +BUILD_DEPENDS+= rust>=1.15.1:${RUST_PORT} . if ${MOZILLA_VER:R:R} >= 51 -BUILD_DEPENDS+= cargo:devel/cargo +BUILD_DEPENDS+= cargo>=0.16.0:devel/cargo . endif RUST_PORT?= lang/rust MOZ_OPTIONS+= --enable-rust +# XXX Build Servo for testing via about:config +# layout.css.servo.enabled + gfx.webrender.enabled +BUILD_DEPENDS+= llvm-config39:devel/llvm39 # bindgen crashes with llvm40 +MOZ_EXPORT+= LLVM_CONFIG="${LOCALBASE}/bin/llvm-config39" +MOZ_OPTIONS+= --enable-stylo --enable-webrender=build .else MOZ_OPTIONS+= --disable-rust +MOZ_OPTIONS+= --disable-stylo --disable-webrender # XXX .endif .if ${PORT_OPTIONS:MDEBUG} diff --git www/firefox/Makefile www/firefox/Makefile index 596737fa65f9..e8e01c4c16af 100644 --- www/firefox/Makefile +++ www/firefox/Makefile @@ -2,26 +2,25 @@ # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 53.0 -DISTVERSIONSUFFIX=.source -PORTREVISION= 2 +DISTVERSION= 55.0a1.r354069 PORTEPOCH= 1 CATEGORIES= www ipv6 -MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build6/source +MASTER_SITES= https://hg.mozilla.org/mozilla-central/archive/ +DISTNAME= 5e3dc7e1288a +DIST_SUBDIR= ${MOZILLA} MAINTAINER= ge...@freebsd.org COMMENT= Web browser based on the browser portion of Mozilla -BUILD_DEPENDS= nspr>=4.13.1:devel/nspr \ - nss>=3.29.5:security/nss \ - libevent>=2.0.21_2:devel/libevent \ - harfbuzz>=1.4.1:print/harfbuzz \ - graphite2>=1.3.8:graphics/graphite2 \ +BUILD_DEPENDS= nspr>=4.14:devel/nspr \ + nss>=3.30.1:security/nss \ + libevent>=2.0.22:devel/libevent \ + harfbuzz>=1.4.5:print/harfbuzz \ + graphite2>=1.3.9:graphics/graphite2 \ png>=1.6.28:graphics/png \ libvorbis>=1.3.5,3:audio/libvorbis \ libvpx>=1.5.0:multimedia/libvpx \ - sqlite3>=3.17.0:databases/sqlite3 \ + sqlite3>=3.18.0:databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ @@ -38,7 +37,7 @@ USE_MOZILLA= -soundtouch MOZILLA_NAME= Firefox 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 @@ -47,13 +46,14 @@ MOZ_OPTIONS= --enable-application=browser \ OPTIONS_DEFINE= RUST OPTIONS_DEFAULT= BUNDLED_CAIRO +OPTIONS_EXCLUDE= GNOMEUI # XXX lang/rust and devel/cargo currently build only on these platforms OPTIONS_DEFAULT_amd64= RUST OPTIONS_DEFAULT_i386= RUST .include "${.CURDIR}/../../www/firefox/Makefile.options" -WRKSRC:= ${WRKDIR}/${PORTNAME}-${DISTVERSION} +WRKSRC:= ${WRKDIR}/${MASTER_SITES:M*hg*:H:H:T}-${DISTNAME} post-extract: @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \ @@ -61,6 +61,7 @@ post-extract: <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop post-patch: + @${REINPLACE_CMD} '/AM_PATH_NSS/s/3\.31/3.30.1/' ${MOZSRC}/old-configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp diff --git www/firefox/distinfo www/firefox/distinfo index 32126eab09d0..a5c4936c4c74 100644 --- www/firefox/distinfo +++ www/firefox/distinfo @@ -1,3 +1,3 @@ TIMESTAMP = 1492149930 -SHA256 (firefox-53.0.source.tar.xz) = 4ed1b23ea7c08f81a08817ddf3b4f06849e01420ee074008b6f390366e95b7d0 -SIZE (firefox-53.0.source.tar.xz) = 213676692 +SHA256 (firefox/5e3dc7e1288a.tar.bz2) = 67afc9eccf4b2f6147ba9c6f6bf310d5e26a2fb11c3a4c1af14a387a2b096c53 +SIZE (firefox/5e3dc7e1288a.tar.bz2) = 272765098 diff --git www/firefox/files/patch-bug1021761 www/firefox/files/patch-bug1021761 index e59fce618f00..b9374901b8be 100644 --- www/firefox/files/patch-bug1021761 +++ www/firefox/files/patch-bug1021761 @@ -2,7 +2,7 @@ diff --git build/moz.configure/old.configure build/moz.configure/old.configure index cd6c37cf4c7c..e98dc7973a6a 100644 --- build/moz.configure/old.configure +++ build/moz.configure/old.configure -@@ -275,6 +275,7 @@ def old_configure_options(*options): +@@ -274,6 +274,7 @@ def old_configure_options(*options): '--with-nspr-prefix', '--with-nss-exec-prefix', '--with-nss-prefix', @@ -14,7 +14,7 @@ diff --git old-configure.in old-configure.in index dff46614635e..dbbfdb76ab78 100644 --- old-configure.in +++ old-configure.in -@@ -3128,6 +3128,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER) +@@ -3033,6 +3033,67 @@ AC_DEFINE(MOZ_WEBM_ENCODER) AC_SUBST(MOZ_WEBM_ENCODER) dnl ================================== @@ -86,7 +86,7 @@ diff --git dom/media/CubebUtils.cpp dom/media/CubebUtils.cpp index e10e07e06ade..1fd561bea113 100644 --- dom/media/CubebUtils.cpp +++ dom/media/CubebUtils.cpp -@@ -71,7 +71,8 @@ const char* AUDIOSTREAM_BACKEND_ID_STR[] = { +@@ -90,7 +90,8 @@ const char* AUDIOSTREAM_BACKEND_ID_STR[] = { "sndio", "opensl", "audiotrack", @@ -112,7 +112,7 @@ diff --git media/libcubeb/src/cubeb.c media/libcubeb/src/cubeb.c index 57bcb4c13652..68be024f4a68 100644 --- media/libcubeb/src/cubeb.c +++ media/libcubeb/src/cubeb.c -@@ -54,6 +54,9 @@ int audiotrack_init(cubeb ** context, char const * context_name); +@@ -55,6 +55,9 @@ int audiotrack_init(cubeb ** context, char const * context_name); #if defined(USE_KAI) int kai_init(cubeb ** context, char const * context_name); #endif @@ -122,7 +122,18 @@ index 57bcb4c13652..68be024f4a68 100644 static int validate_stream_params(cubeb_stream_params * input_stream_params, -@@ -138,6 +141,9 @@ cubeb_init(cubeb ** context, char const * context_name) +@@ -155,6 +158,10 @@ cubeb_init(cubeb ** context, char const * context_name, char const * backend_nam + #if defined(USE_KAI) + init_oneshot = kai_init; + #endif ++ } else if (!strcmp(backend_name, "oss")) { ++#if defined(USE_OSS) ++ init_oneshot = oss_init; ++#endif + } else { + /* Already set */ + } +@@ -196,6 +203,9 @@ cubeb_init(cubeb ** context, char const * context_name, char const * backend_nam #if defined(USE_KAI) kai_init, #endif @@ -246,7 +257,7 @@ index 05ad27fef53b..3ea78e994f59 100644 + char * buftail = stm->buffer + WRAP(snd_pcm_frames_to_bytes)(stm->pcm, stm->bufframes); /* Correct read size to the other stream available frames */ - if (stm->other_stream && got > stm->other_stream->bufframes) { + if (stm->other_stream && got > (snd_pcm_sframes_t) stm->other_stream->bufframes) { @@ -372,8 +421,8 @@ alsa_process_stream(cubeb_stream * stm) long drain_frames = avail - stm->bufframes; double drain_time = (double) drain_frames / stm->params.rate; @@ -537,7 +548,7 @@ index 05ad27fef53b..3ea78e994f59 100644 pthread_mutex_unlock(&cubeb_alsa_mutex); } -@@ -939,7 +1047,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream +@@ -942,7 +1050,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream return CUBEB_ERROR; } @@ -546,7 +557,7 @@ index 05ad27fef53b..3ea78e994f59 100644 assert(r == 0); latency_us = latency_frames * 1e6 / stm->params.rate; -@@ -952,7 +1060,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream +@@ -955,7 +1063,7 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream latency_us = latency_us < min_latency ? min_latency: latency_us; } @@ -555,7 +566,7 @@ index 05ad27fef53b..3ea78e994f59 100644 stm->params.channels, stm->params.rate, 1, latency_us); if (r < 0) { -@@ -960,20 +1068,20 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream +@@ -963,20 +1071,20 @@ alsa_stream_init_single(cubeb * ctx, cubeb_stream ** stream, char const * stream return CUBEB_ERROR_INVALID_FORMAT; } @@ -579,7 +590,7 @@ index 05ad27fef53b..3ea78e994f59 100644 + r = WRAP(snd_pcm_poll_descriptors)(stm->pcm, stm->saved_fds, stm->nfds); assert((nfds_t) r == stm->nfds); - r = pthread_cond_init(&stm->cond, NULL); + if (alsa_register_stream(ctx, stm) != 0) { @@ -1048,7 +1156,7 @@ alsa_stream_destroy(cubeb_stream * stm) pthread_mutex_lock(&stm->mutex); if (stm->pcm) { @@ -1145,7 +1156,7 @@ diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build index fc9c79198e30..57d039d5a0f2 100644 --- media/libcubeb/src/moz.build +++ media/libcubeb/src/moz.build -@@ -20,6 +20,12 @@ if CONFIG['MOZ_ALSA']: +@@ -21,6 +21,12 @@ if CONFIG['MOZ_ALSA']: ] DEFINES['USE_ALSA'] = True @@ -1158,7 +1169,7 @@ index fc9c79198e30..57d039d5a0f2 100644 if CONFIG['MOZ_PULSEAUDIO'] or CONFIG['MOZ_JACK']: SOURCES += [ 'cubeb_resampler.cpp', -@@ -92,6 +98,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': +@@ -96,6 +102,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': '%' + '%s/system/media/wilhelm/include' % CONFIG['ANDROID_SOURCE'], ] @@ -1182,34 +1193,19 @@ diff --git media/libcubeb/update.sh media/libcubeb/update.sh index b139b8f497fd..d1f8a223c6d8 100755 --- media/libcubeb/update.sh +++ media/libcubeb/update.sh -@@ -17,6 +17,7 @@ cp $1/src/cubeb_audiounit.cpp src - cp $1/src/cubeb_osx_run_loop.h src - cp $1/src/cubeb_jack.cpp src +@@ -20,6 +20,7 @@ cp $1/src/cubeb_log.h src + cp $1/src/cubeb_mixer.cpp src + cp $1/src/cubeb_mixer.h src cp $1/src/cubeb_opensl.c src +cp $1/src/cubeb_oss.c src - cp $1/src/cubeb_array_queue.h src + cp $1/src/cubeb_osx_run_loop.h src cp $1/src/cubeb_panner.cpp src cp $1/src/cubeb_panner.h src -diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build -index 3e5450f5d63a..dd45427f655a 100644 ---- media/webrtc/signaling/test/common.build -+++ media/webrtc/signaling/test/common.build -@@ -99,8 +99,8 @@ USE_LIBS += ['mozglue'] - OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] - OS_LIBS += CONFIG['REALTIME_LIBS'] - --if CONFIG['MOZ_ALSA']: -- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] -+if CONFIG['MOZ_OSS']: -+ OS_LIBS += CONFIG['MOZ_OSS_LIBS'] - - if CONFIG['MOZ_SYSTEM_JPEG']: - OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] diff --git toolkit/library/moz.build toolkit/library/moz.build index a61c689c83c3..7764df6f8a6b 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -242,8 +242,8 @@ if CONFIG['MOZ_SYSTEM_LIBVPX']: +@@ -239,8 +239,8 @@ if CONFIG['MOZ_SYSTEM_LIBVPX']: if not CONFIG['MOZ_TREE_PIXMAN']: OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] diff --git www/firefox/files/patch-bug1341234 www/firefox/files/patch-bug1341234 new file mode 100644 index 000000000000..4b5f00ab329e --- /dev/null +++ www/firefox/files/patch-bug1341234 @@ -0,0 +1,13 @@ +diff --git a/servo/components/style/build_gecko.rs b/servo/components/style/build_gecko.rs +index 92d512ee75c9..c5545f695c67 100644 +--- servo/components/style/build_gecko.rs ++++ servo/components/style/build_gecko.rs +@@ -137,6 +137,8 @@ mod bindings { + if build_type == BuildType::Debug { + builder = builder.clang_arg("-DDEBUG=1").clang_arg("-DJS_DEBUG=1"); + } ++ builder = builder.clang_arg("-isystem/usr/local/include/nspr"); ++ builder = builder.clang_arg("-isystem/usr/local/include/pixman-1"); + if cfg!(target_family = "unix") { + builder = builder.clang_arg("-DOS_POSIX=1"); + } diff --git www/firefox/files/patch-bug702179 www/firefox/files/patch-bug702179 index bb642382dfd8..0c998526736e 100644 --- www/firefox/files/patch-bug702179 +++ www/firefox/files/patch-bug702179 @@ -1,13 +1,12 @@ ---- js/src/moz.build.orig 2015-12-16 12:32:04.574425000 +0100 -+++ js/src/moz.build 2015-12-16 12:32:09.032032000 +0100 -@@ -671,10 +671,6 @@ CFLAGS += CONFIG['MOZ_ICU_CFLAGS'] - CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] - LOCAL_INCLUDES += CONFIG['MOZ_ICU_INCLUDES'] +Don't build static JS lib to make sure DTrace probes are picked up. + +--- js/src/build/moz.build.orig 2017-04-16 18:00:50 UTC ++++ js/src/build/moz.build +@@ -71,7 +71,3 @@ if CONFIG['OS_ARCH'] == 'SunOS': + ] + OS_LIBS += CONFIG['REALTIME_LIBS'] +- -NO_EXPAND_LIBS = True - -DIST_INSTALL = True -- - # Prepare self-hosted JS code for embedding - GENERATED_FILES += ['selfhosted.out.h'] - selfhosted = GENERATED_FILES['selfhosted.out.h'] diff --git www/firefox/files/patch-bug826985 www/firefox/files/patch-bug826985 index 1f21f8f960cd..8e23b9382748 100644 --- www/firefox/files/patch-bug826985 +++ www/firefox/files/patch-bug826985 @@ -51,18 +51,6 @@ index b483cd1..f1dd1f0 100644 # basic stuff for everything 'include_internal_video_render': 0, 'clang_use_chrome_plugins': 0, -diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build -index b483cd1..f1dd1f0 100644 ---- media/webrtc/signaling/test/common.build -+++ media/webrtc/signaling/test/common.build -@@ -99,6 +99,7 @@ if CONFIG['JS_SHARED_LIBRARY']: - - USE_LIBS += ['mozglue'] - -+OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] - OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] - OS_LIBS += CONFIG['REALTIME_LIBS'] - diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc index 239a292..bab496c 100644 --- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc diff --git www/firefox/files/patch-bug847568 www/firefox/files/patch-bug847568 index 9588ce5df654..64c87a3fa6ae 100644 --- www/firefox/files/patch-bug847568 +++ www/firefox/files/patch-bug847568 @@ -145,10 +145,10 @@ index 2118677ca3a8..e4978b413784 100644 CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] diff --git gfx/thebes/moz.build gfx/thebes/moz.build -index dee9b7bfa2cb..bd801f3a468e 100644 +index 56f1b9fe3f4b..0ac1100b0df3 100644 --- gfx/thebes/moz.build +++ gfx/thebes/moz.build -@@ -273,7 +273,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): +@@ -269,7 +269,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] @@ -167,14 +167,14 @@ diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build index cb1233c56d7e..06fb1f9f174b 100644 --- intl/unicharutil/util/moz.build +++ intl/unicharutil/util/moz.build -@@ -40,4 +40,7 @@ if CONFIG['_MSC_VER']: - if CONFIG['ENABLE_INTL_API']: - USE_LIBS += ['icu'] +@@ -29,4 +29,7 @@ if CONFIG['ENABLE_INTL_API']: + 'ICUUtils.cpp', + ] +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] + - DIST_INSTALL = True + FINAL_LIBRARY = 'xul' diff --git netwerk/dns/moz.build netwerk/dns/moz.build index 79c26e3e7001..c4d93bc5f7dc 100644 --- netwerk/dns/moz.build @@ -209,7 +209,7 @@ index 95a58b634593..b614eef85c89 100644 + * 100 + GR2_VERSION_BUGFIX >= \ + (major) * 10000 + (minor) * 100 + (bugfix) ) + ], [ -+ #if !GR2_VERSION_REQUIRE(1,3,8) ++ #if !GR2_VERSION_REQUIRE(1,3,9) + #error "Insufficient graphite2 version." + #endif + ], [], @@ -225,7 +225,7 @@ diff --git toolkit/library/moz.build toolkit/library/moz.build index 24f940e1ed7e..079a575adec3 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -228,6 +228,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: +@@ -224,6 +224,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: if CONFIG['MOZ_SYSTEM_PNG']: OS_LIBS += CONFIG['MOZ_PNG_LIBS'] @@ -242,7 +242,7 @@ diff --git toolkit/moz.configure toolkit/moz.configure index 9297e4d6f501..d8e273887e4b 100644 --- toolkit/moz.configure +++ toolkit/moz.configure -@@ -343,6 +343,26 @@ add_old_configure_assignment('FT2_LIBS', +@@ -356,6 +356,26 @@ add_old_configure_assignment('FT2_LIBS', add_old_configure_assignment('FT2_CFLAGS', delayed_getattr(ft2_info, 'cflags')) @@ -261,7 +261,7 @@ index 9297e4d6f501..d8e273887e4b 100644 +option('--with-system-harfbuzz', + help="Use system harfbuzz (located with pkgconfig)") + -+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.1', ++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.5', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) diff --git www/firefox/files/patch-bug981348 www/firefox/files/patch-bug981348 deleted file mode 100644 index 0c2ffea1ef7b..000000000000 --- www/firefox/files/patch-bug981348 +++ /dev/null @@ -1,61 +0,0 @@ -diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp -index 88bba9baa401..99f240952dfe 100644 ---- dom/system/OSFileConstants.cpp -+++ dom/system/OSFileConstants.cpp -@@ -16,14 +16,17 @@ - #include "dirent.h" - #include "poll.h" - #include "sys/stat.h" --#if defined(ANDROID) -+#if defined(XP_LINUX) - #include <sys/vfs.h> - #define statvfs statfs -+#define f_frsize f_bsize - #else - #include "sys/statvfs.h" -+#endif // defined(XP_LINUX) -+#if !defined(ANDROID) - #include "sys/wait.h" - #include <spawn.h> --#endif // defined(ANDROID) -+#endif // !defined(ANDROID) - #endif // defined(XP_UNIX) - - #if defined(XP_LINUX) -@@ -699,7 +702,7 @@ static const dom::ConstantSpec gLibcProperties[] = - - { "OSFILE_SIZEOF_STATVFS", JS::Int32Value(sizeof (struct statvfs)) }, - -- { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", JS::Int32Value(offsetof (struct statvfs, f_bsize)) }, -+ { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", JS::Int32Value(offsetof (struct statvfs, f_frsize)) }, - { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", JS::Int32Value(offsetof (struct statvfs, f_bavail)) }, - - #endif // defined(XP_UNIX) -diff --git toolkit/components/osfile/modules/osfile_unix_back.jsm toolkit/components/osfile/modules/osfile_unix_back.jsm -index a028dda7d5ec..f5c632e3d7e5 100644 ---- toolkit/components/osfile/modules/osfile_unix_back.jsm -+++ toolkit/components/osfile/modules/osfile_unix_back.jsm -@@ -228,8 +228,8 @@ - let statvfs = new SharedAll.HollowStructure("statvfs", - Const.OSFILE_SIZEOF_STATVFS); - -- statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BSIZE, -- "f_bsize", Type.unsigned_long.implementation); -+ statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_FRSIZE, -+ "f_frsize", Type.unsigned_long.implementation); - statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BAVAIL, - "f_bavail", Type.fsblkcnt_t.implementation); - -diff --git toolkit/components/osfile/modules/osfile_unix_front.jsm toolkit/components/osfile/modules/osfile_unix_front.jsm -index bd60d4d8419c..a8cd6b546b0e 100644 ---- toolkit/components/osfile/modules/osfile_unix_front.jsm -+++ toolkit/components/osfile/modules/osfile_unix_front.jsm -@@ -399,7 +399,7 @@ - throw_on_negative("statvfs", (UnixFile.statvfs || UnixFile.statfs)(sourcePath, fileSystemInfoPtr)); - - let bytes = new Type.uint64_t.implementation( -- fileSystemInfo.f_bsize * fileSystemInfo.f_bavail); -+ fileSystemInfo.f_frsize * fileSystemInfo.f_bavail); - - return bytes.value; - }; diff --git www/firefox/files/patch-rust-option www/firefox/files/patch-rust-option new file mode 100644 index 000000000000..3cbcb7fe902f --- /dev/null +++ www/firefox/files/patch-rust-option @@ -0,0 +1,352 @@ +Revert bug 1284816 and bug 1341967 to postpone bustage on non-x86 archs. + +diff --git browser/confvars.sh browser/confvars.sh +index d8dcd99c2757..740d9d3e5fcf 100755 +--- browser/confvars.sh ++++ browser/confvars.sh +@@ -55,6 +55,7 @@ ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-central + MAR_CHANNEL_ID=firefox-mozilla-central + MOZ_PROFILE_MIGRATOR=1 + MOZ_JSDOWNLOADS=1 ++MOZ_RUST_MP4PARSE=1 + + # Enable checking that add-ons are signed by the trusted root + MOZ_ADDON_SIGNING=1 +diff --git build/moz.configure/rust.configure build/moz.configure/rust.configure +index 267d989f1597..f709820e60ae 100644 +--- build/moz.configure/rust.configure ++++ build/moz.configure/rust.configure +@@ -4,10 +4,20 @@ + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + +-# Rust is required by `rust_compiler` below. We allow_missing here +-# to propagate failures to the better error message there. +-rustc = check_prog('RUSTC', ['rustc'], allow_missing=True) +-cargo = check_prog('CARGO', ['cargo'], allow_missing=True) ++option('--disable-rust', help='Don\'t include Rust language sources') ++ ++@depends('--enable-rust') ++def rust_compiler_names(value): ++ if value: ++ return ['rustc'] ++ ++@depends('--enable-rust') ++def cargo_binary_names(value): ++ if value: ++ return ['cargo'] ++ ++rustc = check_prog('RUSTC', rust_compiler_names, allow_missing=True) ++cargo = check_prog('CARGO', cargo_binary_names, allow_missing=True) + + @depends_if(rustc) + @checking('rustc version', lambda info: info.version) +@@ -43,9 +53,12 @@ def cargo_info(cargo): + version=Version(version), + ) + +-@depends(rustc_info, cargo_info) ++@depends('--enable-rust', rustc_info, cargo_info) + @imports(_from='textwrap', _import='dedent') +-def rust_compiler(rustc_info, cargo_info): ++def rust_compiler(value, rustc_info, cargo_info): ++ if not value: ++ return None ++ + if not rustc_info: + die(dedent('''\ + Rust compiler not found. +diff --git dom/media/MediaPrefs.h dom/media/MediaPrefs.h +index 4dcc659222a4..559334d89fd1 100644 +--- dom/media/MediaPrefs.h ++++ dom/media/MediaPrefs.h +@@ -171,7 +171,7 @@ private: + DECL_MEDIA_PREF("media.ogg.flac.enabled", FlacInOgg, bool, false); + DECL_MEDIA_PREF("media.flac.enabled", FlacEnabled, bool, true); + +-#if !defined(RELEASE_OR_BETA) ++#if defined(MOZ_RUST_MP4PARSE) && !defined(RELEASE_OR_BETA) + DECL_MEDIA_PREF("media.rust.test_mode", RustTestMode, bool, false); + #endif + +diff --git media/libstagefright/binding/DecoderData.cpp media/libstagefright/binding/DecoderData.cpp +index 109ea329d154..a06e533b1e62 100644 +--- media/libstagefright/binding/DecoderData.cpp ++++ media/libstagefright/binding/DecoderData.cpp +@@ -13,9 +13,11 @@ + #include "mozilla/ArrayUtils.h" + #include "include/ESDS.h" + ++#ifdef MOZ_RUST_MP4PARSE + // OpusDecoder header is really needed only by MP4 in rust + #include "OpusDecoder.h" + #include "mp4parse.h" ++#endif + + using namespace stagefright; + using mozilla::media::TimeUnit; +@@ -190,6 +192,7 @@ MP4VideoInfo::Update(const MetaData* aMetaData, const char* aMimeType) + + } + ++#ifdef MOZ_RUST_MP4PARSE + static void + UpdateTrackProtectedInfo(mozilla::TrackInfo& aConfig, + const mp4parse_sinf_info& aSinf) +@@ -274,6 +277,7 @@ MP4VideoInfo::Update(const mp4parse_track_info* track, + mExtraData->AppendElements(video->extra_data.data, video->extra_data.length); + } + } ++#endif + + bool + MP4VideoInfo::IsValid() const +diff --git media/libstagefright/binding/MP4Metadata.cpp media/libstagefright/binding/MP4Metadata.cpp +index 5c3810d99a38..5d14dfd8b8a9 100644 +--- media/libstagefright/binding/MP4Metadata.cpp ++++ media/libstagefright/binding/MP4Metadata.cpp +@@ -20,14 +20,16 @@ + #include "mp4_demuxer/MP4Metadata.h" + #include "mp4_demuxer/Stream.h" + #include "MediaPrefs.h" +-#include "mp4parse.h" + + #include <limits> + #include <stdint.h> + #include <vector> + ++#ifdef MOZ_RUST_MP4PARSE ++#include "mp4parse.h" + + struct FreeMP4Parser { void operator()(mp4parse_parser* aPtr) { mp4parse_free(aPtr); } }; ++#endif + + using namespace stagefright; + using mozilla::media::TimeUnit; +@@ -105,6 +107,8 @@ private: + bool mCanSeek; + }; + ++#ifdef MOZ_RUST_MP4PARSE ++ + // Wrap an mp4_demuxer::Stream to remember the read offset. + + class RustStreamAdaptor { +@@ -151,6 +155,7 @@ private: + RustStreamAdaptor mRustSource; + mozilla::UniquePtr<mp4parse_parser, FreeMP4Parser> mRustParser; + }; ++#endif + + class IndiceWrapperStagefright : public IndiceWrapper { + public: +@@ -235,6 +240,7 @@ IndiceWrapperRust::GetIndice(size_t aIndex, Index::Indice& aIndice) const + + MP4Metadata::MP4Metadata(Stream* aSource) + : mStagefright(MakeUnique<MP4MetadataStagefright>(aSource)) ++#ifdef MOZ_RUST_MP4PARSE + , mRust(MakeUnique<MP4MetadataRust>(aSource)) + , mPreferRust(MediaPrefs::EnableRustMP4Parser()) + , mReportedAudioTrackTelemetry(false) +@@ -242,6 +248,7 @@ MP4Metadata::MP4Metadata(Stream* aSource) + #ifndef RELEASE_OR_BETA + , mRustTestMode(MediaPrefs::RustTestMode()) + #endif ++#endif + { + } + +@@ -274,6 +281,7 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const + MP4Metadata::ResultAndTrackCount numTracks = + mStagefright->GetNumberTracks(aType); + ++#ifdef MOZ_RUST_MP4PARSE + if (!mRust) { + return numTracks; + } +@@ -321,6 +329,7 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const + mPreferRust = true; + return numTracksRust; + } ++#endif // MOZ_RUST_MP4PARSE + + // If numbers are different, return the stagefright number with a warning. + if (!numTracksMatch) { +@@ -352,6 +361,7 @@ MP4Metadata::GetNumberTracks(mozilla::TrackInfo::TrackType aType) const + return numTracksRust; + } + ++#ifdef MOZ_RUST_MP4PARSE + bool MP4Metadata::ShouldPreferRust() const { + if (!mRust) { + return false; +@@ -389,6 +399,7 @@ bool MP4Metadata::ShouldPreferRust() const { + // Otherwise, fall back. + return false; + } ++#endif // MOZ_RUST_MP4PARSE + + static const char* + GetDifferentField(const mozilla::TrackInfo& info, +@@ -443,6 +454,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, + MP4Metadata::ResultAndTrackInfo info = + mStagefright->GetTrackInfo(aType, aTrackNumber); + ++#ifdef MOZ_RUST_MP4PARSE + if (!mRust) { + return info; + } +@@ -514,6 +526,7 @@ MP4Metadata::GetTrackInfo(mozilla::TrackInfo::TrackType aType, + if (mPreferRust) { + return infoRust; + } ++#endif + + return info; + } +@@ -528,6 +541,7 @@ MP4Metadata::ResultAndCryptoFile + MP4Metadata::Crypto() const + { + MP4Metadata::ResultAndCryptoFile crypto = mStagefright->Crypto(); ++#ifdef MOZ_RUST_MP4PARSE + MP4Metadata::ResultAndCryptoFile rustCrypto = mRust->Crypto(); + + #ifndef RELEASE_OR_BETA +@@ -548,6 +562,7 @@ MP4Metadata::Crypto() const + if (mPreferRust) { + return rustCrypto; + } ++#endif + + return crypto; + } +@@ -856,6 +871,7 @@ MP4MetadataStagefright::Metadata(Stream* aSource) + return {NS_OK, Move(buffer)}; + } + ++#ifdef MOZ_RUST_MP4PARSE + bool + RustStreamAdaptor::Read(uint8_t* buffer, uintptr_t size, size_t* bytes_read) + { +@@ -1151,5 +1167,6 @@ MP4MetadataRust::Metadata(Stream* aSource) + MOZ_ASSERT(false, "Not yet implemented"); + return {NS_ERROR_NOT_IMPLEMENTED, nullptr}; + } ++#endif + + } // namespace mp4_demuxer +diff --git media/libstagefright/binding/include/mp4_demuxer/DecoderData.h media/libstagefright/binding/include/mp4_demuxer/DecoderData.h +index 3cd4b7c142f4..dc25ddf03b10 100644 +--- media/libstagefright/binding/include/mp4_demuxer/DecoderData.h ++++ media/libstagefright/binding/include/mp4_demuxer/DecoderData.h +@@ -19,11 +19,13 @@ namespace stagefright + class MetaData; + } + ++#ifdef MOZ_RUST_MP4PARSE + extern "C" { + typedef struct mp4parse_track_info mp4parse_track_info; + typedef struct mp4parse_track_audio_info mp4parse_track_audio_info; + typedef struct mp4parse_track_video_info mp4parse_track_video_info; + } ++#endif + + namespace mp4_demuxer + { +@@ -71,8 +73,10 @@ public: + void Update(const stagefright::MetaData* aMetaData, + const char* aMimeType); + ++#ifdef MOZ_RUST_MP4PARSE + void Update(const mp4parse_track_info* track, + const mp4parse_track_audio_info* audio); ++#endif + + virtual bool IsValid() const override; + }; +@@ -85,8 +89,10 @@ public: + void Update(const stagefright::MetaData* aMetaData, + const char* aMimeType); + ++#ifdef MOZ_RUST_MP4PARSE + void Update(const mp4parse_track_info* track, + const mp4parse_track_video_info* video); ++#endif + + virtual bool IsValid() const override; + }; +diff --git media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h +index 492c9c1c1bc3..e16dbbd1155e 100644 +--- media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h ++++ media/libstagefright/binding/include/mp4_demuxer/MP4Metadata.h +@@ -82,6 +82,7 @@ public: + + private: + UniquePtr<MP4MetadataStagefright> mStagefright; ++#ifdef MOZ_RUST_MP4PARSE + UniquePtr<MP4MetadataRust> mRust; + mutable bool mPreferRust; + mutable bool mReportedAudioTrackTelemetry; +@@ -90,6 +91,7 @@ private: + mutable bool mRustTestMode; + #endif + bool ShouldPreferRust() const; ++#endif + }; + + } // namespace mp4_demuxer +diff --git mobile/android/confvars.sh mobile/android/confvars.sh +index e79b6f5c0707..eb62763acaf7 100644 +--- mobile/android/confvars.sh ++++ mobile/android/confvars.sh +@@ -30,6 +30,8 @@ MOZ_XULRUNNER= + MOZ_CAPTURE=1 + MOZ_RAW=1 + ++MOZ_RUST_MP4PARSE=1 ++ + # use custom widget for html:select + MOZ_USE_NATIVE_POPUP_WINDOWS=1 + +diff --git toolkit/components/telemetry/Histograms.json toolkit/components/telemetry/Histograms.json +index 061c55f6a5b6..e49dfd176952 100644 +--- toolkit/components/telemetry/Histograms.json ++++ toolkit/components/telemetry/Histograms.json +@@ -7237,7 +7237,8 @@ + "expires_in_version": "60", + "kind": "boolean", + "bug_numbers": [1220885], +- "description": "Whether the rust mp4 demuxer successfully parsed a stream segment." ++ "description": "Whether the rust mp4 demuxer successfully parsed a stream segment.", ++ "cpp_guard": "MOZ_RUST_MP4PARSE" + }, + "MEDIA_RUST_MP4PARSE_ERROR_CODE": { + "alert_emails": ["gi...@mozilla.com", "kine...@flim.org"], +@@ -7245,21 +7246,24 @@ + "kind": "enumerated", + "n_values": 32, + "bug_numbers": [1238420], +- "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error." ++ "description": "The error code reported when an MP4 parse attempt has failed.0 = OK, 1 = bad argument, 2 = invalid data, 3 = unsupported, 4 = unexpected end of file, 5 = read error.", ++ "cpp_guard": "MOZ_RUST_MP4PARSE" + }, + "MEDIA_RUST_MP4PARSE_TRACK_MATCH_AUDIO": { + "alert_emails": ["gi...@mozilla.com", "kine...@flim.org"], + "expires_in_version": "60", + "kind": "boolean", + "bug_numbers": [1231169], +- "description": "Whether rust and stagefight mp4 parser audio track results match." ++ "description": "Whether rust and stagefight mp4 parser audio track results match.", ++ "cpp_guard": "MOZ_RUST_MP4PARSE" + }, + "MEDIA_RUST_MP4PARSE_TRACK_MATCH_VIDEO": { + "alert_emails": ["gi...@mozilla.com", "kine...@flim.org"], + "expires_in_version": "60", + "kind": "boolean", + "bug_numbers": [1231169], +- "description": "Whether rust and stagefight mp4 parser video track results match." ++ "description": "Whether rust and stagefight mp4 parser video track results match.", ++ "cpp_guard": "MOZ_RUST_MP4PARSE" + }, + "MEDIA_WMF_DECODE_ERROR": { + "expires_in_version": "55", _______________________________________________ freebsd-gecko@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-gecko To unsubscribe, send any mail to "freebsd-gecko-unsubscr...@freebsd.org"