diff --git a/community/thunderbird/APKBUILD b/community/thunderbird/APKBUILD index 055a53606a6..4530c744f7b 100644 --- a/community/thunderbird/APKBUILD +++ b/community/thunderbird/APKBUILD @@ -72,6 +72,8 @@ source="https://ftp.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderb ppc-webrtc.patch python-deps.patch rust-lto-thin.patch + https://dev.alpinelinux.org/archive/firefox/rust1.78-packed-to-portable_simd.patch + rust1.78-qcms-stdsimd.patch sandbox-fork.patch sandbox-largefile.patch sandbox-sched_setscheduler.patch @@ -385,6 +387,7 @@ export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/} -g0 -O2 -Wno-deprecated-b prepare() { default_prepare + rm -rf third_party/rust/packed_simd/ cp "$srcdir"/stab.h toolkit/crashreporter/google-breakpad/src/ _clear_vendor_checksums audio_thread_priority @@ -586,6 +589,8 @@ cd68b89e29e5f6379fbd5679db27b9a5ef70ea65e51c0d0a8137e1f1fd210e35a8cfb047798e9549 6f60e83599041db1b707c21784197ea9816b2c936b89a274bfc24554a600981e6f28448fe41fab0942bd31acd49b1c00beb2eb0961149f2ffa6a4154be123ea7 ppc-webrtc.patch 4e40b34c5f77a1a21fe971a6fcd8a21b1a63423a3a7932a5a6e1c7a2779f9f06a561c806614a01931679a4b1c6afdfd8ae1f3cc6b673f259ccd368e8e54f6e90 python-deps.patch 1c6918dd6655d3a1251bfd4af2e1c561cbb00d540a883b4c1ebf7f5de530d754d9ac07b4b5f56cdab6c511d25c8910ec94043f5733e97501a67abffe1bafaeb1 rust-lto-thin.patch +e4795b88e572bb3b6f009dbacc7872b59db2f8facbe2b07f14dd4f45a77c22049783581869f18c6bb3f04d6edb3da59347278321cce2bfa629a4d35e136cda5c rust1.78-packed-to-portable_simd.patch +eae1afad93cc5fa7699b156619600ca4b41e67943b8b6e05ab972d449aece93bbf1e68a5ea1a7b1c9278633dbf7cf31503255558e3e06ddf168b3937a0e014e8 rust1.78-qcms-stdsimd.patch 2518f2fc75b5db30058e0735f47d60fdf1e7adfaeee4b33fb2afb1bd9a616ce943fd88f4404d0802d4083703f4acf1d5ad42377218d025bc768807fbaf7e1609 sandbox-fork.patch b7d0a6126bdf6c0569f80aabf5b37ed2c7a35712eb8a0404a2d85381552f5555d4f97d213ea26cec6a45dc2785f22439376ed5f8e78b4fd664ef0223307b333e sandbox-largefile.patch 94433c5ffdbe579c456d95c5f053f61fcbab2f652fa90bc69dcc27d9a1507a8e5c677adeadae9a7a75cc9a55184c1040737f4dfd10b279c088ef016561e6f135 sandbox-sched_setscheduler.patch diff --git a/community/thunderbird/rust1.78-qcms-stdsimd.patch b/community/thunderbird/rust1.78-qcms-stdsimd.patch new file mode 100644 index 00000000000..2c86aa14a0b --- /dev/null +++ b/community/thunderbird/rust1.78-qcms-stdsimd.patch @@ -0,0 +1,64 @@ +Relevant bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1882291 + + +diff --git a/Cargo.lock b/Cargo.lock +--- a/Cargo.lock ++++ b/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 +--- a/gfx/qcms/Cargo.toml ++++ b/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 ++++ b/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 +--- a/gfx/qcms/src/lib.rs ++++ b/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 +