Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 2021 20:34:59 GMT
From:      Christoph Moench-Tegeder <cmt@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org
Subject:   git: a2bd8616995c - 2021Q4 - www/firefox: update to 95.0 (rc1)
Message-ID:  <202111292034.1ATKYxwq054893@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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)
---
 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 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202111292034.1ATKYxwq054893>