Compare commits

..

No commits in common. "rawhide" and "f33" have entirely different histories.

32 changed files with 263 additions and 1302 deletions

187
.gitignore vendored
View file

@ -341,190 +341,3 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
/thunderbird-langpacks-91.2.0-20211015.tar.xz
/thunderbird-91.3.0.source.tar.xz
/thunderbird-langpacks-91.3.0-20211109.tar.xz
/thunderbird-91.4.0.source.tar.xz
/thunderbird-langpacks-91.4.0-20211215.tar.xz
/thunderbird-91.5.0.source.tar.xz
/thunderbird-langpacks-91.5.0-20220118.tar.xz
/thunderbird-91.6.0.source.tar.xz
/thunderbird-langpacks-91.6.0-20220209.tar.xz
/thunderbird-91.6.1.source.tar.xz
/thunderbird-langpacks-91.6.1-20220228.tar.xz
/thunderbird-langpacks-91.6.2-20220307.tar.xz
/thunderbird-91.6.2.source.tar.xz
/thunderbird-langpacks-91.7.0-20220308.tar.xz
/thunderbird-91.7.0.source.tar.xz
/thunderbird-91.8.0.source.tar.xz
/thunderbird-langpacks-91.8.0-20220405.tar.xz
/thunderbird-91.9.0.source.tar.xz
/thunderbird-langpacks-91.9.0-20220503.tar.xz
/thunderbird-91.9.1.source.tar.xz
/thunderbird-langpacks-91.9.1-20220523.tar.xz
/thunderbird-91.10.0.source.tar.xz
/thunderbird-langpacks-91.10.0-20220530.tar.xz
/thunderbird-91.11.0.source.tar.xz
/thunderbird-langpacks-91.11.0-20220628.tar.xz
/thunderbird-91.12.0.source.tar.xz
/thunderbird-langpacks-91.12.0-20220725.tar.xz
/thunderbird-102.1.0.source.tar.xz
/thunderbird-langpacks-102.1.0-20220803.tar.xz
/thunderbird-102.2.0.source.tar.xz
/thunderbird-langpacks-102.2.0-20220823.tar.xz
/thunderbird-102.2.1.source.tar.xz
/thunderbird-langpacks-102.2.1-20220901.tar.xz
/thunderbird-102.3.0.source.tar.xz
/thunderbird-langpacks-102.3.0-20220916.tar.xz
/thunderbird-102.3.1.source.tar.xz
/thunderbird-langpacks-102.3.1-20220929.tar.xz
/thunderbird-102.4.0.source.tar.xz
/thunderbird-langpacks-102.4.0-20221017.tar.xz
/thunderbird-102.4.1.source.tar.xz
/thunderbird-langpacks-102.4.1-20221102.tar.xz
/thunderbird-102.5.0.source.tar.xz
/thunderbird-langpacks-102.5.0-20221115.tar.xz
/thunderbird-102.5.1.source.tar.xz
/thunderbird-langpacks-102.5.1-20221201.tar.xz
/thunderbird-102.6.0.source.tar.xz
/thunderbird-langpacks-102.6.0-20221213.tar.xz
/thunderbird-102.7.1.source.tar.xz
/thunderbird-langpacks-102.7.1-20230124.tar.xz
/thunderbird-langpacks-102.7.1-20230131.tar.xz
/thunderbird-102.7.2.source.tar.xz
/thunderbird-langpacks-102.7.2-20230208.tar.xz
/thunderbird-102.8.0.source.tar.xz
/thunderbird-langpacks-102.8.0-20230215.tar.xz
/thunderbird-102.9.0.source.tar.xz
/thunderbird-langpacks-102.9.0-20230313.tar.xz
/thunderbird-102.9.1.source.tar.xz
/thunderbird-langpacks-102.9.1-20230329.tar.xz
/thunderbird-102.10.0.source.tar.xz
/thunderbird-langpacks-102.10.0-20230411.tar.xz
/thunderbird-102.11.0.source.tar.xz
/thunderbird-langpacks-102.11.0-20230504.tar.xz
/thunderbird-102.11.1.source.tar.xz
/thunderbird-langpacks-102.11.1-20230525.tar.xz
/thunderbird-102.12.0.source.tar.xz
/thunderbird-langpacks-102.12.0-20230605.tar.xz
/thunderbird-102.13.0.source.tar.xz
/thunderbird-langpacks-102.13.0-20230707.tar.xz
/thunderbird-langpacks-115.0.1-20230720.tar.xz
/thunderbird-115.0.1.source.tar.xz
/thunderbird-langpacks-115.1.1-20230815.tar.xz
/thunderbird-115.1.1.source.tar.xz
/thunderbird-115.2.2.source.tar.xz
/thunderbird-langpacks-115.2.2-20230920.tar.xz
/thunderbird-115.3.0.source.tar.xz
/thunderbird-langpacks-115.3.0-20230926.tar.xz
/thunderbird-langpacks-115.3.1-20230929.tar.xz
/thunderbird-115.3.1.source.tar.xz
/thunderbird-115.3.2.source.tar.xz
/thunderbird-langpacks-115.3.2-20231011.tar.xz
/thunderbird-115.4.0.source.tar.xz
/thunderbird-langpacks-115.4.0-20231024.tar.xz
/thunderbird-115.4.1.source.tar.xz
/thunderbird-langpacks-115.4.1-20231025.tar.xz
/thunderbird-115.4.2.source.tar.xz
/thunderbird-langpacks-115.4.2-20231108.tar.xz
/thunderbird-115.4.3.source.tar.xz
/thunderbird-langpacks-115.4.3-20231115.tar.xz
/thunderbird-115.5.0.source.tar.xz
/thunderbird-langpacks-115.5.0-20231121.tar.xz
/thunderbird-115.5.1.source.tar.xz
/thunderbird-langpacks-115.5.1-20231128.tar.xz
/thunderbird-115.5.2.source.tar.xz
/thunderbird-langpacks-115.5.2-20231212.tar.xz
/thunderbird-115.6.0.source.tar.xz
/thunderbird-langpacks-115.6.0-20231218.tar.xz
/thunderbird-115.6.1.source.tar.xz
/thunderbird-langpacks-115.6.1-20240110.tar.xz
/thunderbird-115.7.0.source.tar.xz
/thunderbird-langpacks-115.7.0-20240122.tar.xz
/thunderbird-115.8.0.source.tar.xz
/thunderbird-langpacks-115.8.0-20240219.tar.xz
/thunderbird-115.8.1.source.tar.xz
/thunderbird-langpacks-115.8.1-20240305.tar.xz
/thunderbird-115.10.0.source.tar.xz
/thunderbird-langpacks-115.10.0-20240415.tar.xz
/thunderbird-115.10.1.source.tar.xz
/thunderbird-langpacks-115.10.1-20240422.tar.xz
/thunderbird-115.11.0.source.tar.xz
/thunderbird-langpacks-115.11.0-20240513.tar.xz
/thunderbird-115.11.1.source.tar.xz
/thunderbird-langpacks-115.11.1-20240529.tar.xz
/thunderbird-115.11.2.source.tar.xz
/thunderbird-langpacks-115.11.2-20240603.tar.xz
/thunderbird-115.12.0.source.tar.xz
/thunderbird-langpacks-115.12.0-20240611.tar.xz
/thunderbird-115.12.1.source.tar.xz
/thunderbird-langpacks-115.12.1-20240618.tar.xz
/thunderbird-115.13.0.source.tar.xz
/thunderbird-langpacks-115.13.0-20240716.tar.xz
/thunderbird-128.0esr.source.tar.xz
/thunderbird-langpacks-128.0esr-20240717.tar.xz
/thunderbird-128.1.0esr.source.tar.xz
/thunderbird-langpacks-128.1.0esr-20240806.tar.xz
/thunderbird-128.2.0esr.source.tar.xz
/thunderbird-langpacks-128.2.0esr-20240905.tar.xz
/thunderbird-128.3.0esr.source.tar.xz
/thunderbird-langpacks-128.3.0esr-20240930.tar.xz
/thunderbird-128.3.1esr.source.tar.xz
/thunderbird-langpacks-128.3.1esr-20241009.tar.xz
/thunderbird-128.3.2esr.source.tar.xz
/thunderbird-langpacks-128.3.2esr-20241017.tar.xz
/thunderbird-128.3.3esr.source.tar.xz
/thunderbird-langpacks-128.3.3esr-20241022.tar.xz
/thunderbird-128.4.0esr.source.tar.xz
/thunderbird-langpacks-128.4.0esr-20241028.tar.xz
/thunderbird-128.4.2esr.source.tar.xz
/thunderbird-langpacks-128.4.2esr-20241107.tar.xz
/thunderbird-128.4.3esr.source.tar.xz
/thunderbird-langpacks-128.4.3esr-20241113.tar.xz
/thunderbird-128.5.0esr.source.tar.xz
/thunderbird-langpacks-128.5.0esr-20241126.tar.xz
/thunderbird-128.5.2esr.source.tar.xz
/thunderbird-langpacks-128.5.2esr-20241211.tar.xz
/thunderbird-128.6.0esr.source.tar.xz
/thunderbird-langpacks-128.6.0esr-20250108.tar.xz
/thunderbird-128.6.1esr.source.tar.xz
/thunderbird-langpacks-128.6.1esr-20250128.tar.xz
/thunderbird-128.7.1esr.source.tar.xz
/thunderbird-langpacks-128.7.1esr-20250219.tar.xz
/thunderbird-128.8.0esr.source.tar.xz
/thunderbird-langpacks-128.8.0esr-20250305.tar.xz
/thunderbird-128.9.0esr.source.tar.xz
/thunderbird-langpacks-128.9.0esr-20250331.tar.xz
/thunderbird-128.9.2esr.source.tar.xz
/thunderbird-langpacks-128.9.2esr-20250416.tar.xz
/thunderbird-128.10.0esr.source.tar.xz
/thunderbird-langpacks-128.10.0esr-20250428.tar.xz
/thunderbird-128.10.1esr.source.tar.xz
/thunderbird-langpacks-128.10.1esr-20250519.tar.xz
/thunderbird-128.10.2esr.source.tar.xz
/thunderbird-langpacks-128.10.2esr-20250521.tar.xz
/thunderbird-128.11.0esr.source.tar.xz
/thunderbird-langpacks-128.11.0esr-20250526.tar.xz
/thunderbird-128.11.1esr.source.tar.xz
/thunderbird-langpacks-128.11.1esr-20250611.tar.xz
/thunderbird-128.12.0esr.source.tar.xz
/thunderbird-langpacks-128.12.0esr-20250630.tar.xz
/thunderbird-128.13.0esr.source.tar.xz
/thunderbird-langpacks-128.13.0esr-20250723.tar.xz
/thunderbird-140.1.0esr.source.tar.xz
/thunderbird-langpacks-140.1.0esr-20250731.tar.xz
/thunderbird-140.2.1esr.source.tar.xz
/thunderbird-langpacks-140.2.1esr-20250904.tar.xz
/thunderbird-langpacks-140.3.0esr-20250924.tar.xz
/thunderbird-140.3.0esr.source.tar.xz
/thunderbird-143.0.1.source.tar.xz
/thunderbird-langpacks-143.0.1-20251002.tar.xz
/thunderbird-144.0.source.tar.xz
/thunderbird-langpacks-144.0-20251016.tar.xz
/thunderbird-144.0.1.source.tar.xz
/thunderbird-langpacks-144.0.1-20251021.tar.xz
/thunderbird-145.0.source.tar.xz
/thunderbird-langpacks-145.0-20251119.tar.xz
/thunderbird-146.0.source.tar.xz
/thunderbird-langpacks-146.0-20251215.tar.xz
/thunderbird-146.0.1.source.tar.xz
/thunderbird-langpacks-146.0.1-20251218.tar.xz
/thunderbird-147.0.source.tar.xz
/thunderbird-langpacks-147.0-20260114.tar.xz

View file

@ -1,23 +0,0 @@
diff -up thunderbird-128.1.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix-for-GCC-12 thunderbird-128.1.0/build/unix/stdc++compat/stdc++compat.cpp
--- thunderbird-128.1.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix-for-GCC-12 2024-08-09 12:24:05.444162943 +0200
+++ thunderbird-128.1.0/build/unix/stdc++compat/stdc++compat.cpp 2024-08-09 12:24:05.460162972 +0200
@@ -83,6 +83,19 @@ __glibcxx_assert_fail(const char* __file
} // namespace std
#endif
+#if _GLIBCXX_RELEASE >= 12
+namespace std {
+
+/* This avoids the GLIBCXX_3.4.30 symbol version. */
+void __attribute__((weak))
+__glibcxx_assert_fail(const char* __file, int __line, const char* __function,
+ const char* __condition) {
+ MOZ_CRASH();
+}
+
+} // namespace std
+#endif
+
/* While we generally don't build with exceptions, we have some host tools
* that do use them. libstdc++ from GCC 5.0 added exception constructors with
* char const* argument. Older versions only have a constructor with

View file

@ -0,0 +1,12 @@
diff -up thunderbird-60.5.0/mfbt/LinuxSignal.h.mozilla-1238661 thunderbird-60.5.0/mfbt/LinuxSignal.h
--- thunderbird-60.5.0/mfbt/LinuxSignal.h.mozilla-1238661 2019-01-30 11:33:21.447003175 +0100
+++ thunderbird-60.5.0/mfbt/LinuxSignal.h 2019-01-30 11:35:13.848537051 +0100
@@ -22,7 +22,7 @@ __attribute__((naked)) void SignalTrampo
void* aContext) {
asm volatile("nop; nop; nop; nop" : : : "memory");
- asm volatile("b %0" : : "X"(H) : "memory");
+ asm volatile("bx %0" : : "r"(H), "l"(aSignal), "l"(aInfo), "l"(aContext) : "memory");
}
#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)

View file

@ -1,35 +0,0 @@
diff -up firefox-128.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia firefox-128.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h
--- firefox-128.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h.aarch64-skia 2024-07-02 11:10:25.047099913 +0200
+++ firefox-128.0/gfx/skia/skia/modules/skcms/src/Transform_inl.h 2024-07-02 11:15:43.855410571 +0200
@@ -151,7 +151,7 @@ SI U32 to_fixed(F f) { return (U32)cast
SI F F_from_Half(U16 half) {
-#if defined(USING_NEON_F16C)
+#if 0 // defined(USING_NEON_F16C)
return vcvt_f32_f16((float16x4_t)half);
#elif defined(USING_AVX512F)
return (F)_mm512_cvtph_ps((__m256i)half);
@@ -178,7 +178,7 @@ SI F F_from_Half(U16 half) {
__attribute__((no_sanitize("unsigned-integer-overflow")))
#endif
SI U16 Half_from_F(F f) {
-#if defined(USING_NEON_F16C)
+#if 0 //defined(USING_NEON_F16C)
return (U16)vcvt_f16_f32(f);
#elif defined(USING_AVX512F)
return (U16)_mm512_cvtps_ph((__m512 )f, _MM_FROUND_CUR_DIRECTION );
diff -up firefox-128.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia firefox-128.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h
--- firefox-128.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h.aarch64-skia 2024-07-02 11:10:25.048099949 +0200
+++ firefox-128.0/gfx/skia/skia/src/opts/SkRasterPipeline_opts.h 2024-07-02 11:13:33.384783413 +0200
@@ -1425,8 +1425,8 @@ SI F from_half(U16 h) {
}
SI U16 to_half(F f) {
-#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64)
- return (U16)vcvt_f16_f32(f);
+#if 0 //defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64)
+ return (U16)vcvt_f16_f32(f);
#elif defined(JUMPER_IS_SKX)
return (U16)_mm512_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION);

View file

@ -1,12 +0,0 @@
diff -up firefox-66.0/media/libopus/silk/arm/arm_silk_map.c.old firefox-66.0/media/libopus/silk/arm/arm_silk_map.c
--- firefox-66.0/media/libopus/silk/arm/arm_silk_map.c.old 2019-03-12 21:07:35.356677522 +0100
+++ firefox-66.0/media/libopus/silk/arm/arm_silk_map.c 2019-03-12 21:07:42.937693394 +0100
@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
# include "config.h"
#endif
-#include "main_FIX.h"
+#include "fixed/main_FIX.h"
#include "NSQ.h"
#include "SigProc_FIX.h"

View file

@ -1,12 +0,0 @@
diff -up thunderbird-147.0/comm/third_party/openpgp.configure.build-botan thunderbird-147.0/comm/third_party/openpgp.configure
--- thunderbird-147.0/comm/third_party/openpgp.configure.build-botan 2026-01-08 22:45:29.000000000 +0100
+++ thunderbird-147.0/comm/third_party/openpgp.configure 2026-01-14 15:43:34.946025500 +0100
@@ -348,7 +348,7 @@ with only_when(in_tree_librnp):
botan_flags = [
"--cc-bin={}".format(cxx_compiler.compiler),
- "--cc-abi-flags={}".format(" ".join(abi_flags)),
+ #"--cc-abi-flags={}".format(" ".join(abi_flags)),
"--cpu={}".format(target.cpu),
"--os={}".format(botan_os),
"--with-build-dir={}".format(botan_objdir),

File diff suppressed because one or more lines are too long

View file

@ -1,12 +0,0 @@
diff -up firefox-115.0.2/toolkit/moz.configure.disable-elfhack firefox-115.0.2/toolkit/moz.configure
--- firefox-115.0.2/toolkit/moz.configure.disable-elfhack 2023-07-18 12:21:22.507358334 +0200
+++ firefox-115.0.2/toolkit/moz.configure 2023-07-18 12:52:55.972727498 +0200
@@ -1520,7 +1520,7 @@ with only_when("--enable-compile-environ
"Cannot enable elfhack with lld."
" Use --enable-linker=bfd, --enable-linker=gold, or --disable-elf-hack"
)
- return True
+ return False
set_config("USE_ELF_HACK", use_elf_hack)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,51 +0,0 @@
diff -up firefox-55.0/js/src/jit/MIR.h.old firefox-55.0/js/src/jit/MIR.h
--- firefox-55.0/js/src/jit/MIR.h.old 2017-08-08 14:04:44.528460099 +0200
+++ firefox-55.0/js/src/jit/MIR.h 2017-08-08 14:05:11.045364831 +0200
@@ -12434,7 +12434,7 @@ class MNearbyInt
TRIVIAL_NEW_WRAPPERS
static bool HasAssemblerSupport(RoundingMode mode) {
- return Assembler::HasRoundInstruction(mode);
+ return false;
}
RoundingMode roundingMode() const { return roundingMode_; }
diff -up firefox-55.0/js/src/jit/ExecutableAllocator.h.old firefox-55.0/js/src/jit/ExecutableAllocator.h
--- firefox-55.0/js/src/jit/ExecutableAllocator.h.old 2017-08-09 09:24:18.784983505 +0200
+++ firefox-55.0/js/src/jit/ExecutableAllocator.h 2017-08-09 09:28:01.471100075 +0200
@@ -307,6 +307,10 @@ class ExecutableAllocator
{
sync_instruction_memory((caddr_t)code, size);
}
+#else
+ static void cacheFlush(void*, size_t)
+ {
+ }
#endif
private:
diff -up firefox-55.0/js/src/wasm/WasmBuiltins.cpp.old firefox-55.0/js/src/wasm/WasmBuiltins.cpp
--- firefox-55.0/js/src/wasm/WasmBuiltins.cpp.old 2017-08-09 12:50:46.877450765 +0200
+++ firefox-55.0/js/src/wasm/WasmBuiltins.cpp 2017-08-09 12:50:59.725406974 +0200
@@ -881,7 +881,6 @@ wasm::EnsureBuiltinThunksInitialized()
MOZ_ASSERT(!masm.numSymbolicAccesses());
#endif
- ExecutableAllocator::cacheFlush(thunks->codeBase, thunks->codeSize);
if (!ExecutableAllocator::makeExecutable(thunks->codeBase, thunks->codeSize))
return false;
diff -up firefox-55.0/js/src/wasm/WasmCode.cpp.old firefox-55.0/js/src/wasm/WasmCode.cpp
--- firefox-55.0/js/src/wasm/WasmCode.cpp.old 2017-08-09 12:50:37.205483731 +0200
+++ firefox-55.0/js/src/wasm/WasmCode.cpp 2017-08-09 12:51:10.365370708 +0200
@@ -287,8 +287,6 @@ CodeSegment::initialize(Tier tier,
if (!StaticallyLink(*this, linkData))
return false;
- ExecutableAllocator::cacheFlush(bytes_.get(), RoundupCodeLength(codeLength));
-
// Reprotect the whole region to avoid having separate RW and RX mappings.
if (!ExecutableAllocator::makeExecutable(bytes_.get(), RoundupCodeLength(codeLength)))
return false;
diff -up firefox-55.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old firefox-55.0/media/libyuv/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium
diff -up firefox-55.0/media/webrtc/trunk/Makefile.old firefox-55.0/media/webrtc/trunk/Makefile

View file

@ -1,25 +0,0 @@
diff -up firefox-55.0/build/moz.configure/rust.configure.rust-ppc64le firefox-55.0/build/moz.configure/rust.configure
--- firefox-55.0/build/moz.configure/rust.configure.rust-ppc64le 2017-07-31 18:20:49.000000000 +0200
+++ firefox-55.0/build/moz.configure/rust.configure 2017-08-02 10:19:03.254220003 +0200
@@ -151,6 +151,9 @@ def rust_triple_alias(host_or_target):
('sparc64', 'Linux'): 'sparc64-unknown-linux-gnu',
('x86', 'Linux'): 'i686-unknown-linux-gnu',
('x86_64', 'Linux'): 'x86_64-unknown-linux-gnu',
+ ('ppc64le', 'Linux'): 'powerpc64le-unknown-linux-gnu',
+ ('ppc64', 'Linux'): 'powerpc64-unknown-linux-gnu',
+ ('s390x', 'Linux'): 's390x-unknown-linux-gnu',
# OS X
('x86', 'OSX'): 'i686-apple-darwin',
('x86_64', 'OSX'): 'x86_64-apple-darwin',
@@ -174,8 +177,10 @@ def rust_triple_alias(host_or_target):
('sparc64', 'SunOS'): 'sparcv9-sun-solaris',
}.get((host_or_target.cpu, os_or_kernel), None)
+ if (rustc_target == 'powerpc64-unknown-linux-gnu' and host_or_target.endianness == 'little'):
+ rustc_target = 'powerpc64le-unknown-linux-gnu'
if rustc_target is None:
- die("Don't know how to translate {} for rustc".format(host_or_target.alias))
+ die("Don't know how to translate {} for rustc, cpu: {}, os: {}".format(target.alias, target.cpu, os_or_kernel))
# Check to see whether our rustc has a reasonably functional stdlib
# for our chosen target.

View file

@ -1,12 +0,0 @@
diff -up thunderbird-128.9.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc.orig thunderbird-128.9.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc
--- thunderbird-128.9.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc.orig 2025-04-24 14:10:37.830416804 +0000
+++ thunderbird-128.9.2/toolkit/components/protobuf/src/google/protobuf/port_def.inc 2025-04-24 14:11:31.910416804 +0000
@@ -255,7 +255,7 @@
#error PROTOBUF_TAILCALL was previously defined
#endif
#if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
- !defined(_ARCH_PPC) && !defined(__wasm__) && \
+ !defined(_ARCH_PPC) && !defined(__s390x__) && !defined(__wasm__) && \
!(defined(_MSC_VER) && defined(_M_IX86)) && \
!(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
# ifndef PROTO2_OPENSOURCE

View file

@ -1,11 +0,0 @@
diff -up thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h.seccomp thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h
--- thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h.seccomp 2025-12-09 13:42:31.378958842 +0100
+++ thunderbird-145.0/security/sandbox/chromium/sandbox/linux/system_headers/linux_seccomp.h 2025-12-09 13:42:37.886937626 +0100
@@ -6,6 +6,7 @@
#define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SECCOMP_H_
#include <stdint.h>
+#include <signal.h>
#include <sys/ioctl.h>
#include "build/build_config.h"

View file

@ -1,24 +0,0 @@
--- firefox-109.0.1/gfx/2d/Rect.h.old 2023-02-07 09:44:24.946279843 +0100
+++ firefox-109.0.1/gfx/2d/Rect.h 2023-02-07 09:44:47.969032049 +0100
@@ -324,8 +324,8 @@ IntRectTyped<Units> RoundedToInt(const R
template <class Units>
bool RectIsInt32Safe(const RectTyped<Units>& aRect) {
- float min = (float)std::numeric_limits<std::int32_t>::min();
- float max = (float)std::numeric_limits<std::int32_t>::max();
+ float min = (float)std::numeric_limits<int32_t>::min();
+ float max = (float)std::numeric_limits<int32_t>::max();
return aRect.x > min && aRect.y > min && aRect.width < max &&
aRect.height < max && aRect.XMost() < max && aRect.YMost() < max;
}
diff -up firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp.old firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp
--- firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp.old 2023-02-07 11:03:41.788720090 +0100
+++ firefox-109.0.1/toolkit/components/telemetry/pingsender/pingsender.cpp 2023-02-07 11:04:29.195345659 +0100
@@ -10,6 +10,7 @@
#include <iomanip>
#include <string>
#include <vector>
+#include <cstdint>
#include <zlib.h>

View file

@ -1,39 +0,0 @@
diff -up thunderbird-128.1.0/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.firefox-gcc-build thunderbird-128.1.0/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
--- thunderbird-128.1.0/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.firefox-gcc-build 2024-07-31 19:13:21.000000000 +0200
+++ thunderbird-128.1.0/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2024-08-08 16:03:45.639263256 +0200
@@ -1962,7 +1962,7 @@ struct kernel_statfs {
LSS_ENTRYPOINT \
"pop %%ebx" \
args \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res)
#undef _syscall0
#define _syscall0(type,name) \
@@ -2019,7 +2019,7 @@ struct kernel_statfs {
: "i" (__NR_##name), "ri" ((long)(arg1)), \
"c" ((long)(arg2)), "d" ((long)(arg3)), \
"S" ((long)(arg4)), "D" ((long)(arg5)) \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res); \
}
#undef _syscall6
@@ -2041,7 +2041,7 @@ struct kernel_statfs {
: "i" (__NR_##name), "0" ((long)(&__s)), \
"c" ((long)(arg2)), "d" ((long)(arg3)), \
"S" ((long)(arg4)), "D" ((long)(arg5)) \
- : "esp", "memory"); \
+ : "memory"); \
LSS_RETURN(type,__res); \
}
LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
@@ -2127,7 +2127,7 @@ struct kernel_statfs {
: "0"(-EINVAL), "i"(__NR_clone),
"m"(fn), "m"(child_stack), "m"(flags), "m"(arg),
"m"(parent_tidptr), "m"(newtls), "m"(child_tidptr)
- : "esp", "memory", "ecx", "edx", "esi", "edi");
+ : "memory", "ecx", "edx", "esi", "edi");
LSS_RETURN(int, __res);
}

View file

@ -1,12 +0,0 @@
diff -up firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old firefox-105.0/mozglue/misc/SIMD_avx2.cpp
--- firefox-105.0/mozglue/misc/SIMD_avx2.cpp.old 2022-09-22 21:35:07.006221995 +0200
+++ firefox-105.0/mozglue/misc/SIMD_avx2.cpp 2022-09-22 21:36:12.972480517 +0200
@@ -55,7 +55,7 @@ __m256i CmpEq256(__m256i a, __m256i b) {
return _mm256_cmpeq_epi64(a, b);
}
-# if defined(__GNUC__) && !defined(__clang__)
+# if 0
// See the comment in SIMD.cpp over Load32BitsIntoXMM. This is just adapted
// from that workaround. Testing this, it also yields the correct instructions

View file

@ -12,7 +12,7 @@ to be used with 'cargo vendor' commmand.
"""
[dependencies]
cbindgen = "0.29.1"
cbindgen = "0.19.0"
[[bin]]
name = "dummy"

View file

@ -1,7 +1,7 @@
diff -up firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.mozilla-bmo1170092 firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.mozilla-bmo1170092 2025-06-02 15:26:44.000000000 +0200
+++ firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2025-06-04 13:24:00.344728697 +0200
@@ -263,8 +263,20 @@ nsresult nsReadConfig::openAndEvaluateJS
diff -up firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2020-04-03 21:34:41.000000000 +0200
+++ firefox-75.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2020-04-06 22:40:02.760674871 +0200
@@ -244,8 +244,20 @@ nsresult nsReadConfig::openAndEvaluateJS
if (NS_FAILED(rv)) return rv;
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
@ -23,10 +23,10 @@ diff -up firefox-140.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.mozilla-b
} else {
nsAutoCString location("resource://gre/defaults/autoconfig/");
location += aFileName;
diff -up firefox-140.0/modules/libpref/Preferences.cpp.mozilla-bmo1170092 firefox-140.0/modules/libpref/Preferences.cpp
--- firefox-140.0/modules/libpref/Preferences.cpp.mozilla-bmo1170092 2025-06-02 15:26:51.000000000 +0200
+++ firefox-140.0/modules/libpref/Preferences.cpp 2025-06-04 13:24:00.345430064 +0200
@@ -4914,6 +4914,9 @@ nsresult Preferences::InitInitialObjects
diff -up firefox-75.0/modules/libpref/Preferences.cpp.1170092 firefox-75.0/modules/libpref/Preferences.cpp
--- firefox-75.0/modules/libpref/Preferences.cpp.1170092 2020-04-06 22:40:02.761674865 +0200
+++ firefox-75.0/modules/libpref/Preferences.cpp 2020-04-06 22:40:57.675325227 +0200
@@ -4468,6 +4468,9 @@ nsresult Preferences::InitInitialObjects
//
// Thus, in the omni.jar case, we always load app-specific default
// preferences from omni.jar, whether or not `$app == $gre`.
@ -36,10 +36,10 @@ diff -up firefox-140.0/modules/libpref/Preferences.cpp.mozilla-bmo1170092 firefo
nsresult rv = NS_ERROR_FAILURE;
UniquePtr<nsZipFind> find;
diff -up firefox-140.0/toolkit/xre/nsXREDirProvider.cpp.mozilla-bmo1170092 firefox-140.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-140.0/toolkit/xre/nsXREDirProvider.cpp.mozilla-bmo1170092 2025-06-02 15:27:00.000000000 +0200
+++ firefox-140.0/toolkit/xre/nsXREDirProvider.cpp 2025-06-04 15:44:09.413562326 +0200
@@ -76,6 +76,7 @@
diff -up firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-75.0/toolkit/xre/nsXREDirProvider.cpp
--- firefox-75.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/toolkit/xre/nsXREDirProvider.cpp 2020-04-06 22:40:02.761674865 +0200
@@ -60,6 +60,7 @@
#endif
#ifdef XP_UNIX
# include <ctype.h>
@ -47,11 +47,13 @@ diff -up firefox-140.0/toolkit/xre/nsXREDirProvider.cpp.mozilla-bmo1170092 firef
#endif
#ifdef XP_IOS
# include "UIKitDirProvider.h"
@@ -462,6 +463,17 @@ nsXREDirProvider::GetFile(const char* aP
rv = file->AppendNative(nsLiteralCString(PREF_OVERRIDE_DIRNAME));
NS_ENSURE_SUCCESS(rv, rv);
rv = EnsureDirectoryExists(file);
+ } else if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
@@ -533,6 +534,21 @@ nsXREDirProvider::GetFile(const char* aP
}
}
}
+
+#if defined(XP_UNIX)
+ if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
+ nsCString sysConfigDir = nsLiteralCString("/etc/");
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
+ if (!appInfo)
@ -60,14 +62,16 @@ diff -up firefox-140.0/toolkit/xre/nsXREDirProvider.cpp.mozilla-bmo1170092 firef
+ appInfo->GetName(appName);
+ ToLowerCase(appName);
+ sysConfigDir.Append(appName);
+ NS_NewNativeLocalFile(sysConfigDir, getter_AddRefs(file));
+ rv = EnsureDirectoryExists(file);
} else {
// We don't know anything about this property. Fail without warning, because
// otherwise we'll get too much warning spam due to
@@ -518,6 +530,16 @@ nsXREDirProvider::GetFiles(const char* a
}
#endif
+ return NS_NewNativeLocalFile(sysConfigDir, false, aFile);
+ }
+#endif
+
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
if (ensureFilePermissions) {
@@ -845,6 +861,16 @@ nsresult nsXREDirProvider::GetFilesInter
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
+ // Add /etc/<application>/pref/ directory if it exists
+ nsCOMPtr<nsIFile> systemPrefDir;
@ -77,15 +81,15 @@ diff -up firefox-140.0/toolkit/xre/nsXREDirProvider.cpp.mozilla-bmo1170092 firef
+ rv = systemPrefDir->AppendNative(nsLiteralCString("pref"));
+ if (NS_SUCCEEDED(rv))
+ directories.AppendObject(systemPrefDir);
+ }
+ }
+
rv = NS_NewArrayEnumerator(aResult, directories, NS_GET_IID(nsIFile));
} else if (!strcmp(aProperty, NS_APP_CHROME_DIR_LIST)) {
// NS_APP_CHROME_DIR_LIST is only used to get default (native) icons
diff -up firefox-140.0/xpcom/io/nsAppDirectoryServiceDefs.h.mozilla-bmo1170092 firefox-140.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-140.0/xpcom/io/nsAppDirectoryServiceDefs.h.mozilla-bmo1170092 2025-06-02 15:27:01.000000000 +0200
+++ firefox-140.0/xpcom/io/nsAppDirectoryServiceDefs.h 2025-06-04 13:24:00.346423861 +0200
@@ -58,6 +58,7 @@
diff -up firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2020-04-03 21:35:39.000000000 +0200
+++ firefox-75.0/xpcom/io/nsAppDirectoryServiceDefs.h 2020-04-06 22:40:02.761674865 +0200
@@ -60,6 +60,7 @@
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
#define NS_APP_PREFS_OVERRIDE_DIR \
"PrefDOverride" // Directory for per-profile defaults

17
mozilla-1245783.patch Normal file
View file

@ -0,0 +1,17 @@
# Remove when mozbz#1269319 lands
--- firefox-45.0.1-orig/js/src/Makefile.in 2016-05-17 14:53:58.753178403 +0200
+++ firefox-45.0.1/js/src/Makefile.in 2016-05-17 14:53:28.432817862 +0200
@@ -144,6 +144,11 @@ distclean::
CFLAGS += $(MOZ_ZLIB_CFLAGS)
+# Avoid GNU gcc bug #70526
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70526#c14
+CFLAGS += -fno-schedule-insns2
+CXXFLAGS += -fno-schedule-insns2
+
# Silence warnings on AIX/HP-UX from non-GNU compilers
ifndef GNU_CC
ifeq ($(OS_ARCH),AIX)

12
mozilla-build-arm.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up firefox-29.0/mozilla-release/gfx/ycbcr/moz.build.arm firefox-29.0/mozilla-release/gfx/ycbcr/moz.build
--- firefox-29.0/mozilla-release/gfx/ycbcr/moz.build.arm 2014-04-22 07:27:47.000000000 +0200
+++ firefox-29.0/mozilla-release/gfx/ycbcr/moz.build 2014-04-22 16:40:34.862849368 +0200
@@ -61,7 +61,7 @@ else:
'yuv_row_other.cpp',
]
-if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
+if CONFIG['HAVE_ARM_NEON']:
SOURCES += [
'yuv_row_arm.s',
]

View file

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>net.thunderbird.Thunderbird.appdata.xml</id>
<metadata_license>CC0-1.0</metadata_license>
<name>Thunderbird</name>
<summary>Thunderbird is a free and open source email, newsfeed, chat, and calendaring client</summary>
<description>
<!-- From https://www.thunderbird.net/en-US/about/ -->
<p>
Thunderbird is a free and open source email, newsfeed, chat, and
calendaring client, thats easy to set up and customize. One of the core
principles of Thunderbird is the use and promotion of open standards -
this focus is a rejection of our world of closed platforms and services
that cant communicate with each other. We want our users to have freedom
and choice in how they communicate.
</p>
<p>
Thunderbird is an open source project, which means anyone can contribute
ideas, designs, code, and time helping fellow users.
</p>
</description>
<categories>
<category>Calendar</category>
<category>Email</category>
<category>Office</category>
</categories>
<url type="homepage">https://www.thunderbird.net/</url>
<url type="bugtracker">https://bugzilla.mozilla.org/</url>
<url type="faq">https://support.mozilla.org/kb/thunderbird-faq/</url>
<url type="help">https://support.mozilla.org/products/thunderbird/</url>
<url type="donation">https://www.thunderbird.net/donate/</url>
<url type="translate">https://www.thunderbird.net/participate/</url>
<project_group>Mozilla</project_group>
<project_license>MPL-2.0</project_license>
<developer_name>Thunderbird Project</developer_name>
<screenshots>
<screenshot type="default">
<image>https://raw.githubusercontent.com/thunderbird/flatpak-screenshots/main/image_1.png</image>
</screenshot>
<screenshot>
<image>https://raw.githubusercontent.com/thunderbird/flatpak-screenshots/main/image_2.png</image>
</screenshot>
</screenshots>
<mimetypes>
<mimetype>message/rfc822</mimetype>
<mimetype>x-scheme-handler/mailto</mimetype>
<mimetype>text/calendar</mimetype>
<mimetype>text/vcard</mimetype>
<mimetype>text/x-vcard</mimetype>
</mimetypes>
<releases>
<release version="__VERSION__" date="__DATE__"/>
</releases>
<update_contact>jhorak@redhat.com</update_contact>
</component>

View file

@ -0,0 +1,23 @@
diff -up firefox-55.0/js/src/old-configure.in.rhbz-1219542-s390 firefox-55.0/js/src/old-configure.in
--- firefox-55.0/js/src/old-configure.in.rhbz-1219542-s390 2017-07-31 18:20:48.000000000 +0200
+++ firefox-55.0/js/src/old-configure.in 2017-08-02 14:31:32.190243669 +0200
@@ -541,7 +541,7 @@ case "$host" in
*-linux*|*-kfreebsd*-gnu|*-gnu*)
HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
- HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
+ HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O1}"
;;
*)
@@ -617,8 +617,8 @@ case "$target" in
*-*linux*)
if test "$GNU_CC" -o "$GNU_CXX"; then
- MOZ_PGO_OPTIMIZE_FLAGS="-O3"
- MOZ_OPTIMIZE_FLAGS="-O3"
+ MOZ_PGO_OPTIMIZE_FLAGS="-O1"
+ MOZ_OPTIMIZE_FLAGS="-O1"
if test -z "$CLANG_CC"; then
MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
fi

12
rhbz-1354671.patch Normal file
View file

@ -0,0 +1,12 @@
diff -up firefox-60.5.0/layout/base/nsIPresShell.h.1354671 firefox-60.5.0/layout/base/nsIPresShell.h
--- firefox-60.5.0/layout/base/nsIPresShell.h.1354671 2019-01-22 16:08:40.796539950 +0100
+++ firefox-60.5.0/layout/base/nsIPresShell.h 2019-01-22 16:10:25.106069228 +0100
@@ -204,7 +204,7 @@ class nsIPresShell : public nsStubDocume
* to the same aSize value. AllocateFrame is infallible and will abort
* on out-of-memory.
*/
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
+ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
void* result = mFrameArena.AllocateByFrameID(aID, aSize);
RecordAlloc(result);
return result;

View file

@ -1,76 +0,0 @@
--- thunderbird-102.10.0/build/moz.configure/rust.configure.rustflags-commasplit 2023-03-21 06:16:03.000000000 -0700
+++ thunderbird-102.10.0/build/moz.configure/rust.configure 2023-04-05 08:57:29.403219120 -0700
@@ -593,7 +593,7 @@
# ==============================================================
-option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags")
+option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags", comma_split=False)
set_config("RUSTFLAGS", depends("RUSTFLAGS")(lambda flags: flags))
--- thunderbird-102.10.0/python/mozbuild/mozbuild/configure/options.py.rustflags-commasplit 2023-03-21 06:16:09.000000000 -0700
+++ thunderbird-102.10.0/python/mozbuild/mozbuild/configure/options.py 2023-04-05 08:57:31.270193468 -0700
@@ -191,6 +191,10 @@
to instantiate an option indirectly. Set this to a positive integer to
force the script to look into a deeper stack frame when inferring the
`category`.
+ - `comma_split` specifies whether the value string should be split on
+ commas. The default is True. Setting it False is necessary for things
+ like compiler flags which should be a single string that may contain
+ commas.
"""
__slots__ = (
@@ -205,6 +209,7 @@
"possible_origins",
"category",
"define_depth",
+ "comma_split",
)
def __init__(
@@ -218,6 +223,7 @@
category=None,
help=None,
define_depth=0,
+ comma_split=True,
):
if not name and not env:
raise InvalidOptionError(
@@ -335,9 +341,10 @@
self.choices = choices
self.help = help
self.category = category or _infer_option_category(define_depth)
+ self.comma_split = comma_split
@staticmethod
- def split_option(option):
+ def split_option(option, comma_split=True):
"""Split a flag or variable into a prefix, a name and values
Variables come in the form NAME=values (no prefix).
@@ -350,7 +357,13 @@
elements = option.split("=", 1)
name = elements[0]
- values = tuple(elements[1].split(",")) if len(elements) == 2 else ()
+ if len(elements) == 2:
+ if comma_split:
+ values = tuple(elements[1].split(","))
+ else:
+ values = (elements[1],)
+ else:
+ values = ()
if name.startswith("--"):
name = name[2:]
if not name.islower():
@@ -426,7 +439,7 @@
% (option, origin, ", ".join(self.possible_origins))
)
- prefix, name, values = self.split_option(option)
+ prefix, name, values = self.split_option(option, self.comma_split)
option = self._join_option(prefix, name)
assert name in (self.name, self.env)

View file

@ -1,3 +1,3 @@
SHA512 (cbindgen-vendor.tar.xz) = 4127d3060577284eea29d697ccc2394742674f6094b7f497a95a0c3b8aa9e0494b720de8858ad31d4a6b0cd1b9586454f3c52c8088163c2709883d882e0136db
SHA512 (thunderbird-147.0.source.tar.xz) = d04a135f23572123d5cca41c2611704aa06cb81e0226c89c267dc527f59fb0d9d5d8b8a49cd126626c2fd934624c9d2420ae71dd10a912b3011f3342fbaf7511
SHA512 (thunderbird-langpacks-147.0-20260114.tar.xz) = e97f2894c0bbea00c35e5d8f0046d1d7112efb17d3af5d8a6f964c54352f9f6edbcbd4d41cc2595cb63e1116ae78680c9d42e65dc0eb0ff17e4a9d4ad97ec7ab
SHA512 (thunderbird-91.3.0.source.tar.xz) = 938de817ed2cad90f665559da1dfc266f34b6ca2e688ee364112edfdb1167183a8225132ed50b672ceb14402be933be82fd1ef8b46f103cdf1534a403fb472d9
SHA512 (thunderbird-langpacks-91.3.0-20211109.tar.xz) = d29a14429b385a2356c14cc1f6e4522e5f58127d2e840d067adcc5c9405407cf02a9bf5dd82189cf7cb055e746b4e4dc6124f670f4457ff53768a9b6af514582
SHA512 (cbindgen-vendor.tar.xz) = 105a7d93d63920d8c232421a29f6330c171343d27807feaeadb1737374e5cf1d48916cb6e9ce04773dd81bb3c52a6f5cef12e633b0922cb9f91ca99acc9e4b78

View file

@ -11,13 +11,11 @@ ac_add_options --enable-pulseaudio
ac_add_options --enable-av1
ac_add_options --without-system-icu
ac_add_options --enable-release
ac_add_options --update-channel=esr
ac_add_options --update-channel=release
ac_add_options --allow-addon-sideload
ac_add_options --enable-js-shell
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --disable-bootstrap
ac_add_options --without-sysroot

View file

@ -2,5 +2,11 @@
#
# Run Thunderbird under Wayland
#
export MOZ_ENABLE_WAYLAND=1
##
## Enable Wayland backend?
##
if [ "$XDG_CURRENT_DESKTOP" == "GNOME" ]; then
export MOZ_ENABLE_WAYLAND=1
fi
exec __PREFIX__/bin/thunderbird "$@"

View file

@ -8,7 +8,7 @@ TryExec=thunderbird
Icon=thunderbird
Terminal=false
Type=Application
MimeType=message/rfc822;x-scheme-handler/mailto;text/calendar;text/vcard;text/x-vcard;x-scheme-handler/webcal;x-scheme-handler/webcals;x-scheme-handler/mid;
MimeType=message/rfc822;x-scheme-handler/mailto;
StartupNotify=true
Categories=Network;Email;
Name[cs]=Poštovní klient Thunderbird

View file

@ -59,9 +59,6 @@ export GNOME_DISABLE_CRASH_DIALOG
##
export G_SLICE=always-malloc
# Flatpak specific environment variables
%FLATPAK_ENV_VARS%
##
## Allow downgrade because during distro upgrade the build time can be
## older in newer version than the previous one.
@ -84,8 +81,6 @@ if [ "$WAYLAND_DISPLAY" ]; then
export MOZ_DBUS_REMOTE=1
fi
__WAYLAND_X11_PLACEHOLDER__
##
## Automatically installed langpacks are tracked by .fedora-langpack-install
## config file.

View file

@ -1,21 +1,3 @@
# ppc64le started to fail permanently, apparently OOM,
# first f42 https://koji.fedoraproject.org/koji/taskinfo?taskID=124917502
# then f40 https://koji.fedoraproject.org/koji/taskinfo?taskID=125295645
# then also f41 https://koji.fedoraproject.org/koji/taskinfo?taskID=125632253
# Excluded due to https://bugzilla.mozilla.org/show_bug.cgi?id=1792159
# https://bugzilla.redhat.com/show_bug.cgi?id=2129720
ExcludeArch: i686
%ifarch ppc64le
%global rustflags_debuginfo 1
%endif
%if 0%{?fedora} > 35 || 0%{?rhel} > 9
%global dictionarydir hunspell
%else
%global dictionarydir myspell
%endif
# Disabled arm due to rhbz#1658940
ExcludeArch: armv7hl
@ -25,12 +7,16 @@ ExcludeArch: armv7hl
# Build as a debug package?
%define debug_build 0
# Hardened build?
%define hardened_build 1
%define system_ffi 1
%define build_langpacks 1
%bcond_with toolchain_clang
%global build_with_clang 0
%global use_bundled_cbindgen 1
%global disable_elfhack 1
%if %{?system_nss}
%global nspr_version 4.26.0
@ -44,9 +30,27 @@ ExcludeArch: armv7hl
%define libnotify_version 0.4
%define _default_patch_fuzz 2
# There are still build problems on s390x, see
# https://koji.fedoraproject.org/koji/taskinfo?taskID=55048351
# https://bugzilla.redhat.com/show_bug.cgi?id=1897522
ExcludeArch: s390x
# libvpx is too new for Firefox 65
%if 0%{?fedora} < 30
%global system_libvpx 1
%else
%global system_libvpx 0
%endif
%define system_jpeg 1
# Use system libicu? - libicu even on rawhide too old
%if 0%{?fedora} >= 27
%define system_libicu 0
%else
%define system_libicu 0
%endif
# Big endian platforms
%ifarch ppc64 s390x
# Javascript Intl API is not supported on big endian platforms right now:
@ -54,6 +58,10 @@ ExcludeArch: armv7hl
%define big_endian 1
%endif
%if %{?system_libvpx}
%global libvpx_version 1.4.0
%endif
%define thunderbird_app_id \{3550f703-e582-4d05-9a08-453d09bdfdc6\}
%global langpackdir %{mozappdir}/extensions
@ -66,23 +74,13 @@ ExcludeArch: armv7hl
%define mozappdir %{_libdir}/thunderbird
%define official_branding 1
#define pre_version
%define enable_mozilla_crashreporter 0
%if %{with toolchain_clang}
%global toolchain clang
# enable crash reporter only for iX86
%ifarch %{ix86} x86_64
%if 0%{?fedora} < 27 && 0%{?rhel} <= 7
%define enable_mozilla_crashreporter 1
%endif
# Fedora version number from which no extra Wayland package is built and Wayland is default, F40+.
%global only_wayland 40
# Where to place node-stdout-nonblocking-wrapper for build.
%if 0%{?fedora} >= 41
# RPM 4.20 defines %builddir
%global nodewrapperdir %{builddir}/bin
%else
%global nodewrapperdir %{_buildrootdir}/bin
%endif
# Exclude private libraries from autogenerated provides and requires
@ -91,13 +89,13 @@ ExcludeArch: armv7hl
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
Version: 147.0
Version: 91.3.0
Release: 1%{?dist}
URL: http://www.mozilla.org/projects/thunderbird/
License: MPL-2.0 OR GPL-2.0-or-later OR LGPL-2.0-or-later
License: MPLv1.1 or GPLv2+ or LGPLv2+
Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?pre_version}/source/thunderbird-%{version}%{?pre_version}.source.tar.xz
%if %{build_langpacks}
Source1: thunderbird-langpacks-%{version}%{?pre_version}-20260114.tar.xz
Source1: thunderbird-langpacks-%{version}-20211109.tar.xz
%endif
Source3: get-calendar-langpacks.sh
Source4: cbindgen-vendor.tar.xz
@ -105,60 +103,30 @@ Source4: cbindgen-vendor.tar.xz
Source10: thunderbird-mozconfig
Source11: thunderbird-mozconfig-branded
Source12: thunderbird-redhat-default-prefs.js
Source20: thunderbird.desktop
Source21: thunderbird.sh.in
Source25: thunderbird-symbolic.svg
Source28: thunderbird-wayland.sh.in
Source29: thunderbird-wayland.desktop
Source32: node-stdout-nonblocking-wrapper
Source33: net.thunderbird.Thunderbird.desktop
Source34: net.thunderbird.Thunderbird.appdata.xml
#Patch416: firefox-SIOCGSTAMP.patch
Patch418: mozilla-1512162.patch
#Patch419: bindgen-d0dfc52706f23db9dc9d74642eeebd89d73cb8d0.patch
# gcc 12 build fix patches
Patch422: 0001-GLIBCXX-fix-for-GCC-12.patch
Patch425: build-disable-elfhack.patch
# Build patches
Patch32: build-rust-ppc64le.patch
Patch35: build-ppc-jit.patch
Patch36: build-botan-target.patch
Patch37: build-c11-threads-avail.patch
# Fixing missing cacheFlush when JS_CODEGEN_NONE is used (s390x)
Patch40: build-aarch64-skia.patch
Patch44: build-arm-libopus.patch
Patch53: firefox-gcc-build.patch
Patch71: 0001-GLIBCXX-fix-for-GCC-12.patch
Patch78: firefox-i686-build.patch
Patch79: firefox-gcc-13-build.patch
# PROTOBUF_MUSTTAIL return ... error: cannot tail-call: target is not able to optimize the call into a sibling call
Patch82: build-s390x-protobuf-musttail.patch
# Build failure on rawhide of wrongly defined SYS_SECCOMP
Patch83: build-seccomp.patch
Patch84: build-minimal-lexical.patch
Patch85: build-libcubeb.patch
Patch86: build-missing-gitmodules.patch
Patch9: mozilla-build-arm.patch
Patch226: rhbz-1354671.patch
Patch415: Bug-1238661---fix-mozillaSignalTrampoline-to-work-.patch
Patch416: firefox-SIOCGSTAMP.patch
Patch418: mozilla-1512162.patch
Patch419: bindgen-d0dfc52706f23db9dc9d74642eeebd89d73cb8d0.patch
Patch103: rhbz-1219542-s390-build.patch
# PPC fix
Patch304: mozilla-1245783.patch
# Fedora specific patches
# Upstream patches
Patch402: mozilla-526293.patch
Patch406: mozilla-1170092.patch
# https://bugzilla.mozilla.org/show_bug.cgi?id=1998188
# this is the Firefox patch, manually rediffed against 146.0.1
# https://bugzilla.mozilla.org/show_bug.cgi?id=2008377
# fix crash on aarch64
# Bundled expat backported patches
# Tentative patch for RUSTFLAGS parsing issue,
# borrowed from firefox commit 24c9accce19c5cae9394430b24eaf938a9c17882:
# https://bugzilla.redhat.com/show_bug.cgi?id=2184743
# https://bugzilla.mozilla.org/show_bug.cgi?id=1474486
Patch1200: rustflags-commasplit.patch
%if %{official_branding}
# Required by Mozilla Corporation
@ -177,7 +145,6 @@ BuildRequires: nss-devel >= %{nss_version}
Requires: nspr >= %{nspr_build_version}
Requires: nss >= %{nss_build_version}
%endif
BuildRequires: libappstream-glib
BuildRequires: libnotify-devel >= %{libnotify_version}
BuildRequires: libpng-devel
BuildRequires: libjpeg-devel
@ -186,6 +153,7 @@ BuildRequires: bzip2-devel
BuildRequires: zlib-devel
#BuildRequires: libIDL-devel
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: krb5-devel
BuildRequires: pango-devel
BuildRequires: freetype-devel >= %{freetype_version}
@ -196,7 +164,7 @@ BuildRequires: llvm
BuildRequires: llvm-devel
BuildRequires: clang
BuildRequires: clang-libs
%if "%toolchain" == "clang"
%if 0%{?build_with_clang}
BuildRequires: lld
%endif
%if %{?system_ffi}
@ -208,23 +176,22 @@ BuildRequires: m4
BuildRequires: desktop-file-utils
BuildRequires: libcurl-devel
BuildRequires: mesa-libGL-devel
%if %{?system_libvpx}
BuildRequires: libvpx-devel >= %{libvpx_version}
%endif
BuildRequires: pulseaudio-libs-devel
BuildRequires: libicu-devel
BuildRequires: perl-interpreter
Requires: mozilla-filesystem
BuildRequires: yasm
BuildRequires: dbus-glib-devel
Obsoletes: thunderbird-lightning
Provides: thunderbird-lightning
Obsoletes: thunderbird-lightning-gdata <= 1:3.3.0.14
BuildRequires: rust
BuildRequires: cargo
BuildRequires: rust-version_check-devel
%if 0%{?fedora} >= 40
BuildRequires: clang17-devel
%else
BuildRequires: clang-devel
%endif
BuildRequires: python3.11-devel
BuildRequires: python2-devel
%if !0%{?use_bundled_cbindgen}
BuildRequires: cbindgen
%endif
@ -236,18 +203,12 @@ BuildRequires: icu
%endif
# require any OpenPGP backend with the librnp interface
# see comm/mail/extensions/openpgp/content/modules/RNPLib.jsm
# %%{mozappdir}/librnp.so or %%{_libdir}/librnp.so.0
Requires: (thunderbird-librnp%{?_isa} or librnp%{?_isa})
Requires: thunderbird-librnp%{?_isa}
# prefer the librnp implementation bundled with thunderbird
Suggests: thunderbird-librnp-rnp%{?_isa}
Suggests: u2f-hidraw-policy
%if 0%{?fedora} >= %{only_wayland}
Obsoletes: thunderbird-wayland < 115.11.0-1
%endif
%description
Mozilla Thunderbird is a standalone mail and newsgroup client.
@ -262,10 +223,7 @@ The thunderbird-librnp-rnp package contains an OpenPGP implementation
based on RNP.
%files librnp-rnp
%{mozappdir}/librnp.so
%{mozappdir}/rnp-cli
%{mozappdir}/rnpkeys
%if 0%{?fedora} < %{only_wayland}
%package wayland
Summary: Thunderbird Wayland launcher.
Requires: %{name}
@ -275,7 +233,6 @@ to run Thunderbird natively on Wayland.
%files wayland
%{_bindir}/thunderbird-wayland
%attr(644,root,root) %{_datadir}/applications/mozilla-thunderbird-wayland.desktop
%endif
%if %{enable_mozilla_crashreporter}
%global moz_debug_prefix %{_prefix}/lib/debug
@ -299,38 +256,40 @@ debug %{name}, you want to install %{name}-debuginfo instead.
%setup -q
# Build patches
%patch9 -p2 -b .arm
%ifarch s390
%patch103 -p1 -b .rhbz-1219542-s390-build
%endif
%if 0%{?fedora} >= 35
# since python3.10 we need to use `from collections.abc` instead of `from collections`.
%endif
%patch304 -p1 -b .1245783
# Patch for big endian platforms only
#%if 0%{?big_endian}
#%endif
#ARM run-time patch
%ifarch aarch64
#%patch -P 226 -p1 -b .1354671
#%patch226 -p1 -b .1354671
%endif
#FIXME %%patch -P 416 -p1 -b .SIOCGSTAMP
%patch -P36 -p1 -b .build-botan
%if 0%{?fedora} > 43
%patch -P37 -p1 -b .build-c11-threads-avail
%ifarch %{arm}
%patch415 -p1 -b .mozilla-1238661
%endif
%patch -P 418 -p1 -b .mozbz-1512162
#FIXME %patch416 -p1 -b .SIOCGSTAMP
%patch418 -p1 -b .mozbz-1512162
# most likely fixed
#%%patch -P 419 -p1 -b .bindgen
#%patch419 -p1 -b .bindgen
%patch -P 402 -p1 -b .526293
%patch -P 406 -p1 -b .1170092-etc-conf
%if 0%{?disable_elfhack}
%endif
#cd ..
%patch -P 422 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
#patch -P40 -p1 -b .aarch64-skia
%patch -P44 -p1 -b .build-arm-libopus
#patch -P53 -p1 -b .firefox-gcc-build
%patch -P71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
%patch -P78 -p1 -b .firefox-i686
%patch -P79 -p1 -b .firefox-gcc-13-build
%patch -P82 -p1 -b .build-s390x-protobuf-musttail
%patch -P83 -p1 -b .build-seccomp
%patch -P84 -p1 -b .minimal-lexical
%patch -P85 -p1 -b .libcubeb
%patch -P86 -p1 -b .missing-gitmodules
#patch -P 1200 -p1 -b .rustflags-commasplit
%patch402 -p1 -b .526293
%patch406 -p1 -b .1170092-etc-conf
pushd comm
popd
%if %{official_branding}
# Required by Mozilla Corporation
@ -384,7 +343,6 @@ echo "ac_add_options --enable-system-ffi" >> .mozconfig
%endif
%ifarch aarch64
echo "ac_add_options --disable-elf-hack" >> .mozconfig
echo "ac_add_options --disable-jit" >> .mozconfig
%endif
@ -408,10 +366,23 @@ echo "ac_add_options --with-arch=armv5te" >> .mozconfig
echo "ac_add_options --with-float-abi=soft" >> .mozconfig
echo "ac_add_options --disable-yarr-jit" >> .mozconfig
%endif
%if %{?system_jpeg}
echo "ac_add_options --with-system-jpeg" >> .mozconfig
%if %{?system_libicu}
echo "ac_add_options --with-system-icu" >> .mozconfig
%else
echo "ac_add_options --without-system-icu" >> .mozconfig
%endif
%if !%{?system_jpeg}
echo "ac_add_options --without-system-jpeg" >> .mozconfig
%else
echo "ac_add_options --with-system-jpeg" >> .mozconfig
%endif
%if %{?system_libvpx}
echo "ac_add_options --with-system-libvpx" >> .mozconfig
%else
echo "ac_add_options --without-system-libvpx" >> .mozconfig
%endif
%if %{enable_mozilla_crashreporter}
@ -420,20 +391,7 @@ echo "ac_add_options --enable-crashreporter" >> .mozconfig
echo "ac_add_options --disable-crashreporter" >> .mozconfig
%endif
# Same as https://bugzilla.redhat.com/show_bug.cgi?id=2239046 for Firefox:
# Clang 17 upstream's detection fails, tell it where to look.
echo 'export NODEJS="%{nodewrapperdir}/node-stdout-nonblocking-wrapper"' >> .mozconfig
%if 0%{?fedora} >= %{only_wayland}
echo 'export MOZ_APP_REMOTINGNAME=net.thunderbird.Thunderbird' >> .mozconfig
%else
echo 'export MOZ_APP_REMOTINGNAME=thunderbird' >> .mozconfig
%endif
# https://bugzilla.redhat.com/show_bug.cgi?id=2239046
# with clang 17 upstream's detection fails, so let's just tell it
# where to look
echo "ac_add_options --with-libclang-path=`llvm-config --libdir`" >> .mozconfig
echo 'export NODEJS="%{_buildrootdir}/bin/node-stdout-nonblocking-wrapper"' >> .mozconfig
# Remove executable bit to make brp-mangle-shebangs happy.
find third_party -type f -iname "*.rs"|xargs chmod a-x
@ -463,8 +421,19 @@ env CARGO_HOME=.cargo cargo install cbindgen
export PATH=`pwd`/.cargo/bin:$PATH
%endif
mkdir -p %{nodewrapperdir} || :
cp %{SOURCE32} %{nodewrapperdir} || :
%if 0%{?big_endian}
echo "Generate big endian version of config/external/icu/data/icud58l.dat"
icupkg -tb config/external/icu/data/icudt67l.dat config/external/icu/data/icudt67b.dat
ls -l config/external/icu/data
rm -f config/external/icu/data/icudt*l.dat
# ./mach python intl/icu_sources_data.py .
# ls -l config/external/icu/data
# rm -f config/external/icu/data/icudt*l.dat
# cat /tmp/icu*
%endif
mkdir %{_buildrootdir}/bin || :
cp %{SOURCE32} %{_buildrootdir}/bin || :
# Update the various config.guess to upstream release for aarch64 support
find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
@ -478,15 +447,16 @@ find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
#
MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive" | \
%{__sed} -e 's/-Wall//')
# Thunderbird is not supposed to build with exceptions globally enabled
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | sed -e 's/-fexceptions//')
#rhbz#1037063
# -Werror=format-security causes build failures when -Wno-format is explicitly given
# for some sources
# Explicitly force the hardening flags for Firefox so it passes the checksec test;
# See also https://fedoraproject.org/wiki/Changes/Harden_All_Packages
%if 0%{?fedora} < 30
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
%else
# Workaround for mozbz#1531309
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-Werror=format-security//')
%endif
# Use hardened build?
%if %{?hardened_build}
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now"
%endif
%if %{?debug_build}
MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-O2//')
%endif
@ -503,7 +473,7 @@ MOZ_OPT_FLAGS=$(echo "$MOZ_OPT_FLAGS" | %{__sed} -e 's/-g/-g0/')
export MOZ_DEBUG_FLAGS=" "
%endif
%if "%toolchain" != "clang"
%if !0%{?build_with_clang}
%ifarch s390 ppc aarch64 %{ix86}
MOZ_LINK_FLAGS="-Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif
@ -517,10 +487,8 @@ echo "ac_add_options --enable-linker=gold" >> .mozconfig
# __global_ldflags that normally sets this.
MOZ_LINK_FLAGS="$MOZ_LINK_FLAGS -L%{_libdir}"
%endif
%ifarch %{arm} %{ix86} s390x
RUSTFLAGS=`echo $RUSTFLAGS | sed -e 's/opt-level=3/opt-level=2/g' -e 's/debuginfo=2/debuginfo=0/g'`
export RUSTFLAGS=$RUSTFLAGS
%ifarch %{arm} %{ix86} %{s390x}
export RUSTFLAGS="-Cdebuginfo=0"
%endif
# We don't want thunderbird to use CK_GCM_PARAMS_V3 in nss
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
@ -528,9 +496,8 @@ MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -DNSS_PKCS11_3_0_STRICT"
echo "export CFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
echo "export CXXFLAGS=\"$MOZ_OPT_FLAGS\"" >> .mozconfig
echo "export LDFLAGS=\"$MOZ_LINK_FLAGS\"" >> .mozconfig
echo "export RUSTFLAGS=\"$RUSTFLAGS\"" >> .mozconfig
%if "%toolchain" == "clang"
%if 0%{?build_with_clang}
echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig
echo "export AR=\"llvm-ar\"" >> .mozconfig
echo "export NM=\"llvm-nm\"" >> .mozconfig
@ -549,15 +516,21 @@ echo "ac_add_options MOZ_PGO=1" >> .mozconfig
export CCACHE_DISABLE=1
%endif
# Require 4 GB of RAM per CPU core
%constrain_build -m 4096
echo "mk_add_options MOZ_MAKE_FLAGS=\"-j%{_smp_build_ncpus}\"" >> .mozconfig
MOZ_SMP_FLAGS=-j1
# On x86 architectures, Mozilla can build up to 4 jobs at once in parallel,
# however builds tend to fail on other arches when building in parallel.
%ifarch %{ix86} x86_64 ppc %{power64} aarch64
[ -z "$RPM_BUILD_NCPUS" ] && \
RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"
[ "$RPM_BUILD_NCPUS" -ge 2 ] && MOZ_SMP_FLAGS=-j2
[ "$RPM_BUILD_NCPUS" -ge 4 ] && MOZ_SMP_FLAGS=-j4
[ "$RPM_BUILD_NCPUS" -ge 8 ] && MOZ_SMP_FLAGS=-j8
%endif
export MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS"
export STRIP=/bin/true
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
#Use python 3.11 for mach
sed -i -e 's|#!/usr/bin/env python3|#!/usr/bin/env python3.11|' mach
export MACH_USE_SYSTEM_PYTHON=1
./mach build -v
# create debuginfo for crash-stats.mozilla.com
@ -587,20 +560,12 @@ done
%{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
%if 0%{?fedora} < %{only_wayland}
desktop-file-install --vendor mozilla \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE20}
# wayland desktop file only for older fedoras
desktop-file-install --vendor mozilla \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE29}
%else
#net.thunderbird.Thunderbird for F40+
desktop-file-install \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE33}
%endif
# set up the thunderbird start script
@ -608,28 +573,13 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/thunderbird
%{__cat} %{SOURCE21} | %{__sed} -e 's,__PREFIX__,%{_prefix},g' > \
$RPM_BUILD_ROOT/%{_bindir}/thunderbird
%{__chmod} 755 $RPM_BUILD_ROOT/%{_bindir}/thunderbird
%if 0%{?flatpak}
sed -i -e 's|%FLATPAK_ENV_VARS%|export TMPDIR="$XDG_CACHE_HOME/tmp"|' %{buildroot}%{_bindir}/thunderbird
%else
sed -i -e 's|%FLATPAK_ENV_VARS%||' %{buildroot}%{_bindir}/thunderbird
%endif
# Enable wayland by default on f40+
# Overridable for rhbz#2283993 https://bugzilla.mozilla.org/show_bug.cgi?id=1898476
%if 0%{?fedora} >= %{only_wayland}
sed -i -e 's,__WAYLAND_X11_PLACEHOLDER__,export MOZ_ENABLE_WAYLAND="${MOZ_ENABLE_WAYLAND:-1}",g' $RPM_BUILD_ROOT/%{_bindir}/thunderbird
%else
sed -i -e 's,__WAYLAND_X11_PLACEHOLDER__,,g' $RPM_BUILD_ROOT/%{_bindir}/thunderbird
%{__cat} %{SOURCE28} | %{__sed} -e 's,__PREFIX__,%{_prefix},g' > \
%{buildroot}%{_bindir}/thunderbird-wayland
%{__chmod} 755 %{buildroot}%{_bindir}/thunderbird-wayland
%endif
# set up our default preferences
%{__cat} %{SOURCE12} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' \
-e 's,myspell,%{dictionarydir},g' \
> $RPM_BUILD_ROOT/rh-default-prefs
%{__cat} %{SOURCE12} | %{__sed} -e 's,THUNDERBIRD_RPM_VR,%{version}-%{release},g' > \
$RPM_BUILD_ROOT/rh-default-prefs
%{__install} -D $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{mozappdir}/greprefs/all-redhat.js
%{__install} -D $RPM_BUILD_ROOT/rh-default-prefs $RPM_BUILD_ROOT/%{mozappdir}/defaults/pref/all-redhat.js
%{__rm} $RPM_BUILD_ROOT/rh-default-prefs
@ -680,7 +630,7 @@ install -c -m 644 LICENSE $RPM_BUILD_ROOT%{mozappdir}
# Use the system hunspell dictionaries
%{__rm} -rf $RPM_BUILD_ROOT/%{mozappdir}/dictionaries
ln -s $(pkg-config --variable prefix hunspell)/share/%{dictionarydir} $RPM_BUILD_ROOT%{mozappdir}/dictionaries
ln -s $(pkg-config --variable prefix hunspell)/share/myspell $RPM_BUILD_ROOT%{mozappdir}/dictionaries
# ghost files
%{__mkdir_p} $RPM_BUILD_ROOT%{mozappdir}/components
@ -694,14 +644,8 @@ touch $RPM_BUILD_ROOT%{mozappdir}/components/xpti.dat
%endif
# Register as an application to be visible in the software center
mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo
%{__sed} -e "s/__VERSION__/%{version}/" \
-e "s/__DATE__/$(date '+%Y-%m-%d')/" \
%{SOURCE34} > %{buildroot}%{_datadir}/metainfo/net.thunderbird.Thunderbird.appdata.xml
#===============================================================================
%check
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
%{__cp} -p comm/mail/branding/%{name}/net.thunderbird.Thunderbird.appdata.xml $RPM_BUILD_ROOT%{_datadir}/appdata/thunderbird.appdata.xml
#===============================================================================
@ -723,8 +667,8 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files -f %{name}.lang
%defattr(-,root,root,-)
%attr(755,root,root) %{_bindir}/thunderbird
%{_datadir}/metainfo/*.appdata.xml
%attr(644,root,root) %{_datadir}/applications/net.thunderbird.Thunderbird.desktop
%{_datadir}/appdata/*.appdata.xml
%attr(644,root,root) %{_datadir}/applications/mozilla-thunderbird.desktop
%dir %{_sysconfdir}/%{name}
%dir %{_sysconfdir}/%{name}/*
%dir %{_datadir}/mozilla/extensions/%{thunderbird_app_id}
@ -736,6 +680,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%ghost %{mozappdir}/components/compreg.dat
%ghost %{mozappdir}/components/xpti.dat
%{mozappdir}/omni.ja
%{mozappdir}/plugin-container
%{mozappdir}/defaults
%{mozappdir}/dictionaries
%if %{build_langpacks}
@ -770,373 +715,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{mozappdir}/dependentlibs.list
%{mozappdir}/fonts
%{mozappdir}/pingsender
%{mozappdir}/glxtest
%{mozappdir}/vaapitest
%{mozappdir}/interesting_serverknobs.json
#===============================================================================
%changelog
* Wed Jan 14 2026 Jan Horak <jhorak@redhat.com> - 147.0-1
- Update to 147.0
* Fri Jan 02 2026 Adam Williamson <awilliam@redhat.com> - 146.0.1-3
- Port aarch64 crash fix from Firefox (upstream #2005469 / #2008377)
* Mon Dec 22 2025 Adam Williamson <awilliam@redhat.com> - 146.0.1-2
- Backport fix for resize crash bug (RHBZ #2423824 upstream #1998188)
* Thu Dec 18 2025 Jan Horak <jhorak@redhat.com> - 146.0.1-1
- Update to 146.0.1
* Mon Dec 15 2025 Jan Horak <jhorak@redhat.com> - 146.0-1
- Update to 146.0
* Wed Nov 19 2025 Jan Horak <jhorak@redhat.com> - 145.0-1
- Update to 145.0
* Thu Nov 06 2025 Jan Horak <jhorak@redhat.com> - 144.0.1-2
- Fixing sigsegv on rawhide
* Tue Oct 21 2025 Jan Horak <jhorak@redhat.com> - 144.0.1-1
- Update to 144.0.1
* Thu Oct 16 2025 Jan Horak <jhorak@redhat.com> - 144.0-1
- Update to 144.0
* Thu Oct 2 2025 Jan Horak <jhorak@redhat.com> - 143.0.1-1
- Update to 143.0.1
* Thu Sep 25 2025 Dominik Mierzejewski <dominik@greysector.net> - 140.3.0-2
- Drop unused yasm from build dependencies
See: https://fedoraproject.org/wiki/Changes/DeprecateYASM
Resolves: rhbz#2390538
* Wed Sep 24 2025 Jan Horak <jhorak@redhat.com> - 140.3.0-1
- Update to 140.3.0 ESR
* Thu Sep 4 2025 Jan Horak <jhorak@redhat.com> - 140.2.1-1
- Update to 140.2.1 ESR
* Wed Jul 23 2025 Eike Rathke <erack@redhat.com> - 128.13.0-1
- Update to 128.13.0
* Mon Jul 07 2025 Eike Rathke <erack@redhat.com> - 128.12.0-1
- Update to 128.12.0
* Wed Jun 11 2025 Eike Rathke <erack@redhat.com> - 128.11.1-1
- Update to 128.11.1
* Mon May 26 2025 Eike Rathke <erack@redhat.com> - 128.11.0-1
- Update to 128.11.0
* Wed May 21 2025 Eike Rathke <erack@redhat.com> - 128.10.2-1
- Update to 128.10.2
* Mon May 19 2025 Eike Rathke <erack@redhat.com> - 128.10.1-1
- Update to 128.10.1
* Tue Apr 29 2025 Eike Rathke <erack@redhat.com> - 128.10.0-1
- Update to 128.10.0
* Thu Apr 17 2025 Eike Rathke <erack@redhat.com> - 128.9.2-1
- Update to 128.9.2
* Wed Apr 02 2025 Eike Rathke <erack@redhat.com> - 128.9.0-1
- Update to 128.9.0
* Thu Mar 06 2025 Eike Rathke <erack@redhat.com> - 128.8.0-1
- Update to 128.8.0
* Wed Feb 19 2025 Jan Horak <jhorak@redhat.com> - 128.7.1-1
- Update to 128.7.1 build1
* Tue Jan 28 2025 Eike Rathke <erack@redhat.com> - 128.6.1-1
- Update to 128.6.1
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 128.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jan 08 2025 Eike Rathke <erack@redhat.com> - 128.6.0-1
- Update to 128.6.0
* Thu Dec 19 2024 Daniel Rusek <mail@asciiwolf.com> - 128.5.2-2
- Use upstream rDNS naming scheme for desktop and appdata files
Resolves: rhbz#2210038
* Wed Dec 11 2024 Eike Rathke <erack@redhat.com> - 128.5.2-1
- Update to 128.5.2
* Wed Nov 27 2024 Eike Rathke <erack@redhat.com> - 128.5.0-1
- Update to 128.5.0
* Wed Nov 13 2024 Eike Rathke <erack@redhat.com> - 128.4.3-1
- Update to 128.4.3
* Thu Nov 07 2024 Eike Rathke <erack@redhat.com> - 128.4.2-1
- Update to 128.4.2
* Mon Oct 28 2024 Eike Rathke <erack@redhat.com> - 128.4.0-1
- Update to 128.4.0 build1
* Tue Oct 22 2024 Eike Rathke <erack@redhat.com> - 128.3.3-1
- Update to 128.3.3
* Thu Oct 17 2024 Eike Rathke <erack@redhat.com> - 128.3.2-1
- Update to 128.3.2
* Thu Oct 10 2024 Eike Rathke <erack@redhat.com> - 128.3.1-1
- Update to 128.3.1
* Tue Oct 08 2024 Eike Rathke <erack@redhat.com> - 128.3.0-1
- Update to 128.3.0
* Thu Sep 05 2024 Eike Rathke <erack@redhat.com> - 128.2.0-1
- Update to 128.2.0
* Tue Aug 06 2024 Eike Rathke <erack@redhat.com> - 128.1.0-1
- Update to 128.1.0
* Wed Jul 17 2024 Jan Horak <jhorak@redhat.com> - 128.0-1
- Update to 128.0 ESR
* Tue Jul 16 2024 Eike Rathke <erack@redhat.com> - 115.13.0-1
- Update to 115.13.0
* Wed Jun 19 2024 Eike Rathke <erack@redhat.com> - 115.12.1-1
- Update to 115.12.1
* Tue Jun 18 2024 Eike Rathke <erack@redhat.com> - 115.12.0-3
- Resolves: rhbz#2283993 Allow MOZ_ENABLE_WAYLAND default value override
* Wed Jun 12 2024 Eike Rathke <erack@redhat.com> - 115.12.0-2
- Update to 115.12.0
* Mon Jun 03 2024 Eike Rathke <erack@redhat.com> - 115.11.2-1
- Update to 115.11.2
* Wed May 29 2024 Eike Rathke <erack@redhat.com> - 115.11.1-1
- Update to 115.11.1
* Tue May 14 2024 Eike Rathke <erack@redhat.com> - 115.11.0-1
- Update to 115.11.0
* Tue Apr 23 2024 Jan Horak <jhorak@redhat.com> - 115.10.1-4
- Move the MOZ_APP_REMOTINGNAME from the startup script to the build options.
* Tue Apr 23 2024 Jan Horak <jhorak@redhat.com> - 115.10.1-3
- Fixed startup script
* Mon Apr 22 2024 Eike Rathke <erack@redhat.com> - 115.10.1-2
- Resolves: rhbz#2276078 Set MOZ_APP_REMOTINGNAME to firefox
* Mon Apr 22 2024 Eike Rathke <erack@redhat.com> - 115.10.1-1
- Update to 115.10.1
* Tue Apr 16 2024 Eike Rathke <erack@redhat.com> - 115.10.0-1
- Update to 115.10.0
- Revert expat CVE-2023-52425 fix
* Fri Mar 22 2024 Jan Horak <jhorak@redhat.com> - 115.9.0-2
- Use wayland backend on Fedora 40+
* Mon Mar 18 2024 Eike Rathke <erack@redhat.com> - 115.9.0-1
- Update to 115.9.0
- Fix expat CVE-2023-52425
* Tue Mar 05 2024 Eike Rathke <erack@redhat.com> - 115.8.1-1
- Update to 115.8.1
* Wed Feb 21 2024 Eike Rathke <erack@redhat.com> - 115.8.0-1
- Update to 115.8.0
* Wed Jan 24 2024 Eike Rathke <erack@redhat.com> - 115.7.0-1
- Update to 115.7.0
* Wed Jan 10 2024 Eike Rathke <erack@redhat.com> - 115.6.1-1
- Update to 115.6.1
* Wed Dec 20 2023 Eike Rathke <erack@redhat.com> - 115.6.0-1
- Update to 115.6.0
* Tue Dec 12 2023 Eike Rathke <erack@redhat.com> - 115.5.2-1
- Update to 115.5.2
* Tue Nov 28 2023 Eike Rathke <erack@redhat.com> - 115.5.1-1
- Update to 115.5.1
* Fri Nov 24 2023 Eike Rathke <erack@redhat.com> - 115.5.0-1
- Update to 115.5.0
* Wed Nov 15 2023 Eike Rathke <erack@redhat.com> - 115.4.3-1
- Update to 115.4.3
* Wed Nov 08 2023 Eike Rathke <erack@redhat.com> - 115.4.2-1
- Update to 115.4.2
* Wed Oct 25 2023 Eike Rathke <erack@redhat.com> - 115.4.1-1
- Update to 115.4.1
* Tue Oct 24 2023 Eike Rathke <erack@redhat.com> - 115.4.0-1
- Update to 115.4.0
* Wed Oct 11 2023 Eike Rathke <erack@redhat.com> - 115.3.2-1
- Update to 115.3.2
* Sat Oct 07 2023 Kalev Lember <klember@redhat.com> - 115.3.1-2
- Fix flatpak build
* Fri Sep 29 2023 Eike Rathke <erack@redhat.com> - 115.3.1-1
- Update to 115.3.1
* Wed Sep 27 2023 Eike Rathke <erack@redhat.com> - 115.3.0-1
- Update to 115.3.0
* Tue Sep 19 2023 Eike Rathke <erack@redhat.com> - 115.2.2-1
- Update to 115.2.2
* Tue Aug 15 2023 Jan Horak <jhorak@redhat.com> - 115.1.1-1
- Update to 115.1.1
* Mon Jul 24 2023 Jan Horak <jhorak@redhat.com> - 115.0.1-1
- Update to 115.0.1
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 102.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Jul 10 2023 Eike Rathke <erack@redhat.com> - 102.13.0-1
- Update to 102.13.0
* Wed Jun 07 2023 Eike Rathke <erack@redhat.com> - 102.12.0-1
- Update to 102.12.0
* Thu May 25 2023 Eike Rathke <erack@redhat.com> - 102.11.1-1
- Update to 102.11.1
- Change %%patchN ... to %%patch -P N ...
* Wed May 10 2023 Eike Rathke <erack@redhat.com> - 102.11.0-1
- Update to 102.11.0
* Tue Apr 11 2023 Eike Rathke <erack@redhat.com> - 102.10.0-1
- Update to 102.10.0
* Wed Mar 29 2023 Eike Rathke <erack@redhat.com> - 102.9.1-1
- Update to 102.9.1
* Wed Mar 15 2023 Eike Rathke <erack@redhat.com> - 102.9.0-1
- Update to 102.9.0
* Fri Feb 17 2023 Eike Rathke <erack@redhat.com> - 102.8.0-1
- Update to 102.8.0
* Wed Feb 08 2023 Eike Rathke <erack@redhat.com> - 102.7.2-1
- Update to 102.7.2
* Tue Jan 31 2023 Eike Rathke <erack@redhat.com> - 102.7.1-2
- Update to 102.7.1 build2
* Tue Jan 24 2023 Eike Rathke <erack@redhat.com> - 102.7.1-1
- Update to 102.7.1
- Fix FTBFS gcc13 header dependencies
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 102.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Dec 21 2022 Martin Stransky <stransky@redhat.com> - 102.6.0-2
- Backported mozbz#1804877 - set XDG_ACTIVATION_TOKEN when launch
external application.
* Tue Dec 13 2022 Eike Rathke <erack@redhat.com> - 102.6.0-1
- Update to 102.6.0
* Thu Dec 01 2022 Eike Rathke <erack@redhat.com> - 102.5.1-1
- Update to 102.5.1
* Tue Nov 15 2022 Eike Rathke <erack@redhat.com> - 102.5.0-1
- Update to 102.5.0
- Use SPDX license IDs in spec
* Wed Nov 02 2022 Eike Rathke <erack@redhat.com> - 102.4.1-1
- Update to 102.4.1
* Wed Oct 19 2022 Eike Rathke <erack@redhat.com> - 102.4.0-1
- Update to 102.4.0
* Thu Sep 29 2022 Eike Rathke <erack@redhat.com> - 102.3.1-1
- Update to 102.3.1
* Wed Sep 21 2022 Eike Rathke <erack@redhat.com> - 102.3.0-1
- Update to 102.3.0
* Thu Sep 01 2022 Eike Rathke <erack@redhat.com> - 102.2.1-1
- Update to 102.2.1
* Tue Aug 23 2022 Eike Rathke <erack@redhat.com> - 102.2.0-1
- Update to 102.2.0
* Wed Aug 3 2022 Jan Horak <jhorak@redhat.com> - 102.1.0-1
- Update to 102.1.0
* Thu Jul 28 2022 Eike Rathke <erack@redhat.com> - 91.12.0-1
- Update to 91.12.0
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 91.11.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jul 11 2022 Eike Rathke <erack@redhat.com> - 91.11.0-3
- Fix f37 FTBFS Python 3.11 API incompatibilities
* Tue Jul 05 2022 Tom Stellard <tstellar@redhat.com> - 91.11.0-2
- Clean up macros that allow building with clang
* Wed Jun 29 2022 Eike Rathke <erack@redhat.com> - 91.11.0-1
- Update to 91.11.0
* Tue May 31 2022 Eike Rathke <erack@redhat.com> - 91.10.0-1
- Update to 91.10.0
* Tue May 24 2022 Eike Rathke <erack@redhat.com> - 91.9.1-1
- Update to 91.9.1
* Wed May 04 2022 Eike Rathke <erack@redhat.com> - 91.9.0-1
- Update to 91.9.0
* Wed Apr 20 2022 Parag Nemade <pnemade AT redhat DOT com> - 91.8.0-2
- Update hunspell dictionary path
F36 Change https://fedoraproject.org/wiki/Changes/Hunspell_dictionary_dir_change
* Mon Apr 11 2022 Eike Rathke <erack@redhat.com> - 91.8.0-1
- Update to 91.8.0
* Tue Mar 15 2022 Eike Rathke <erack@redhat.com> - 91.7.0-1
- Update to 91.7.0
- plus patches to bundled expat against CVE-2022-25235 CVE-2022-25236 CVE-2022-25315
* Mon Mar 7 2022 Jan Horak <jhorak@redhat.com> - 91.6.2-1
- Update to 91.6.2
* Mon Feb 28 2022 Jan Horak <jhorak@redhat.com> - 91.6.1-1
- Update to 91.6.1 build1
* Fri Feb 11 2022 Jan Horak <jhorak@redhat.com> - 91.6.0-2
- Supply stock icon to the appdata file
* Wed Feb 09 2022 Jan Horak <jhorak@redhat.com> - 91.6.0-1
- Update to 91.6.0 build1
* Wed Feb 09 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-3
- Put appdata.xml to medainfo location
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 91.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Jan 18 2022 Jan Horak <jhorak@redhat.com> - 91.5.0-1
- Update to 91.5.0 build1
* Wed Dec 15 2021 Jan Horak <jhorak@redhat.com> - 91.4.0-1
- Update to 91.4.0 build2
- Enabled wayland backend for all DE (thanks to Timothée Ravier <travier@redhat.com>)
* Tue Nov 09 2021 Jan Horak <jhorak@redhat.com> - 91.3.0-1
- Update to 91.3.0 build2
@ -1256,7 +838,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
* Fri Mar 13 2020 Jan Horak <jhorak@redhat.com> - 68.6.0-1
- Update to 68.6.0 build2
* Thu Mar 03 2020 David Auer <dreua@posteo.de> - 68.5.0-2
* Wed Mar 3 2020 David Auer <dreua@posteo.de> - 68.5.0-2
- Fix spellcheck (rhbz#1753011)
* Thu Feb 13 2020 Jan Horak <jhorak@redhat.com> - 68.5.0-1