sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (127bc8dfab28303f48ccd9ead885bd92809486cb)
- From: Pavel Vinogradov <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
- Subject: [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (127bc8dfab28303f48ccd9ead885bd92809486cb)
- Date: Tue, 10 Nov 2026 00:16:30 +0000
GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:
http/firefox/DEPENDS
| 2
http/firefox/DETAILS
| 4
http/firefox/HISTORY
| 5
http/firefox/patches/0025-bgo-981931-musl-unkwown-type-name-uint32_t-fix.patch
| 9
http/firefox/patches/0026-bgo-981812-bindgen-libcxx-fix.patch
| 301 ----------
http/firefox/patches/0027-bmo-2074346-musl-fix-parakeet-cpp.patch
| 11
http/firefox/patches/0028-bmo-2080242-include-WidgetUtilsGtk.h-for-wayland-or-nodbus-builds.patch
| 32 -
http/firefox/patches/0029-bmo-2084134-use-full-color-range-by-default-for-wayland.patch
| 105 ---
http/firefox/patches/0100-alpine-lfs64-no-stat64-on-musl.patch
| 42 -
http/firefox/patches/0200-disable-rust-networking-test.patch
| 32 -
10 files changed, 8 insertions(+), 535 deletions(-)
New commits:
commit 127bc8dfab28303f48ccd9ead885bd92809486cb
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>
http/firefox: version 160.0, SECURITY_PATCH++
diff --git a/http/firefox/DEPENDS b/http/firefox/DEPENDS
index c98b8ba..183928d 100755
--- a/http/firefox/DEPENDS
+++ b/http/firefox/DEPENDS
@@ -50,7 +50,7 @@ depends libwebp "--with-system-webp"
&&
depends nspr "--with-system-nspr" &&
-local NSS_BRANCH="3.131" &&
+local NSS_BRANCH="3.132" &&
if spell_ok nss &&
is_version_less "$(installed_version nss)" "${NSS_BRANCH}"; then
depends -sub "${NSS_BRANCH}" nss "--with-system-nss"
diff --git a/http/firefox/DETAILS b/http/firefox/DETAILS
index bbdfef1..705edeb 100755
--- a/http/firefox/DETAILS
+++ b/http/firefox/DETAILS
@@ -1,6 +1,6 @@
SPELL=firefox
- VERSION=159.0.1
- SECURITY_PATCH=237
+ VERSION=160.0
+ SECURITY_PATCH=238
SOURCE="${SPELL}-${VERSION}.source.tar.xz"
SOURCE_URL[0]="http://releases.mozilla.org/pub/${SPELL}/releases/${VERSION}/source/${SOURCE}"
SOURCE2="${SOURCE}.asc"
diff --git a/http/firefox/HISTORY b/http/firefox/HISTORY
index f9a474e..28f4a56 100644
--- a/http/firefox/HISTORY
+++ b/http/firefox/HISTORY
@@ -1,3 +1,8 @@
+2026-11-09 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: version 160.0, SECURITY_PATCH++
+ * DEPENDS: nss >= 3.132
+ * patches/*: updated
+
2026-11-03 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 159.0.1
* patches/*: updated
diff --git
a/http/firefox/patches/0025-bgo-981931-musl-unkwown-type-name-uint32_t-fix.patch
b/http/firefox/patches/0025-bgo-981931-musl-unkwown-type-name-uint32_t-fix.patch
deleted file mode 100644
index 3590e71..0000000
---
a/http/firefox/patches/0025-bgo-981931-musl-unkwown-type-name-uint32_t-fix.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/dom/base/PrefetchCandidates.h 2026-08-24 16:18:13.000000000 -0400
-+++ b/dom/base/PrefetchCandidates.h 2026-09-04 08:15:11.208426255 -0400
-@@ -5,6 +5,7 @@
- #ifndef mozilla_dom_PrefetchCandidates_h
- #define mozilla_dom_PrefetchCandidates_h
-
-+#include <stdint.h>
- #include "mozilla/UniquePtr.h"
- #include "nsTArrayForwardDeclare.h"
diff --git a/http/firefox/patches/0026-bgo-981812-bindgen-libcxx-fix.patch
b/http/firefox/patches/0026-bgo-981812-bindgen-libcxx-fix.patch
deleted file mode 100644
index ec96d31..0000000
--- a/http/firefox/patches/0026-bgo-981812-bindgen-libcxx-fix.patch
+++ /dev/null
@@ -1,301 +0,0 @@
-From 0acdfdd74054caec85a75ba20c7ac236f6ebd893 Mon Sep 17 00:00:00 2001
-From: Erick Tryzelaar <etryzelaar AT google.com>
-Date: Thu, 30 Jul 2026 20:53:45 +0000
-Subject: [PATCH] Fix variadic template union layout recursion and generic
- field codegen
-
-In llvm/llvm-project#185449, LLVM's libc++ changed a header to use a
-recursive self-referential type, which looks approximately like:
-
-```
-template <class A0, class... As> union RUnion { A0 arg; RUnion<As...> u; };
-template <class A> union RUnion<A> { A arg; };
-struct Wrap { RUnion<int, float> u; };
-```
-
-This code caused bindgen to panic. The problem seems to be that bindgen
-can't handle the recursive self-referential union. Digging into the
-code, it seems that when this type is being parsed, `with_loaned_item`
-removes the type from the context. Later on, when parsing the
-CompKind::Union, CompInfo::layout would call resolve_type on an item
-that was loaned out, so it panics. This bug was filed in #3397.
-
-This patch avoids that by first keeping track of which items we have
-loaed out with `with_loaned_item`, then changing `safe_resolve_type` to
-panic if we don't have an entry for that type, or it has been loaned
-out. Then we've updated the call sites to use it.
-
-This also adds LLVM-21 tests, since clang generates different code than
-LLVM-20.
-
-Test: cargo test -p bindgen-tests
-
-TAG=agy
-CONV=619bdf72-4d2d-494f-8cb0-f61a6db9674c
----
- .github/workflows/bindgen.yml | 8 +--
- bindgen-tests/Cargo.toml | 1 +
- .../libclang-21/issue-544-stylo-creduce-2.rs | 17 +++++
- .../tests/libclang-21/nsBaseHashtable.rs | 57 +++++++++++++++++
- .../tests/recursive_alias_canonicalization.rs | 32 ++++++++++
- .../tests/expectations/tests/transform-op.rs | 64 +++----------------
- .../tests/variadic_template_union.rs | 59 +++++++++++++++++
- .../variadic_template_union_alignment.rs | 53 +++++++++++++++
- .../recursive_alias_canonicalization.hpp | 11 ++++
- .../tests/headers/variadic_template_union.hpp | 9 +++
- .../variadic_template_union_alignment.hpp | 33 ++++++++++
- bindgen-tests/tests/tests.rs | 10 ++-
- bindgen/ir/comp.rs | 58 ++++++++++++++++-
- bindgen/ir/context.rs | 52 +++++++++++++--
- bindgen/ir/enum_ty.rs | 4 +-
- bindgen/ir/ty.rs | 14 ++--
- 16 files changed, 402 insertions(+), 80 deletions(-)
- create mode 100644
bindgen-tests/tests/expectations/tests/libclang-21/issue-544-stylo-creduce-2.rs
- create mode 100644
bindgen-tests/tests/expectations/tests/libclang-21/nsBaseHashtable.rs
- create mode 100644
bindgen-tests/tests/expectations/tests/recursive_alias_canonicalization.rs
- create mode 100644
bindgen-tests/tests/expectations/tests/variadic_template_union.rs
- create mode 100644
bindgen-tests/tests/expectations/tests/variadic_template_union_alignment.rs
- create mode 100644
bindgen-tests/tests/headers/recursive_alias_canonicalization.hpp
- create mode 100644 bindgen-tests/tests/headers/variadic_template_union.hpp
- create mode 100644
bindgen-tests/tests/headers/variadic_template_union_alignment.hpp
-
-diff --git a/third_party/rust/bindgen/ir/comp.rs
b/third_party/rust/bindgen/ir/comp.rs
-index 2760775cea..5fb4d8b73d 100644
---- a/third_party/rust/bindgen/ir/comp.rs
-+++ b/third_party/rust/bindgen/ir/comp.rs
-@@ -1082,6 +1082,12 @@ impl CompInfo {
- return None;
- }
-
-+ // Uninstantiated template unions do not have layout in C++ and can
cause
-+ // infinite layout recursion if fields reference the union template.
-+ if self.kind == CompKind::Union && !self.template_params.is_empty()
{
-+ return None;
-+ }
-+
- let mut max_size = 0;
- // Don't allow align(0)
- let mut max_align = 1;
-@@ -1707,13 +1713,61 @@ impl CompInfo {
- ctx.options().default_non_copy_union_style
- };
-
-+ let field_can_copy = |field_data: &FieldData| -> bool {
-+ let ty = field_data.ty();
-+ if !ty.can_derive_copy(ctx) {
-+ return false;
-+ }
-+ if ctx.in_codegen_phase() &&
-+ ctx.uses_any_template_parameters(ty.into())
-+ {
-+ return false;
-+ }
-+ true
-+ };
-+
- let all_can_copy = self.fields().iter().all(|f| match *f {
-+ Field::DataMember(ref field_data) => field_can_copy(field_data),
-+ Field::Bitfields(_) => true,
-+ });
-+
-+ let has_generic_params = self.fields().iter().any(|f| match *f {
- Field::DataMember(ref field_data) => {
-- field_data.ty().can_derive_copy(ctx)
-+ ctx.in_codegen_phase() &&
-+ ctx.uses_any_template_parameters(field_data.ty().into())
- }
-- Field::Bitfields(_) => true,
-+ Field::Bitfields(_) => false,
- });
-
-+ let has_by_value_recursive_field =
-+ self.fields().iter().any(|f| match *f {
-+ Field::DataMember(ref field_data) => {
-+ let mut ty = ctx.safe_resolve_type(field_data.ty());
-+ while let Some(t) = ty {
-+ if t.name().is_some_and(|n| name.ends_with(n)) {
-+ return true;
-+ }
-+ match *t.kind() {
-+ super::ty::TypeKind::ResolvedTypeRef(inner) |
-+ super::ty::TypeKind::Alias(inner) => {
-+ ty = ctx.safe_resolve_type(inner);
-+ }
-+ _ => return false,
-+ }
-+ }
-+ false
-+ }
-+ Field::Bitfields(_) => false,
-+ });
-+
-+ // If the union has generic template parameters and does not
contain a recursive
-+ // template field by value (which would produce E0072 in Rust),
emit as a native
-+ // Rust union with ManuallyDrop<T> fields ((true, false)) so the
Rust compiler
-+ // computes the correct size and alignment upon instantiation.
-+ if has_generic_params && !has_by_value_recursive_field {
-+ return (true, false);
-+ }
-+
- if !all_can_copy && union_style ==
NonCopyUnionStyle::BindgenWrapper {
- return (false, false);
- }
-diff --git a/third_party/rust/bindgen/ir/context.rs
b/third_party/rust/bindgen/ir/context.rs
-index b5b6b4a000..3d5f6a8e79 100644
---- a/third_party/rust/bindgen/ir/context.rs
-+++ b/third_party/rust/bindgen/ir/context.rs
-@@ -349,6 +349,13 @@ pub(crate) struct BindgenContext {
- /// potentially break that assumption.
- currently_parsed_types: Vec<PartialType>,
-
-+ /// A stack of items currently loaned out by `with_loaned_item`.
-+ ///
-+ /// This allows us to distinguish between:
-+ /// 1) An existing item that is currently being traversed recursively.
-+ /// 2) An unknown or invalid item ID (which should panic).
-+ currently_loaned_items: Vec<ItemId>,
-+
- /// A map with all the already parsed macro names. This is done to avoid
- /// hard errors while parsing duplicated macros, as well to allow macro
- /// expression parsing.
-@@ -586,6 +593,7 @@ If you encounter an error missing from this list, please
file an issue or a PR!"
- current_module: root_module_id,
- semantic_parents: Default::default(),
- currently_parsed_types: vec![],
-+ currently_loaned_items: vec![],
- parsed_macros: Default::default(),
- replacements: Default::default(),
- collected_typerefs: false,
-@@ -984,9 +992,13 @@ If you encounter an error missing from this list,
please file an issue or a PR!"
- F: (FnOnce(&BindgenContext, &mut Item) -> T),
- {
- let mut item = self.items[id.0].take().unwrap();
-+ self.currently_loaned_items.push(id);
-
- let result = f(self, &mut item);
-
-+ let popped = self.currently_loaned_items.pop();
-+ debug_assert_eq!(popped, Some(id));
-+
- let existing = self.items[id.0].replace(item);
- assert!(existing.is_none());
-
-@@ -1464,13 +1476,38 @@ If you encounter an error missing from this list,
please file an issue or a PR!"
- self.resolve_item(func_id).kind().expect_function()
- }
-
-- /// Resolve the given `ItemId` as a type, or `None` if there is no item
with
-- /// the given ID.
-+ /// Returns `true` if `id` is currently loaned out by
`with_loaned_item`.
-+ pub(crate) fn is_currently_loaned_item<Id: Into<ItemId>>(
-+ &self,
-+ id: Id,
-+ ) -> bool {
-+ self.currently_loaned_items.contains(&id.into())
-+ }
-+
-+ /// Resolve the given `ItemId` as a type.
-+ ///
-+ /// Returns `Some(&Type)` if the item resolves to a type.
-+ /// Returns `None` if the item is currently loaned out by
`with_loaned_item`
-+ /// (indicating an intentional recursive reference).
- ///
-- /// Panics if the ID resolves to an item that is not a type.
-+ /// Panics if bindgen has no awareness of the given type ID during
codegen.
- pub(crate) fn safe_resolve_type(&self, type_id: TypeId) ->
Option<&Type> {
-- self.resolve_item_fallible(type_id)
-- .map(|t| t.kind().expect_type())
-+ let id: ItemId = type_id.into();
-+ match self.items.get(id.0) {
-+ Some(Some(item)) => item.kind().as_type(),
-+ // When an item slot is `None` because it is currently loaned
out by
-+ // `with_loaned_item`, intentionally return `None` to signal
recursion.
-+ Some(None) if self.is_currently_loaned_item(id) => None,
-+ _ => {
-+ // During AST parsing and template resolution
(`!self.in_codegen_phase()`),
-+ // forward-declared items or template references may not
yet be populated
-+ // in `self.items`, so returning `None` is expected. During
codegen,
-+ // however, all valid IR items must be present in
`self.items`.
-+ assert!(!self.in_codegen_phase(), "Not an item:
{type_id:?}");
-+
-+ None
-+ }
-+ }
- }
-
- /// Resolve the given `ItemId` into an `Item`, or `None` if no such item
-@@ -1624,8 +1661,9 @@ If you encounter an error missing from this list,
please file an issue or a PR!"
- ty: &clang::Type,
- location: Cursor,
- ) -> Option<TypeId> {
-- let num_expected_args =
-- self.resolve_type(template).num_self_template_params(self);
-+ let num_expected_args = self
-+ .safe_resolve_type(template)
-+ .map_or(0, |t| t.num_self_template_params(self));
- if num_expected_args == 0 {
- warn!(
- "Tried to instantiate a template for which we could not \
-diff --git a/third_party/rust/bindgen/ir/enum_ty.rs
b/third_party/rust/bindgen/ir/enum_ty.rs
-index 8566622100..20b2de73b3 100644
---- a/third_party/rust/bindgen/ir/enum_ty.rs
-+++ b/third_party/rust/bindgen/ir/enum_ty.rs
-@@ -71,8 +71,8 @@ impl Enum {
- .and_then(|et| Item::from_ty(&et, declaration, None, ctx).ok());
- let mut variants = vec![];
-
-- let variant_ty =
-- repr.and_then(|r| ctx.resolve_type(r).safe_canonical_type(ctx));
-+ let variant_ty = repr
-+ .and_then(|r|
ctx.safe_resolve_type(r)?.safe_canonical_type(ctx));
- let is_bool = variant_ty.is_some_and(Type::is_bool);
-
- // Assume signedness since the default type by the C standard is an
int.
-diff --git a/third_party/rust/bindgen/ir/ty.rs
b/third_party/rust/bindgen/ir/ty.rs
-index 805138b7a9..8c0a2fd0df 100644
---- a/third_party/rust/bindgen/ir/ty.rs
-+++ b/third_party/rust/bindgen/ir/ty.rs
-@@ -209,9 +209,9 @@ impl Type {
- None
- }
- }
-- TypeKind::ResolvedTypeRef(inner) => {
-- ctx.resolve_type(inner).is_incomplete_array(ctx)
-- }
-+ TypeKind::ResolvedTypeRef(inner) => ctx
-+ .safe_resolve_type(inner)
-+ .and_then(|t| t.is_incomplete_array(ctx)),
- _ => None,
- }
- }
-@@ -223,7 +223,7 @@ impl Type {
- TypeKind::Comp(ref ci) => ci.layout(ctx),
- TypeKind::Array(inner, 0) => Some(Layout::new(
- 0,
-- ctx.resolve_type(inner).layout(ctx)?.align,
-+ ctx.safe_resolve_type(inner)?.layout(ctx)?.align,
- )),
- // FIXME(emilio): This is a hack for anonymous union
templates.
- // Use the actual pointer size!
-@@ -232,7 +232,7 @@ impl Type {
- ctx.target_pointer_size(),
- )),
- TypeKind::ResolvedTypeRef(inner) => {
-- ctx.resolve_type(inner).layout(ctx)
-+ ctx.safe_resolve_type(inner)?.layout(ctx)
- }
- _ => None,
- }
-@@ -327,10 +327,10 @@ impl Type {
- TypeKind::ResolvedTypeRef(inner) |
- TypeKind::Alias(inner) |
- TypeKind::TemplateAlias(inner, _) => {
-- ctx.resolve_type(inner).safe_canonical_type(ctx)
-+ ctx.safe_resolve_type(inner)?.safe_canonical_type(ctx)
- }
- TypeKind::TemplateInstantiation(ref inst) => ctx
-- .resolve_type(inst.template_definition())
-+ .safe_resolve_type(inst.template_definition())?
- .safe_canonical_type(ctx),
-
- TypeKind::UnresolvedTypeRef(..) => None,
diff --git
a/http/firefox/patches/0027-bmo-2074346-musl-fix-parakeet-cpp.patch
b/http/firefox/patches/0027-bmo-2074346-musl-fix-parakeet-cpp.patch
deleted file mode 100644
index 30b12ea..0000000
--- a/http/firefox/patches/0027-bmo-2074346-musl-fix-parakeet-cpp.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/third_party/parakeet.cpp/src/backend.hpp
b/third_party/parakeet.cpp/src/backend.hpp
-index d534ec9..f17ec23 100644
---- a/third_party/parakeet.cpp/src/backend.hpp
-+++ b/third_party/parakeet.cpp/src/backend.hpp
-@@ -1,5 +1,6 @@
- #pragma once
- #include <cstddef>
-+#include <cstdint>
- #include <functional>
- #include <string>
- #include <vector>
diff --git
a/http/firefox/patches/0028-bmo-2080242-include-WidgetUtilsGtk.h-for-wayland-or-nodbus-builds.patch
b/http/firefox/patches/0028-bmo-2080242-include-WidgetUtilsGtk.h-for-wayland-or-nodbus-builds.patch
deleted file mode 100644
index bf2e11b..0000000
---
a/http/firefox/patches/0028-bmo-2080242-include-WidgetUtilsGtk.h-for-wayland-or-nodbus-builds.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e5d3224118cacf44e21f1e576507d19f9a6110c0 Mon Sep 17 00:00:00 2001
-From: Kui-Feng Lee <thinker.li AT gmail.com>
-Date: Mon, 12 Oct 2026 09:23:57 +0000
-Subject: [PATCH] Bug 2080242 - Include WidgetUtilsGtk.h for Wayland builds in
- nsAppShell.cpp. r=stransky,gtk-reviewers,emilio
-
-nsAppShell::IsSessionRestoreSupported() calls IsGnomeDesktopEnvironment()
-under MOZ_WAYLAND, but WidgetUtilsGtk.h, which declares it, was included
-under MOZ_ENABLE_DBUS only. Builds with dbus disabled fail to compile.
-
-Include the header when either is enabled: the dbus code uses
-IsCancelledGError() and the Wayland code uses IsGnomeDesktopEnvironment().
-
-Differential Revision: https://phabricator.services.mozilla.com/D332621
----
- widget/gtk/nsAppShell.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
-index 84f3b84894de1..c12edd495e9d7 100644
---- a/widget/gtk/nsAppShell.cpp
-+++ b/widget/gtk/nsAppShell.cpp
-@@ -29,7 +29,8 @@
- #include "prenv.h"
- #ifdef MOZ_ENABLE_DBUS
- # include <gio/gio.h>
--
-+#endif
-+#if defined(MOZ_ENABLE_DBUS) || defined(MOZ_WAYLAND)
- # include "WidgetUtilsGtk.h"
- #endif
- #include "HeadlessScreenHelper.h"
diff --git
a/http/firefox/patches/0029-bmo-2084134-use-full-color-range-by-default-for-wayland.patch
b/http/firefox/patches/0029-bmo-2084134-use-full-color-range-by-default-for-wayland.patch
deleted file mode 100644
index 3515d59..0000000
---
a/http/firefox/patches/0029-bmo-2084134-use-full-color-range-by-default-for-wayland.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-
-# HG changeset patch
-# User stransky <stransky AT redhat.com>
-# Date 1792577994 0
-# Node ID 2813b702a77384ef089652d759fc1d29947000ba
-# Parent db0240a6cd187c744f85aaf9b27e6dd4f03b66f2
-Bug 2084134 [Wayland] Use full color range by default for wl_surface
r=emilio,gtk-reviewers
-
-Differential Revision: https://phabricator.services.mozilla.com/D335938
-
-
-diff --git a/widget/gtk/BufferSurface.h b/widget/gtk/BufferSurface.h
---- a/widget/gtk/BufferSurface.h
-+++ b/widget/gtk/BufferSurface.h
-@@ -247,17 +247,17 @@ class BufferSurface {
- // Textures and EGLImages created over surface planes by CreateTextures().
- // They're owned by mGL context and released by ReleaseTextures().
- EGLImageKHR mEGLImage[BUFFER_SURFACE_PLANES] = {};
- GLuint mTexture[BUFFER_SURFACE_PLANES] = {};
-
- // Set when underlying surface memory was changed.
- bool mTextureIsDirty = false;
-
-- mozilla::gfx::ColorRange mColorRange = mozilla::gfx::ColorRange::LIMITED;
-+ mozilla::gfx::ColorRange mColorRange = mozilla::gfx::ColorRange::FULL;
- mozilla::gfx::YUVColorSpace mColorSpace =
- mozilla::gfx::YUVColorSpace::Default;
- mozilla::gfx::ColorSpace2 mColorPrimaries =
- mozilla::gfx::ColorSpace2::UNKNOWN;
- mozilla::gfx::TransferFunction mTransferFunction =
- mozilla::gfx::TransferFunction::Default;
- mozilla::gfx::HDRMetadata mHDRMetadata{};
- // Chroma location in wp_color_representation_surface_v1_chroma_location
-diff --git a/widget/gtk/DMABufSurface.cpp b/widget/gtk/DMABufSurface.cpp
---- a/widget/gtk/DMABufSurface.cpp
-+++ b/widget/gtk/DMABufSurface.cpp
-@@ -2671,17 +2671,16 @@ already_AddRefed<DMABufSurfaceRGBA> DMAB
- if (vao) {
- gl->fBindVertexArray(oldVAO);
- gl->fDeleteVertexArrays(1, &vao);
- }
- gl->fDeleteBuffers(1, &vbo);
-
- target->SetTransferFunction(gfx::TransferFunction::PQ);
- target->SetYUVColorSpace(gfx::YUVColorSpace::BT2020);
-- target->SetColorRange(gfx::ColorRange::FULL);
- target->SetColorPrimaries(gfx::ColorSpace2::BT2020);
- target->SetHDRMetadata(GetHDRMetadata());
-
- // Add fence to commit all changes before we derive wl_buffer from it.
- target->FenceSet();
-
- // We're finished here, keep dmabuf memory only.
- // TODO: skip/move?
-diff --git a/widget/gtk/SHMBufSurface.cpp b/widget/gtk/SHMBufSurface.cpp
---- a/widget/gtk/SHMBufSurface.cpp
-+++ b/widget/gtk/SHMBufSurface.cpp
-@@ -215,16 +215,17 @@ already_AddRefed<DMABufSurface> SHMBufSu
- if (!surface) {
- LOGDMABUF("SHMBufSurfaceRGBA::UploadToDMABufSurface() failed!");
- return nullptr;
- }
- LOGDMABUF("SHMBufSurfaceRGBA::UploadToDMABufSurface() buffer [%p]",
- GetImageData());
- surface->SetColorPrimaries(mColorPrimaries);
- surface->SetTransferFunction(mTransferFunction);
-+ surface->SetColorRange(mColorRange);
- surface->DisableRecycle();
- return surface.forget();
- }
-
- bool SHMBufSurfaceRGBA::UploadTexture(int aPlane, bool aNeedInit) {
- MOZ_DIAGNOSTIC_ASSERT(!aPlane, "SHM RGBA surface has one plane only!");
-
- LOGDMABUF("SHMBufSurfaceRGBA::UploadTexture()");
-diff --git a/widget/gtk/WaylandSurface.cpp b/widget/gtk/WaylandSurface.cpp
---- a/widget/gtk/WaylandSurface.cpp
-+++ b/widget/gtk/WaylandSurface.cpp
-@@ -1518,22 +1518,21 @@ static const struct wp_image_description
- void WaylandSurface::SetColorRepresentationLocked(
- const WaylandSurfaceLock& aProofOfLock, int aWLColorCoeficients,
- bool aFullRange, uint32_t aWPChromaLocation) {
- auto* colorRepresentation =
- WaylandDisplayGet()->GetColorRepresentationManager();
- if (!colorRepresentation) {
- return;
- }
--
- LOGWAYLAND(
- "WaylandSurface::SetColorRepresentationLocked() color coefficients %s
"
-- "full range %d",
-- BufferSurface::GetWLColorCoeficientsName(aWLColorCoeficients),
-- aFullRange);
-+ "full range %d aWPChromaLocation %d",
-+ BufferSurface::GetWLColorCoeficientsName(aWLColorCoeficients),
aFullRange,
-+ aWPChromaLocation);
-
- MOZ_DIAGNOSTIC_ASSERT(!mColorRepresentationSurface);
- mColorRepresentationSurface =
WUniquePtr<wp_color_representation_surface_v1>(
- wp_color_representation_manager_v1_get_surface(colorRepresentation,
- mSurface.get()));
- if (aWPChromaLocation) {
- wp_color_representation_surface_v1_set_chroma_location(
- mColorRepresentationSurface.get(), aWPChromaLocation);
-
diff --git a/http/firefox/patches/0100-alpine-lfs64-no-stat64-on-musl.patch
b/http/firefox/patches/0100-alpine-lfs64-no-stat64-on-musl.patch
deleted file mode 100644
index d9c6739..0000000
--- a/http/firefox/patches/0100-alpine-lfs64-no-stat64-on-musl.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-musl dropped the LFS64 interfaces in 1.2.4, so the stat64 paths cannot be
-built there. From Alpine's community/firefox lfs64.patch, except that the
-conditions are keyed on __GLIBC__ rather than switched off outright: 32-bit
-glibc still needs stat64 for large files, and the sandbox broker still needs
-the matching struct layout.
-
---- a/xpcom/io/nsLocalFileUnix.h
-+++ b/xpcom/io/nsLocalFileUnix.h
-@@ -19,7 +19,8 @@
-
- // stat64 and lstat64 are deprecated on OS X. Normal stat and lstat are
- // 64-bit by default on OS X 10.6+.
--#if defined(HAVE_STAT64) && defined(HAVE_LSTAT64) && !defined(XP_DARWIN)
-+#if defined(__GLIBC__) && defined(HAVE_STAT64) && \
-+ defined(HAVE_LSTAT64) && !defined(XP_DARWIN)
- # define STAT stat64
- # define LSTAT lstat64
- # define HAVE_STATS64 1
---- a/mozglue/baseprofiler/core/shared-libraries-linux.cc
-+++ b/mozglue/baseprofiler/core/shared-libraries-linux.cc
-@@ -177,7 +177,8 @@
- return false;
- }
-
--#if defined(__x86_64__) || defined(__aarch64__) || \
-+#if !defined(__GLIBC__) || defined(__x86_64__) || \
-+ defined(__aarch64__) || \
- (defined(__mips__) && _MIPS_SIM == _ABI64) || \
- !(defined(GP_OS_linux) || defined(GP_OS_android))
-
---- a/security/sandbox/linux/broker/SandboxBrokerUtils.h
-+++ b/security/sandbox/linux/broker/SandboxBrokerUtils.h
-@@ -14,7 +14,8 @@
- // calls. We'll intercept those and handle them in the stat functions
- // but must be sure to use the right structure layout.
-
--#if defined(__NR_stat64) || defined(__NR_fstatat64)
-+#if defined(__GLIBC__) && \
-+ (defined(__NR_stat64) || defined(__NR_fstatat64))
- typedef struct stat64 statstruct;
- # define statsyscall stat64
- # define lstatsyscall lstat64
diff --git a/http/firefox/patches/0200-disable-rust-networking-test.patch
b/http/firefox/patches/0200-disable-rust-networking-test.patch
deleted file mode 100644
index d2d2016..0000000
--- a/http/firefox/patches/0200-disable-rust-networking-test.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
---- a/config/makefiles/rust.mk
-+++ b/config/makefiles/rust.mk
-@@ -328,17 +328,17 @@ force-cargo-library-build:
- # the chance of proxy bypasses originating from rust code.
- # The check only works when rust code is built with -Clto but without
MOZ_LTO_RUST_CROSS.
- # Sanitizers and sancov also fail because compiler-rt hooks network
functions.
--ifndef MOZ_PROFILE_GENERATE
--ifeq ($(OS_ARCH), Linux)
--ifeq (,$(RUST_SANCOV_FLAGS)$(MOZ_ASAN)$(MOZ_TSAN)$(MOZ_UBSAN))
--ifndef MOZ_LTO_RUST_CROSS
--ifdef RUST_LIBRARY_LTO
-- $(call py_action,check_binary $(@F),--networking $(RUST_LIBRARY_FILE))
--endif
--endif
--endif
--endif
--endif
-+# ifndef MOZ_PROFILE_GENERATE
-+# ifeq ($(OS_ARCH), Linux)
-+# ifeq (,$(RUST_SANCOV_FLAGS)$(MOZ_ASAN)$(MOZ_TSAN)$(MOZ_UBSAN))
-+# ifndef MOZ_LTO_RUST_CROSS
-+# ifdef RUST_LIBRARY_LTO
-+# $(call py_action,check_binary $(@F),--networking $(RUST_LIBRARY_FILE))
-+# endif
-+# endif
-+# endif
-+# endif
-+# endif
-
- $(eval $(call
make_cargo_rule,$(RUST_LIBRARY_FILE),force-cargo-library-build))
-
- [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (127bc8dfab28303f48ccd9ead885bd92809486cb), Pavel Vinogradov, 11/09/2026
Archive powered by MHonArc 2.6.24.