git: b335b307e99e - main - www/tor-browser: Update to 13.5a9
Date: Thu, 13 Jun 2024 07:22:09 UTC
The branch main has been updated by jadawin:
URL: https://cgit.FreeBSD.org/ports/commit/?id=b335b307e99eaad3d01656a1b4ebcedcace29426
commit b335b307e99eaad3d01656a1b4ebcedcace29426
Author: Philippe Audeoud <jadawin@FreeBSD.org>
AuthorDate: 2024-06-13 06:19:38 +0000
Commit: Philippe Audeoud <jadawin@FreeBSD.org>
CommitDate: 2024-06-13 06:21:54 +0000
www/tor-browser: Update to 13.5a9
changelog: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/blob/main/projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt?ref_type=heads
PR: 279693
---
www/tor-browser/Makefile | 4 +-
www/tor-browser/distinfo | 6 +-
www/tor-browser/files/patch-llvm18 | 199 ++++++++++++++++++++++++++++
www/tor-browser/files/patch-rust-1.78.0-arm | 64 ---------
4 files changed, 204 insertions(+), 69 deletions(-)
diff --git a/www/tor-browser/Makefile b/www/tor-browser/Makefile
index 528cde7a3288..f6da165b5414 100644
--- a/www/tor-browser/Makefile
+++ b/www/tor-browser/Makefile
@@ -1,11 +1,11 @@
PORTNAME= tor-browser
-DISTVERSION= 13.5a8
+DISTVERSION= 13.5a9
CATEGORIES= www net security wayland
MASTER_SITES= TOR \
https://build-sources.tbb.torproject.org/:source1 \
LOCAL/jsm:source2
MASTER_SITE_SUBDIR= torbrowser/${DISTVERSION}
-DISTNAME= src-firefox-tor-browser-115.11.0esr-13.5-1-build2
+DISTNAME= src-firefox-tor-browser-115.12.0esr-13.5-1-build2
DISTFILES= ${DISTNAME}.tar.xz \
manual_112141.zip:source1 \
firefox-tor-browser-13.0.1-build2-firefox-1l0n-out.tar:source2
diff --git a/www/tor-browser/distinfo b/www/tor-browser/distinfo
index 19573ec93f4b..f8dded9a07c7 100644
--- a/www/tor-browser/distinfo
+++ b/www/tor-browser/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1716961934
-SHA256 (src-firefox-tor-browser-115.11.0esr-13.5-1-build2.tar.xz) = da56a1386c6779387f309e45287b799e2beca69d2c4ea44a9c6d2e01f1161121
-SIZE (src-firefox-tor-browser-115.11.0esr-13.5-1-build2.tar.xz) = 552025576
+TIMESTAMP = 1718132378
+SHA256 (src-firefox-tor-browser-115.12.0esr-13.5-1-build2.tar.xz) = 989d7c6f829ba33b7d908ecb74b437b423da8193c45f5e23050500810da8756c
+SIZE (src-firefox-tor-browser-115.12.0esr-13.5-1-build2.tar.xz) = 552055468
SHA256 (manual_112141.zip) = f767bc5f655f1263623b7af588cfb045d3e41ee019dc7ecd713decc5c1a0ea9b
SIZE (manual_112141.zip) = 26293073
SHA256 (firefox-tor-browser-13.0.1-build2-firefox-1l0n-out.tar) = bbd290cd134e3a114241077ba82582617ab6c5117ff2226381943c504bd09775
diff --git a/www/tor-browser/files/patch-llvm18 b/www/tor-browser/files/patch-llvm18
new file mode 100644
index 000000000000..f88e1eb079a8
--- /dev/null
+++ b/www/tor-browser/files/patch-llvm18
@@ -0,0 +1,199 @@
+From cd10f3ba0d83f34ca978cc4c7a552b72fdd068aa Mon Sep 17 00:00:00 2001
+From: David Tolnay <dtolnay@gmail.com>
+Date: Tue, 28 Nov 2023 11:18:39 -0800
+Subject: [PATCH 1/2] Flatten cursor.kind() matching in Item::parse down to one
+ match
+
+---
+ bindgen/ir/item.rs | 84 ++++++++++++++++++++++------------------------
+ 1 file changed, 41 insertions(+), 43 deletions(-)
+
+diff --git bindgen/ir/item.rs bindgen/ir/item.rs
+index 0556452bfa..4f2d361e51 100644
+--- third_party/rust/bindgen/ir/item.rs
++++ third_party/rust/bindgen/ir/item.rs
+@@ -1427,53 +1427,52 @@
+ }
+ }
+
+- // Guess how does clang treat extern "C" blocks?
+- if cursor.kind() == CXCursor_UnexposedDecl {
+- Err(ParseError::Recurse)
+- } else {
++ match cursor.kind() {
++ // Guess how does clang treat extern "C" blocks?
++ CXCursor_UnexposedDecl => Err(ParseError::Recurse),
++
+ // We allowlist cursors here known to be unhandled, to prevent being
+ // too noisy about this.
+- match cursor.kind() {
+- CXCursor_MacroDefinition |
+- CXCursor_MacroExpansion |
+- CXCursor_UsingDeclaration |
+- CXCursor_UsingDirective |
+- CXCursor_StaticAssert |
+- CXCursor_FunctionTemplate => {
+- debug!(
+- "Unhandled cursor kind {:?}: {:?}",
+- cursor.kind(),
+- cursor
+- );
+- }
+- CXCursor_InclusionDirective => {
+- let file = cursor.get_included_file_name();
+- match file {
+- None => {
+- warn!(
+- "Inclusion of a nameless file in {:?}",
+- cursor
+- );
+- }
+- Some(filename) => {
+- ctx.include_file(filename);
+- }
+- }
+- }
+- _ => {
+- // ignore toplevel operator overloads
+- let spelling = cursor.spelling();
+- if !spelling.starts_with("operator") {
++ CXCursor_MacroDefinition |
++ CXCursor_MacroExpansion |
++ CXCursor_UsingDeclaration |
++ CXCursor_UsingDirective |
++ CXCursor_StaticAssert |
++ CXCursor_FunctionTemplate => {
++ debug!(
++ "Unhandled cursor kind {:?}: {:?}",
++ cursor.kind(),
++ cursor
++ );
++ Err(ParseError::Continue)
++ }
++ CXCursor_InclusionDirective => {
++ let file = cursor.get_included_file_name();
++ match file {
++ None => {
+ warn!(
+- "Unhandled cursor kind {:?}: {:?}",
+- cursor.kind(),
++ "Inclusion of a nameless file in {:?}",
+ cursor
+ );
+ }
++ Some(filename) => {
++ ctx.include_file(filename);
++ }
+ }
++ Err(ParseError::Continue)
++ }
++ _ => {
++ // ignore toplevel operator overloads
++ let spelling = cursor.spelling();
++ if !spelling.starts_with("operator") {
++ warn!(
++ "Unhandled cursor kind {:?}: {:?}",
++ cursor.kind(),
++ cursor
++ );
++ }
++ Err(ParseError::Continue)
+ }
+-
+- Err(ParseError::Continue)
+ }
+ }
+
+
+From 2997017b5a3065b83e9d76f0080d6cb99c94c0c1 Mon Sep 17 00:00:00 2001
+From: David Tolnay <dtolnay@gmail.com>
+Date: Tue, 28 Nov 2023 11:21:18 -0800
+Subject: [PATCH 2/2] Handle CXCursor_LinkageSpec in Clang 18+
+
+---
+ bindgen/ir/item.rs | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git bindgen/ir/item.rs bindgen/ir/item.rs
+index 4f2d361e51..dd587b088b 100644
+--- third_party/rust/bindgen/ir/item.rs
++++ third_party/rust/bindgen/ir/item.rs
+@@ -1433,8 +1433,11 @@ impl Item {
+ }
+
+ match cursor.kind() {
+- // Guess how does clang treat extern "C" blocks?
+- CXCursor_UnexposedDecl => Err(ParseError::Recurse),
++ // On Clang 18+, extern "C" is reported accurately as a LinkageSpec.
++ // Older LLVM treat it as UnexposedDecl.
++ CXCursor_LinkageSpec | CXCursor_UnexposedDecl => {
++ Err(ParseError::Recurse)
++ }
+
+ // We allowlist cursors here known to be unhandled, to prevent being
+ // too noisy about this.
+diff --git dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp
+--- dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp
++++ dom/media/gmp-plugin-openh264/gmp-fake-openh264.cpp
+@@ -97,11 +97,11 @@
+ uint32_t width_;
+ uint32_t height_;
+ uint8_t y_;
+ uint8_t u_;
+ uint8_t v_;
+- uint32_t timestamp_;
++ uint64_t timestamp_;
+ } idr_nalu;
+ };
+ #pragma pack(pop)
+
+ #define ENCODED_FRAME_MAGIC 0x004000b8
+diff --git dom/media/gtest/TestGMPRemoveAndDelete.cpp dom/media/gtest/TestGMPRemoveAndDelete.cpp
+--- dom/media/gtest/TestGMPRemoveAndDelete.cpp
++++ dom/media/gtest/TestGMPRemoveAndDelete.cpp
+@@ -359,11 +359,11 @@
+ uint32_t width_;
+ uint32_t height_;
+ uint8_t y_;
+ uint8_t u_;
+ uint8_t v_;
+- uint32_t timestamp_;
++ uint64_t timestamp_;
+ } idr_nalu;
+ };
+ #pragma pack(pop)
+
+ GMPVideoFrame* absFrame;
+diff --git dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.h dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.h
+--- dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.h
++++ dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.h
+@@ -300,11 +300,11 @@
+
+ struct InputImageData {
+ int64_t timestamp_us;
+ };
+ // Map rtp time -> input image data
+- DataMutex<std::map<uint32_t, InputImageData>> mInputImageMap;
++ DataMutex<std::map<uint64_t, InputImageData>> mInputImageMap;
+
+ MediaEventProducer<uint64_t> mInitPluginEvent;
+ MediaEventProducer<uint64_t> mReleasePluginEvent;
+ };
+
+diff --git dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp
+--- dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp
++++ dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp
+@@ -538,11 +538,11 @@
+ return;
+ }
+
+ webrtc::VideoFrameType ft;
+ GmpFrameTypeToWebrtcFrameType(aEncodedFrame->FrameType(), &ft);
+- uint32_t timestamp = (aEncodedFrame->TimeStamp() * 90ll + 999) / 1000;
++ uint64_t timestamp = (aEncodedFrame->TimeStamp() * 90ll + 999) / 1000;
+
+ GMP_LOG_DEBUG("GMP Encoded: %" PRIu64 ", type %d, len %d",
+ aEncodedFrame->TimeStamp(), aEncodedFrame->BufferType(),
+ aEncodedFrame->Size());
+
+
diff --git a/www/tor-browser/files/patch-rust-1.78.0-arm b/www/tor-browser/files/patch-rust-1.78.0-arm
deleted file mode 100644
index 7db8038cfaeb..000000000000
--- a/www/tor-browser/files/patch-rust-1.78.0-arm
+++ /dev/null
@@ -1,64 +0,0 @@
-Relevant bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1882291
-
-
-diff --git a/Cargo.lock b/Cargo.lock
---- Cargo.lock
-+++ Cargo.lock
-@@ -4274,10 +4274,11 @@
- [[package]]
- name = "qcms"
- version = "0.2.0"
- dependencies = [
- "libc",
-+ "version_check",
- ]
-
- [[package]]
- name = "qlog"
- version = "0.4.0"
-diff --git a/gfx/qcms/Cargo.toml b/gfx/qcms/Cargo.toml
---- gfx/qcms/Cargo.toml
-+++ gfx/qcms/Cargo.toml
-@@ -18,5 +18,8 @@
- iccv4-enabled = []
- cmyk = []
-
- [dependencies]
- libc = {version = "0.2", optional = true }
-+
-+[build-dependencies]
-+version_check = "0.9"
-diff --git a/gfx/qcms/build.rs b/gfx/qcms/build.rs
-new file mode 100644
---- /dev/null
-+++ gfx/qcms/build.rs
-@@ -0,0 +1,7 @@
-+extern crate version_check as rustc;
-+
-+fn main() {
-+ if rustc::is_min_version("1.78.0").unwrap_or(false) {
-+ println!("cargo:rustc-cfg=stdsimd_split");
-+ }
-+}
-diff --git a/gfx/qcms/src/lib.rs b/gfx/qcms/src/lib.rs
---- gfx/qcms/src/lib.rs
-+++ gfx/qcms/src/lib.rs
-@@ -5,13 +5,15 @@
- #![allow(non_camel_case_types)]
- #![allow(non_snake_case)]
- #![allow(non_upper_case_globals)]
- // These are needed for the neon SIMD code and can be removed once the MSRV supports the
- // instrinsics we use
--#![cfg_attr(feature = "neon", feature(stdsimd))]
-+#![cfg_attr(all(stdsimd_split, target_arch = "arm", feature = "neon"), feature(stdarch_arm_neon_intrinsics))]
-+#![cfg_attr(all(stdsimd_split, target_arch = "arm", feature = "neon"), feature(stdarch_arm_feature_detection))]
-+#![cfg_attr(all(not(stdsimd_split), target_arch = "arm", feature = "neon"), feature(stdsimd))]
- #![cfg_attr(
-- feature = "neon",
-+ all(target_arch = "arm", feature = "neon"),
- feature(arm_target_feature, raw_ref_op)
-
- )]
-
- /// These values match the Rendering Intent values from the ICC spec
-