Re: git: a2bd8616995c - 2021Q4 - www/firefox: update to 95.0 (rc1)
- Reply: Jan Beich : "Re: git: a2bd8616995c - 2021Q4 - www/firefox: update to 95.0 (rc1)"
- Reply: Christoph Moench-Tegeder : "Re: git: a2bd8616995c - 2021Q4 - www/firefox: update to 95.0 (rc1)"
- Reply: Christoph Moench-Tegeder : "Re: git: a2bd8616995c - 2021Q4 - www/firefox: update to 95.0 (rc1)"
- In reply to: Christoph Moench-Tegeder : "git: a2bd8616995c - 2021Q4 - www/firefox: update to 95.0 (rc1)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Nov 2021 00:33:27 UTC
On 30/11/2021 7:34 am, Christoph Moench-Tegeder wrote: > The branch 2021Q4 has been updated by cmt: > > URL: https://cgit.FreeBSD.org/ports/commit/?id=a2bd8616995c26c95d8ac7cdf655f006931d3df5 > > commit a2bd8616995c26c95d8ac7cdf655f006931d3df5 > Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> > AuthorDate: 2021-11-29 20:22:44 +0000 > Commit: Christoph Moench-Tegeder <cmt@FreeBSD.org> > CommitDate: 2021-11-29 20:34:43 +0000 > > www/firefox: update to 95.0 (rc1) > > Release Notes (soon): > https://www.mozilla.org/en-US/firefox/95.0/releasenotes/ > > This firefox release includes a not-yet-released snapshot of dav1d, > which is not fully API-compatible with the released version. Switch > to the bundled dav1d/aom until dav1d released have caught up. > > (cherry picked from commit f4c07f1834f70e7359c290415aaf47727cda042a) Hi Cristoph, In case its not yet on your radar, we've had community reports of this causing a regression in quarterly, with a dependency on a nonexistent port breaking bulk -a > --- > Mk/bsd.gecko.mk | 3 + > www/firefox/Makefile | 16 ++-- > www/firefox/distinfo | 6 +- > www/firefox/files/patch-bug1735905 | 165 ------------------------------------- > 4 files changed, 17 insertions(+), 173 deletions(-) > > diff --git a/Mk/bsd.gecko.mk b/Mk/bsd.gecko.mk > index 47c882bc9d1b..a22eaf47f217 100644 > --- a/Mk/bsd.gecko.mk > +++ b/Mk/bsd.gecko.mk > @@ -130,10 +130,13 @@ RUSTFLAGS+= ${CFLAGS:M-mcpu=*:S/-mcpu=/-C target-cpu=/} > # Standard depends > _ALL_DEPENDS= av1 event ffi graphite harfbuzz icu jpeg nspr nss png pixman sqlite vpx webp > > +# firefox 95 uses a dav1d snapshot > 0.9.2 > +.if ${MOZILLA_VER:R:R} < 95 > .if exists(${FILESDIR}/patch-bug1559213) > av1_LIB_DEPENDS= libaom.so:multimedia/aom libdav1d.so:multimedia/dav1d > av1_MOZ_OPTIONS= --with-system-av1 > .endif > +.endif > > event_LIB_DEPENDS= libevent.so:devel/libevent > event_MOZ_OPTIONS= --with-system-libevent > diff --git a/www/firefox/Makefile b/www/firefox/Makefile > index 6aad6b58bd2a..b93ef4ba7e27 100644 > --- a/www/firefox/Makefile > +++ b/www/firefox/Makefile > @@ -1,8 +1,7 @@ > # Created by: Alan Eldridge <alane@FreeBSD.org> > > PORTNAME= firefox > -DISTVERSION= 94.0.2 > -PORTREVISION= 3 > +DISTVERSION= 95.0 > PORTEPOCH= 2 > CATEGORIES= www > MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ > @@ -13,7 +12,7 @@ MAINTAINER= gecko@FreeBSD.org > COMMENT= Web browser based on the browser portion of Mozilla > > BUILD_DEPENDS= nspr>=4.32:devel/nspr \ > - nss>=3.71:security/nss \ > + nss>=3.72:security/nss \ > icu>=69.1,1:devel/icu \ > libevent>=2.1.8:devel/libevent \ > harfbuzz>=2.9.1:print/harfbuzz \ > @@ -25,12 +24,18 @@ BUILD_DEPENDS= nspr>=4.32:devel/nspr \ > autoconf-2.13:devel/autoconf213 \ > nasm:devel/nasm \ > yasm:devel/yasm \ > - zip:archivers/zip > + zip:archivers/zip \ > + ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc++abi.a:devel/wasi-libcxx \ > + ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc.a:devel/wasi-libc \ > + ${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/clang/${LLVM_DEFAULT}.0.0/lib/wasi/libclang_rt.builtins-wasm32.a:devel/wasi-compiler-rt${LLVM_DEFAULT} > > USE_GECKO= gecko > CONFLICTS_INSTALL= firefox-esr > USE_MOZILLA= -sqlite > CFLAGS_powerpc64le= -DSQLITE_BYTEORDER=1234 > +# work around bindgen not finding ICU, e.g. > +# dist/include/mozilla/intl/ICU4CGlue.h:8:10: fatal error: 'unicode/uenum.h' file not found, err: true > +CONFIGURE_ENV+= BINDGEN_CFLAGS="-I${LOCALBASE}/include" > > USES= tar:xz > > @@ -38,7 +43,8 @@ FIREFOX_ICON= ${MOZILLA}.png > FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png > FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop > MOZ_OPTIONS= --enable-application=browser \ > - --enable-official-branding > + --enable-official-branding \ > + --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot > > .include "${.CURDIR}/../../www/firefox/Makefile.options" > > diff --git a/www/firefox/distinfo b/www/firefox/distinfo > index ae199b540d36..de4bcaf8e7e5 100644 > --- a/www/firefox/distinfo > +++ b/www/firefox/distinfo > @@ -1,3 +1,3 @@ > -TIMESTAMP = 1637880605 > -SHA256 (firefox-94.0.2.source.tar.xz) = 899ba1c806549034793d7e8ca53f4c845d783c810338f314f3d653d39649e575 > -SIZE (firefox-94.0.2.source.tar.xz) = 382896780 > +TIMESTAMP = 1638207026 > +SHA256 (firefox-95.0.source.tar.xz) = 7fa3e43f6ec710b2ebba0e99db713a56d13d85f1f23c4a1399bb594fd74864de > +SIZE (firefox-95.0.source.tar.xz) = 382853940 > diff --git a/www/firefox/files/patch-bug1735905 b/www/firefox/files/patch-bug1735905 > deleted file mode 100644 > index 93f44e30149a..000000000000 > --- a/www/firefox/files/patch-bug1735905 > +++ /dev/null > @@ -1,165 +0,0 @@ > -commit 0cc5c4b32ed3e0686b4737851fa3df542f60ab3c > -Author: Mike Hommey <mh+mozilla@glandium.org> > -Date: Sat Oct 16 01:19:56 2021 +0000 > - > - Bug 1735905 - Upgrade cubeb-pulse to fix a race condition that can lead to shutdown deadlock. r=kinetik > - > - Differential Revision: https://phabricator.services.mozilla.com/D128657 > - > -diff --git .cargo/config.in .cargo/config.in > -index 9f24c14e6bfa..d8164982b771 100644 > ---- .cargo/config.in > -+++ .cargo/config.in > -@@ -25,7 +25,7 @@ rev = "fd02134161505f978e132114cbabdac057ce3b71" > - [source."https://github.com/mozilla/cubeb-pulse-rs"] > - git = "https://github.com/mozilla/cubeb-pulse-rs" > - replace-with = "vendored-sources" > --rev = "e9e55a4529642da99e64452467ecaef9f7753531" > -+rev = "9695281319fcb3e40db6a32cc0661548d6192f4d" > - > - [source."https://github.com/mozilla/cubeb-coreaudio-rs"] > - git = "https://github.com/mozilla/cubeb-coreaudio-rs" > -diff --git Cargo.lock Cargo.lock > -index 28b79434ff31..8c06309790be 100644 > ---- Cargo.lock > -+++ Cargo.lock > -@@ -1059,7 +1059,7 @@ dependencies = [ > - [[package]] > - name = "cubeb-pulse" > - version = "0.3.0" > --source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=e9e55a4529642da99e64452467ecaef9f7753531#e9e55a4529642da99e64452467ecaef9f7753531" > -+source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=9695281319fcb3e40db6a32cc0661548d6192f4d#9695281319fcb3e40db6a32cc0661548d6192f4d" > - dependencies = [ > - "cubeb-backend", > - "pulse", > -@@ -3935,7 +3935,7 @@ dependencies = [ > - [[package]] > - name = "pulse" > - version = "0.3.0" > --source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=e9e55a4529642da99e64452467ecaef9f7753531#e9e55a4529642da99e64452467ecaef9f7753531" > -+source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=9695281319fcb3e40db6a32cc0661548d6192f4d#9695281319fcb3e40db6a32cc0661548d6192f4d" > - dependencies = [ > - "bitflags", > - "pulse-ffi", > -@@ -3944,7 +3944,7 @@ dependencies = [ > - [[package]] > - name = "pulse-ffi" > - version = "0.1.0" > --source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=e9e55a4529642da99e64452467ecaef9f7753531#e9e55a4529642da99e64452467ecaef9f7753531" > -+source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=9695281319fcb3e40db6a32cc0661548d6192f4d#9695281319fcb3e40db6a32cc0661548d6192f4d" > - dependencies = [ > - "libc", > - ] > -diff --git third_party/rust/cubeb-pulse/.cargo-checksum.json third_party/rust/cubeb-pulse/.cargo-checksum.json > -index 1dc452bcf480..45e913931336 100644 > ---- third_party/rust/cubeb-pulse/.cargo-checksum.json > -+++ third_party/rust/cubeb-pulse/.cargo-checksum.json > -@@ -1 +1 @@ > --{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"95d0d2542c04f0c932f58591b92c3051db5c95657bf5f24b6a6110f7b667568d","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"56e90cb82ec36ead07e551a28fc2455fa658fa8308c3d73f8d856d85bfcd2122","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"8969b300850b56ace07abe570940e2099774bf0bf20325be1d3ec0f5f408c8ce","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"d5da05348bf1a7f65c85b14372964a49dc4849f0aee96c75e2c18b51fb03fcaf","src/backend/stream.rs":"b17829f1b65055ada69454d0714dd7526d4d5cdeda7bba4ee03ffb6f27297e61","src/capi.rs":"fa0fa020f0d0efe55aa0f > c3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null} > -\ No newline at end of file > -+{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"95d0d2542c04f0c932f58591b92c3051db5c95657bf5f24b6a6110f7b667568d","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"56e90cb82ec36ead07e551a28fc2455fa658fa8308c3d73f8d856d85bfcd2122","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"8969b300850b56ace07abe570940e2099774bf0bf20325be1d3ec0f5f408c8ce","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"d5da05348bf1a7f65c85b14372964a49dc4849f0aee96c75e2c18b51fb03fcaf","src/backend/stream.rs":"585b616d5487c77f6aa21a76aa6a0f7ae9de8c389bc908401a979fba8bf3450f","src/capi.rs":"fa0fa020f0d0efe55aa0f > c3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null} > -\ No newline at end of file > -diff --git third_party/rust/cubeb-pulse/src/backend/stream.rs third_party/rust/cubeb-pulse/src/backend/stream.rs > -index 8168c813e243..df64b0f2304e 100644 > ---- third_party/rust/cubeb-pulse/src/backend/stream.rs > -+++ third_party/rust/cubeb-pulse/src/backend/stream.rs > -@@ -15,7 +15,7 @@ use ringbuf::RingBuffer; > - use std::ffi::{CStr, CString}; > - use std::os::raw::{c_long, c_void}; > - use std::slice; > --use std::sync::atomic::{AtomicUsize, Ordering}; > -+use std::sync::atomic::{AtomicPtr, AtomicUsize, Ordering}; > - use std::{mem, ptr}; > - > - use self::LinearInputBuffer::*; > -@@ -272,7 +272,7 @@ pub struct PulseStream<'ctx> { > - input_stream: Option<pulse::Stream>, > - data_callback: ffi::cubeb_data_callback, > - state_callback: ffi::cubeb_state_callback, > -- drain_timer: *mut pa_time_event, > -+ drain_timer: AtomicPtr<pa_time_event>, > - output_sample_spec: pulse::SampleSpec, > - input_sample_spec: pulse::SampleSpec, > - // output frames count excluding pre-buffering > -@@ -411,7 +411,7 @@ impl<'ctx> PulseStream<'ctx> { > - data_callback, > - state_callback, > - user_ptr, > -- drain_timer: ptr::null_mut(), > -+ drain_timer: AtomicPtr::new(ptr::null_mut()), > - output_sample_spec: pulse::SampleSpec::default(), > - input_sample_spec: pulse::SampleSpec::default(), > - output_frame_count: AtomicUsize::new(0), > -@@ -574,9 +574,10 @@ impl<'ctx> PulseStream<'ctx> { > - self.context.mainloop.lock(); > - { > - if let Some(stm) = self.output_stream.take() { > -- if !self.drain_timer.is_null() { > -+ let drain_timer = self.drain_timer.load(Ordering::Acquire); > -+ if !drain_timer.is_null() { > - /* there's no pa_rttime_free, so use this instead. */ > -- self.context.mainloop.get_api().time_free(self.drain_timer); > -+ self.context.mainloop.get_api().time_free(drain_timer); > - } > - stm.clear_state_callback(); > - stm.clear_write_callback(); > -@@ -637,7 +638,7 @@ impl<'ctx> StreamOps for PulseStream<'ctx> { > - self.shutdown = true; > - // If draining is taking place wait to finish > - cubeb_log!("Stream stop: waiting for drain."); > -- while !self.drain_timer.is_null() { > -+ while !self.drain_timer.load(Ordering::Acquire).is_null() { > - self.context.mainloop.wait(); > - } > - cubeb_log!("Stream stop: waited for drain."); > -@@ -988,11 +989,12 @@ impl<'ctx> PulseStream<'ctx> { > - ) { > - cubeb_logv!("Drain finished callback."); > - let stm = unsafe { &mut *(u as *mut PulseStream) }; > -- debug_assert_eq!(stm.drain_timer, e); > -+ let drain_timer = stm.drain_timer.load(Ordering::Acquire); > -+ debug_assert_eq!(drain_timer, e); > - stm.state_change_callback(ffi::CUBEB_STATE_DRAINED); > - /* there's no pa_rttime_free, so use this instead. */ > -- a.time_free(stm.drain_timer); > -- stm.drain_timer = ptr::null_mut(); > -+ a.time_free(drain_timer); > -+ stm.drain_timer.store(ptr::null_mut(), Ordering::Release); > - stm.context.mainloop.signal(); > - } > - > -@@ -1109,13 +1111,16 @@ impl<'ctx> PulseStream<'ctx> { > - > - /* pa_stream_drain is useless, see PA bug# 866. this is a workaround. */ > - /* arbitrary safety margin: double the current latency. */ > -- debug_assert!(self.drain_timer.is_null()); > -+ debug_assert!(self.drain_timer.load(Ordering::Acquire).is_null()); > - let stream_ptr = self as *const _ as *mut _; > - if let Some(ref context) = self.context.context { > -- self.drain_timer = context.rttime_new( > -- pulse::rtclock_now() + 2 * latency, > -- drained_cb, > -- stream_ptr, > -+ self.drain_timer.store( > -+ context.rttime_new( > -+ pulse::rtclock_now() + 2 * latency, > -+ drained_cb, > -+ stream_ptr, > -+ ), > -+ Ordering::Release, > - ); > - } > - self.shutdown = true; > -diff --git toolkit/library/rust/shared/Cargo.toml toolkit/library/rust/shared/Cargo.toml > -index 39f309e2ad4a..cdb568aa7428 100644 > ---- toolkit/library/rust/shared/Cargo.toml > -+++ toolkit/library/rust/shared/Cargo.toml > -@@ -20,7 +20,7 @@ profiler_helper = { path = "../../../../tools/profiler/rust-helper", optional = > - mozurl = { path = "../../../../netwerk/base/mozurl" } > - webrender_bindings = { path = "../../../../gfx/webrender_bindings" } > - cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "4ee3b283182926f9a8bb31d603219ff2db70d2fd", optional = true } > --cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="e9e55a4529642da99e64452467ecaef9f7753531", optional = true, features=["pulse-dlopen"] } > -+cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="9695281319fcb3e40db6a32cc0661548d6192f4d", optional = true, features=["pulse-dlopen"] } > - cubeb-sys = { version = "0.9", optional = true, features=["gecko-in-tree"] } > - encoding_glue = { path = "../../../../intl/encoding_glue" } > - audioipc-client = { git = "https://github.com/mozilla/audioipc-2", rev = "03868a0eaf1d46e895353fa6e1f5bcaf7e588e62", optional = true }