diff --git a/mozilla-1882291.patch b/mozilla-1882291.patch new file mode 100644 index 0000000..f8f4a70 --- /dev/null +++ b/mozilla-1882291.patch @@ -0,0 +1,62 @@ + +# HG changeset patch +# User Jeff Muizelaar +# Date 1709608348 0 +# Node ID e9b01ce8e2fe053ffef77505f05cf18ed0b9fcd2 +# Parent 171664703051d94e1be995b74ad97a9dff5beea5 +Bug 1882291. Switch to stdarch_arm_neon_intrinsics feature on rust >=1.78. r=glandium + +We only need this on ARM32 because the ARM64 intrinsics are stable. + +stdarch_arm_neon_intrinsics was split out from stdsimd here: +https://github.com/rust-lang/stdarch/pull/1486 + +Differential Revision: https://phabricator.services.mozilla.com/D203039 + +erAck: backported to 115.11.0 + +--- thunderbird-115.11.0/Cargo.lock.mozilla-1882291 2024-05-15 19:13:32.470620205 +0200 ++++ thunderbird-115.11.0/Cargo.lock 2024-05-15 19:16:06.064291008 +0200 +@@ -4276,6 +4276,7 @@ name = "qcms" + version = "0.2.0" + dependencies = [ + "libc", ++ "version_check", + ] + + [[package]] +--- thunderbird-115.11.0/gfx/qcms/build.rs.mozilla-1882291 2024-05-15 19:13:32.494620154 +0200 ++++ thunderbird-115.11.0/gfx/qcms/build.rs 2024-05-15 19:13:32.494620154 +0200 +@@ -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"); ++ } ++} +--- thunderbird-115.11.0/gfx/qcms/Cargo.toml.mozilla-1882291 2024-05-13 17:06:54.000000000 +0200 ++++ thunderbird-115.11.0/gfx/qcms/Cargo.toml 2024-05-15 19:13:32.470620205 +0200 +@@ -20,3 +20,6 @@ cmyk = [] + + [dependencies] + libc = {version = "0.2", optional = true } ++ ++[build-dependencies] ++version_check = "0.9" +--- thunderbird-115.11.0/gfx/qcms/src/lib.rs.mozilla-1882291 2024-05-13 17:06:54.000000000 +0200 ++++ thunderbird-115.11.0/gfx/qcms/src/lib.rs 2024-05-15 19:13:32.495620152 +0200 +@@ -7,9 +7,11 @@ + #![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) + + )] diff --git a/thunderbird.spec b/thunderbird.spec index 3fff072..1e3e7e5 100644 --- a/thunderbird.spec +++ b/thunderbird.spec @@ -110,6 +110,8 @@ Patch103: rhbz-1219542-s390-build.patch Patch422: 0001-GLIBCXX-fix-for-GCC-12.patch Patch425: build-disable-elfhack.patch Patch426: build-rnp.patch +# Rust feature(stdsimd) unknown +Patch427: mozilla-1882291.patch # PPC fix Patch304: mozilla-1245783.patch @@ -189,6 +191,7 @@ Provides: thunderbird-lightning Obsoletes: thunderbird-lightning-gdata <= 1:3.3.0.14 BuildRequires: rust BuildRequires: cargo +BuildRequires: rust-version_check-devel BuildRequires: clang-devel BuildRequires: python3.11-devel %if !0%{?use_bundled_cbindgen} @@ -281,6 +284,7 @@ debug %{name}, you want to install %{name}-debuginfo instead. %patch -P 425 -p1 -b .build-disable-elfhack %endif %patch -P 426 -p1 -b .build-rnp +%patch -P 427 -p1 -b .mozilla-1882291 # most likely fixed #%patch -P 419 -p1 -b .bindgen