Compare commits

..

88 commits

Author SHA1 Message Date
Jan Horak
17a3f9ddd6 Fixing build failures 2026-01-15 12:14:10 +01:00
Jan Horak
6e08ceaf21 Fixing build failures 2026-01-15 09:48:42 +01:00
Jan Horak
82201594c7 Update to TB 147 2026-01-14 16:20:23 +01:00
Adam Williamson
42d5557980 Port aarch64 crash fix from Firefox (upstream #2005469 / #2008377)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2026-01-02 10:54:55 -08:00
Adam Williamson
f421132d2a Backport fix for resize crash bug (RHBZ #2423824 upstream #1998188)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-12-22 12:36:48 -08:00
Jan Horak
f72fec623d Added libappstream-glib for the appstream-util 2025-12-18 14:16:52 +01:00
Jan Horak
07a6fa1a22 Update to 146.0.1 build1 2025-12-18 11:53:59 +01:00
Jan Horak
50a950eaf6 Fixed mimetypes for .desktop file, fixed appdata to include screenshots 2025-12-18 11:18:41 +01:00
Jan Horak
aba9f2af8f Update cbindgen 2025-12-16 09:19:36 +01:00
Jan Horak
9194c44975 Update to 146.0 build1 2025-12-15 15:05:48 +01:00
Jan Horak
403614c19b Workaround for wrongly defined SYS_SECCOMP on rawhide 2025-12-09 13:44:33 +01:00
Jan Horak
2a4a746d7c Fixing f44 build - where c11 threads implementation is available 2025-11-25 13:38:16 +01:00
Jan Horak
82f401f357 Disable fix for rawhide 2025-11-24 08:36:57 +01:00
Jan Horak
132ca7bc53 Fixing f44 build - where c11 threads implementation is available 2025-11-20 12:54:34 +01:00
Jan Horak
9c41551f62 Fixing f44 build - where c11 threads implementation is available 2025-11-20 12:38:55 +01:00
Jan Horak
a82adef269 Fixing f44 build - where c11 threads implementation is available 2025-11-20 12:12:47 +01:00
Jan Horak
9b664632be Fixing f44 build - where c11 threads implementation is available 2025-11-20 11:26:53 +01:00
Jan Horak
eb6ca2939d Fixing f44 build - where c11 threads implementation is available 2025-11-20 10:36:47 +01:00
Jan Horak
b4b41186fb Fixing botan build 2025-11-20 09:47:48 +01:00
Jan Horak
43e0d5b6f7 Update to 145.0 build2 2025-11-19 10:16:05 +01:00
Jan Horak
09b2af7944 Fixing sigsegv on rawhide 2025-11-06 12:09:27 +01:00
Jan Horak
4de5aed60c Update to 140.0.1 2025-10-21 09:18:20 +02:00
Jan Horak
3b4cf8bcd7 Using FLATPA_ENV_VARS to pass extra data to /app/bin/thunderbird 2025-10-21 08:37:23 +02:00
Jan Horak
aae14bc19f Update to 144 2025-10-16 14:25:09 +02:00
Jan Horak
fc296252ef Update to 143.0.1 2025-10-02 13:11:25 +02:00
Dominik 'Rathann' Mierzejewski
7c21fbc626 Drop unused yasm from build dependencies
See: https://fedoraproject.org/wiki/Changes/DeprecateYASM

Resolves: rhbz#2390538
2025-09-26 06:57:19 +00:00
Jan Horak
9e16b9a27b Fixing build for eln 2025-09-25 14:49:52 +02:00
Jan Horak
d43d615661 Update to 140.3 esr 2025-09-24 14:18:09 +02:00
Jan Horak
d4f1a7851f Fixed llvm build args 2025-09-23 07:46:36 +02:00
Jan Horak
92f6afb27e Fixed llvm build args 2025-09-23 07:13:54 +02:00
Jan Horak
a94bbf1860 Added fix for allocator2 build failures 2025-09-22 22:20:28 +02:00
Jan Horak
e1f7e6527a Fixed release 2025-09-22 15:08:01 +02:00
Jan Horak
29e48b88ad Update to 140.2.1 2025-09-04 11:44:06 +02:00
Jan Horak
cac713e3da update to 140 2025-08-12 09:01:42 +02:00
Eike Rathke
91753d1657 Update to 128.13.0 2025-07-23 18:21:01 +02:00
Adam Williamson
5a48dd5544 Try turning aarch64 back on again, we have LLVM 20.1.8 now 2025-07-23 09:04:30 -07:00
Eike Rathke
a11ae8fff7 Update to 128.12.0 2025-07-07 12:15:02 +02:00
Eike Rathke
d6cce38d9e Add rust-lang issue pointer about aarch64 failure 2025-06-19 19:25:46 +02:00
Eike Rathke
ac1df656bc Temporarily ExcludeArch aarch64 on f42, f43 due to gkrust link error 2025-06-11 20:06:53 +02:00
Eike Rathke
5faef5904a Update to 128.11.1 2025-06-11 15:30:34 +02:00
Eike Rathke
aa025803cc Update to 128.11.0 2025-05-26 20:49:04 +02:00
Eike Rathke
3d3c2c437e Update to 128.10.2 2025-05-21 18:15:57 +02:00
Eike Rathke
1fd77237f4 Update to 128.10.1 2025-05-19 20:01:43 +02:00
Eike Rathke
c6c60c7e9a Update to 128.10.0 2025-04-29 13:00:56 +02:00
Eike Rathke
dea8004f2a grml.. patch it 2025-04-24 22:55:04 +02:00
Eike Rathke
d7d6ee425b Add build-s390x-protobuf-musttail.patch against FTBFS on s390x
Kudos to Daniel Horak <dhorak@redhat.com>
2025-04-24 16:54:39 +02:00
Eike Rathke
90ecb24ae3 Update to 128.9.2 2025-04-17 13:52:39 +02:00
Eike Rathke
1f374e5121 Update to 128.9.0 2025-04-02 16:01:02 +02:00
Eike Rathke
0c5cfad5ef Update to 128.8.0 2025-03-06 19:43:38 +01:00
Jan Horak
450851e2a8 Fixing build 2025-02-25 12:26:28 +01:00
Jan Horak
f15210083e Disable arch control 2025-02-25 11:52:47 +01:00
Jan Horak
50f4523a39 Fixing build 2025-02-25 11:40:44 +01:00
Jan Horak
195f275826 Force rustflags 2025-02-25 11:19:54 +01:00
Jan Horak
e2ed4cb62e Fixing rustflags for s390x 2025-02-24 16:37:52 +01:00
Jan Horak
c781765d34 Removed icu generation 2025-02-19 17:22:59 +01:00
Jan Horak
a040cefb5f Add patches to build swgl with gcc 15 2025-02-19 12:46:07 +01:00
Jan Horak
102800c4ac Update to 128.7.1 2025-02-19 12:02:11 +01:00
Eike Rathke
a05d517604 Update to 128.6.1 2025-01-28 23:28:42 +01:00
Fedora Release Engineering
70e4c10af4 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 12:46:59 +00:00
Eike Rathke
597cafee30 Update to 128.6.0 2025-01-08 19:54:43 +01:00
AsciiWolf
8e08ed42a3 Use upstream rDNS naming scheme for desktop and appdata files
Resolves: rhbz#2210038
2024-12-19 18:44:41 +01:00
Eike Rathke
be7d5469cf Update to 128.5.2 2024-12-11 19:05:53 +01:00
Eike Rathke
f7522aded3 Update to 128.5.0 2024-11-27 16:29:47 +01:00
Eike Rathke
85ee6eef50 Update to 128.4.3 2024-11-13 14:52:12 +01:00
Eike Rathke
1279fbba86 ppc64le rustflags_debuginfo 1 due to OOM 2024-11-13 14:26:36 +01:00
Eike Rathke
a276dc4459 +ExcludeArch: ppc64le for all builds 2024-11-11 17:19:38 +01:00
Eike Rathke
33173504f0 Update to 128.4.2
Also try to disable f40 ExcludeArch: ppc64le
2024-11-07 15:34:15 +01:00
Eike Rathke
3e82c691f0 Temporarily exclude ppc64le in f40 2024-11-04 11:29:19 +01:00
Eike Rathke
5abafa3807 Update to 128.4.0 build1 2024-10-28 14:55:31 +01:00
Eike Rathke
2329db196b Switch update-channel to esr
That also influences from where releasenotes are obtained under
Help -> About Thunderbird, Release Notes
2024-10-28 13:46:07 +01:00
Eike Rathke
1c027efd63 Update to 128.3.3 2024-10-22 23:11:36 +02:00
Eike Rathke
cc0185c2d7 Update to 128.3.2 2024-10-17 14:05:51 +02:00
Eike Rathke
c134918953 Update to 128.3.1 2024-10-10 14:30:10 +02:00
Eike Rathke
bb39515b12 Update to 128.3.0 2024-10-08 11:58:29 +02:00
Eike Rathke
af58745428 Update to 128.2.0 2024-09-05 16:09:49 +02:00
Jan Horak
6201a1fa71 Disable temporarily gcc build patch 2024-08-12 13:40:14 +02:00
Jan Horak
9d01f693ab Remove hardened flags 2024-08-09 15:31:02 +02:00
Jan Horak
4b8171e350 Fixing patch 2024-08-09 12:28:48 +02:00
Jan Horak
1ad94d8864 Fixing patch 2024-08-08 16:34:27 +02:00
Jan Horak
8b80b90c87 Fixing patch 2024-08-08 16:19:29 +02:00
Jan Horak
b06dab8cc4 Remove irrelevant patch 2024-08-08 16:05:12 +02:00
Jan Horak
67bf3370dc Added build patches 2024-08-08 13:39:51 +02:00
Eike Rathke
d518a104dc Update to 128.1.0 2024-08-06 18:17:26 +02:00
Jan Horak
ca1ac17cbe Remove plugin-container as no longer shipped 2024-07-19 11:28:48 +02:00
Jan Horak
a1afe66083 use %constrain_build to -j[num] attribute 2024-07-19 10:40:13 +02:00
Jan Horak
f8a1587be0 remove forced -fexceptions 2024-07-18 13:48:20 +02:00
Jan Horak
12825450b0 removed old patches 2024-07-18 11:25:40 +02:00
Jan Horak
26f4620565 Update to 128 2024-07-17 15:21:42 +02:00
32 changed files with 723 additions and 381 deletions

78
.gitignore vendored
View file

@ -458,11 +458,73 @@ thunderbird-langpacks-3.1.2-20100803.tar.bz2
/thunderbird-langpacks-115.12.1-20240618.tar.xz
/thunderbird-115.13.0.source.tar.xz
/thunderbird-langpacks-115.13.0-20240716.tar.xz
/thunderbird-115.14.0.source.tar.xz
/thunderbird-langpacks-115.14.0-20240805.tar.xz
/thunderbird-115.15.0.source.tar.xz
/thunderbird-langpacks-115.15.0-20240905.tar.xz
/thunderbird-115.16.0esr.source.tar.xz
/thunderbird-langpacks-115.16.0esr-20241010.tar.xz
/thunderbird-115.16.1.source.tar.xz
/thunderbird-langpacks-115.16.1-20241030.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,30 +1,10 @@
From efd5bc0715e5477318be95a76811cda0a89e8289 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= <emilio@crisal.io>
Date: Fri, 4 Mar 2022 12:00:26 +0100
Subject: [PATCH] GLIBCXX fix for GCC 12?
Borrowed from Firefox and adjusted to Thunderbird 91.7.0
---
build/unix/stdc++compat/stdc++compat.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/build/unix/stdc++compat/stdc++compat.cpp b/build/unix/stdc++compat/stdc++compat.cpp
--- thunderbird-91.7.0/build/unix/stdc++compat/stdc++compat.cpp.0001-GLIBCXX-fix-for-GCC-12 2022-03-07 20:34:15.000000000 +0100
+++ thunderbird-91.7.0/build/unix/stdc++compat/stdc++compat.cpp 2022-03-15 22:50:03.161345590 +0100
@@ -24,6 +24,7 @@
GLIBCXX_3.4.27 is from gcc 10
GLIBCXX_3.4.28 is from gcc 10
GLIBCXX_3.4.29 is from gcc 11
+ GLIBCXX_3.4.30 is from gcc 12
This file adds the necessary compatibility tricks to avoid symbols with
version GLIBCXX_3.4.20 and bigger, keeping binary compatibility with
@@ -73,6 +74,19 @@ void __attribute__((weak)) __throw_bad_a
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 {
+
@ -37,6 +17,7 @@ diff --git a/build/unix/stdc++compat/stdc++compat.cpp b/build/unix/stdc++compat/
+
+} // namespace std
+#endif
#if MOZ_LIBSTDCXX_VERSION >= GLIBCXX_VERSION(3, 4, 21)
+
/* 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

@ -1,12 +0,0 @@
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>)

35
build-aarch64-skia.patch Normal file
View file

@ -0,0 +1,35 @@
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);

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

@ -0,0 +1,12 @@
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"

12
build-botan-target.patch Normal file
View file

@ -0,0 +1,12 @@
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

8
build-libcubeb.patch Normal file

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

51
build-ppc-jit.patch Normal file
View file

@ -0,0 +1,51 @@
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

25
build-rust-ppc64le.patch Normal file
View file

@ -0,0 +1,25 @@
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

@ -0,0 +1,12 @@
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

11
build-seccomp.patch Normal file
View file

@ -0,0 +1,11 @@
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,49 +0,0 @@
diff -up thunderbird-91.7.0/parser/expat/lib/xmltok.c.expat-CVE-2022-25235 thunderbird-91.7.0/parser/expat/lib/xmltok.c
--- thunderbird-91.7.0/parser/expat/lib/xmltok.c.expat-CVE-2022-25235 2022-03-02 17:57:38.364361168 +0100
+++ thunderbird-91.7.0/parser/expat/lib/xmltok.c 2022-03-02 17:58:22.235512399 +0100
@@ -65,13 +65,6 @@
+ ((((byte)[2]) >> 5) & 1)] \
& (1u << (((byte)[2]) & 0x1F)))
-#define UTF8_GET_NAMING(pages, p, n) \
- ((n) == 2 \
- ? UTF8_GET_NAMING2(pages, (const unsigned char *)(p)) \
- : ((n) == 3 \
- ? UTF8_GET_NAMING3(pages, (const unsigned char *)(p)) \
- : 0))
-
/* Detection of invalid UTF-8 sequences is based on Table 3.1B
of Unicode 3.2: http://www.unicode.org/unicode/reports/tr28/
with the additional restriction of not allowing the Unicode
diff -up thunderbird-91.7.0/parser/expat/lib/xmltok_impl.c.expat-CVE-2022-25235 thunderbird-91.7.0/parser/expat/lib/xmltok_impl.c
--- thunderbird-91.7.0/parser/expat/lib/xmltok_impl.c.expat-CVE-2022-25235 2022-03-02 17:57:38.365361172 +0100
+++ thunderbird-91.7.0/parser/expat/lib/xmltok_impl.c 2022-03-02 18:04:51.240853247 +0100
@@ -34,7 +34,7 @@
case BT_LEAD ## n: \
if (end - ptr < n) \
return XML_TOK_PARTIAL_CHAR; \
- if (!IS_NAME_CHAR(enc, ptr, n)) { \
+ if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NAME_CHAR(enc, ptr, n)) { \
*nextTokPtr = ptr; \
return XML_TOK_INVALID; \
} \
@@ -62,7 +62,7 @@
case BT_LEAD ## n: \
if (end - ptr < n) \
return XML_TOK_PARTIAL_CHAR; \
- if (!IS_NMSTRT_CHAR(enc, ptr, n)) { \
+ if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NMSTRT_CHAR(enc, ptr, n)) { \
*nextTokPtr = ptr; \
return XML_TOK_INVALID; \
} \
@@ -1090,6 +1090,10 @@ PREFIX(prologTok)(const ENCODING *enc, c
case BT_LEAD ## n: \
if (end - ptr < n) \
return XML_TOK_PARTIAL_CHAR; \
+ if (IS_INVALID_CHAR(enc, ptr, n)) { \
+ *nextTokPtr = ptr; \
+ return XML_TOK_INVALID; \
+ } \
if (IS_NMSTRT_CHAR(enc, ptr, n)) { \
ptr += n; \
tok = XML_TOK_NAME; \

View file

@ -1,40 +0,0 @@
diff -up thunderbird-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25236 thunderbird-91.7.0/parser/expat/lib/xmlparse.c
--- thunderbird-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25236 2022-03-02 18:08:40.085642028 +0100
+++ thunderbird-91.7.0/parser/expat/lib/xmlparse.c 2022-03-02 18:13:31.838667958 +0100
@@ -700,8 +700,7 @@ XML_ParserCreate(const XML_Char *encodin
XML_Parser XMLCALL
XML_ParserCreateNS(const XML_Char *encodingName, XML_Char nsSep)
{
- XML_Char tmp[2];
- *tmp = nsSep;
+ XML_Char tmp[2] = {nsSep, 0};
return XML_ParserCreate_MM(encodingName, NULL, tmp);
}
#endif
@@ -1276,8 +1275,7 @@ XML_ExternalEntityParserCreate(XML_Parse
would be otherwise.
*/
if (ns) {
- XML_Char tmp[2];
- *tmp = namespaceSeparator;
+ XML_Char tmp[2] = {parser->m_namespaceSeparator, 0};
parser = parserCreate(encodingName, &parser->m_mem, tmp, newDtd);
}
else {
@@ -3667,6 +3665,16 @@ addBinding(XML_Parser parser, PREFIX *pr
if (!mustBeXML && isXMLNS
&& (len > xmlnsLen || uri[len] != xmlnsNamespace[len]))
isXMLNS = XML_FALSE;
+ // NOTE: While Expat does not validate namespace URIs against RFC 3986,
+ // we have to at least make sure that the XML processor on top of
+ // Expat (that is splitting tag names by namespace separator into
+ // 2- or 3-tuples (uri-local or uri-local-prefix)) cannot be confused
+ // by an attacker putting additional namespace separator characters
+ // into namespace declarations. That would be ambiguous and not to
+ // be expected.
+ if (parser->m_ns && (uri[len] == parser->m_namespaceSeparator)) {
+ return XML_ERROR_SYNTAX;
+ }
}
isXML = isXML && len == xmlLen;
isXMLNS = isXMLNS && len == xmlnsLen;

View file

@ -1,24 +0,0 @@
diff -up thunderbird-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25315 thunderbird-91.7.0/parser/expat/lib/xmlparse.c
--- thunderbird-91.7.0/parser/expat/lib/xmlparse.c.expat-CVE-2022-25315 2022-03-02 18:17:50.966583254 +0100
+++ thunderbird-91.7.0/parser/expat/lib/xmlparse.c 2022-03-02 18:19:27.636924735 +0100
@@ -2479,6 +2479,7 @@ storeRawNames(XML_Parser parser)
while (tag) {
int bufSize;
int nameLen = sizeof(XML_Char) * (tag->name.strLen + 1);
+ size_t rawNameLen;
char *rawNameBuf = tag->buf + nameLen;
/* Stop if already stored. Since tagStack is a stack, we can stop
at the first entry that has already been copied; everything
@@ -2490,7 +2491,11 @@ storeRawNames(XML_Parser parser)
/* For re-use purposes we need to ensure that the
size of tag->buf is a multiple of sizeof(XML_Char).
*/
- bufSize = nameLen + ROUND_UP(tag->rawNameLength, sizeof(XML_Char));
+ rawNameLen = ROUND_UP(tag->rawNameLength, sizeof(XML_Char));
+ /* Detect and prevent integer overflow. */
+ if (rawNameLen > (size_t)INT_MAX - nameLen)
+ return XML_FALSE;
+ bufSize = nameLen + (int)rawNameLen;
if (bufSize > tag->bufEnd - tag->buf) {
char *temp = (char *)REALLOC(tag->buf, bufSize);
if (temp == NULL)

View file

@ -0,0 +1,24 @@
--- 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>

39
firefox-gcc-build.patch Normal file
View file

@ -0,0 +1,39 @@
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);
}

12
firefox-i686-build.patch Normal file
View file

@ -0,0 +1,12 @@
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.24.3"
cbindgen = "0.29.1"
[[bin]]
name = "dummy"

View file

@ -1,6 +1,6 @@
diff -up firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp
--- firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2023-07-10 21:08:53.000000000 +0200
+++ firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp 2023-07-17 10:33:23.443355156 +0200
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
if (NS_FAILED(rv)) return rv;
@ -23,10 +23,10 @@ diff -up firefox-115.0.2/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092
} else {
nsAutoCString location("resource://gre/defaults/autoconfig/");
location += aFileName;
diff -up firefox-115.0.2/modules/libpref/Preferences.cpp.1170092 firefox-115.0.2/modules/libpref/Preferences.cpp
--- firefox-115.0.2/modules/libpref/Preferences.cpp.1170092 2023-07-10 21:09:00.000000000 +0200
+++ firefox-115.0.2/modules/libpref/Preferences.cpp 2023-07-17 10:33:23.444355156 +0200
@@ -4825,6 +4825,9 @@ nsresult Preferences::InitInitialObjects
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
//
// 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-115.0.2/modules/libpref/Preferences.cpp.1170092 firefox-115.0.2
nsresult rv = NS_ERROR_FAILURE;
UniquePtr<nsZipFind> find;
diff -up firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp
--- firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 2023-07-10 22:57:20.000000000 +0200
+++ firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp 2023-07-17 10:56:25.309692121 +0200
@@ -72,6 +72,7 @@
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 @@
#endif
#ifdef XP_UNIX
# include <ctype.h>
@ -47,7 +47,7 @@ diff -up firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-115.0.
#endif
#ifdef XP_IOS
# include "UIKitDirProvider.h"
@@ -478,6 +479,17 @@ nsXREDirProvider::GetFile(const char* aP
@@ -462,6 +463,17 @@ nsXREDirProvider::GetFile(const char* aP
rv = file->AppendNative(nsLiteralCString(PREF_OVERRIDE_DIRNAME));
NS_ENSURE_SUCCESS(rv, rv);
rv = EnsureDirectoryExists(file);
@ -60,12 +60,12 @@ diff -up firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-115.0.
+ appInfo->GetName(appName);
+ ToLowerCase(appName);
+ sysConfigDir.Append(appName);
+ NS_NewNativeLocalFile(sysConfigDir, false, getter_AddRefs(file));
+ 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
@@ -694,6 +706,16 @@ nsXREDirProvider::GetFiles(const char* a
@@ -518,6 +530,16 @@ nsXREDirProvider::GetFiles(const char* a
}
#endif
@ -82,9 +82,9 @@ diff -up firefox-115.0.2/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-115.0.
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-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h
--- firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2023-07-10 21:09:13.000000000 +0200
+++ firefox-115.0.2/xpcom/io/nsAppDirectoryServiceDefs.h 2023-07-17 10:33:23.444355156 +0200
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 @@
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
#define NS_APP_PREFS_OVERRIDE_DIR \

View file

@ -1,17 +0,0 @@
# 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)

View file

@ -1,12 +0,0 @@
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

@ -0,0 +1,59 @@
<?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

@ -8,7 +8,7 @@ TryExec=thunderbird
Icon=thunderbird
Terminal=false
Type=Application
MimeType=message/rfc822;x-scheme-handler/mailto;
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;
StartupNotify=true
Categories=Network;Email;
Name[cs]=Poštovní klient Thunderbird

View file

@ -1,23 +0,0 @@
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

View file

@ -1,12 +0,0 @@
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,3 +1,3 @@
SHA512 (cbindgen-vendor.tar.xz) = 161811f4adfc74e5d92871c78139704d32e1e1ad6b615c85353de300d9647a68f1ca8b1c953f7cc5539d861e9e8d8e42892cae757a3eafea78804e19bc323c16
SHA512 (thunderbird-115.16.1.source.tar.xz) = 4705c088bdca46c4fa15a3d3f80783eab6181be3cd7abb8c990909043b340e33e090056ec95c3fc80d04fb315047c3e235a604a06c844b606eb7152b561494c7
SHA512 (thunderbird-langpacks-115.16.1-20241030.tar.xz) = 23b2674e19b299596fd17cbc4a38dc694fc516f36a49c45653ff0fff234b2602bac244080a6c20d3a2fc4222248dc33abaa73a52e8835af0cccd84ff61b3e533
SHA512 (cbindgen-vendor.tar.xz) = 4127d3060577284eea29d697ccc2394742674f6094b7f497a95a0c3b8aa9e0494b720de8858ad31d4a6b0cd1b9586454f3c52c8088163c2709883d882e0136db
SHA512 (thunderbird-147.0.source.tar.xz) = d04a135f23572123d5cca41c2611704aa06cb81e0226c89c267dc527f59fb0d9d5d8b8a49cd126626c2fd934624c9d2420ae71dd10a912b3011f3342fbaf7511
SHA512 (thunderbird-langpacks-147.0-20260114.tar.xz) = e97f2894c0bbea00c35e5d8f0046d1d7112efb17d3af5d8a6f964c54352f9f6edbcbd4d41cc2595cb63e1116ae78680c9d42e65dc0eb0ff17e4a9d4ad97ec7ab

View file

@ -1,30 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Thunderbird
GenericName=Email
Comment=Send and Receive Email
Exec=thunderbird %u
TryExec=thunderbird
Icon=thunderbird
Terminal=false
Type=Application
MimeType=message/rfc822;x-scheme-handler/mailto;
StartupNotify=true
Categories=Network;Email;
Name[cs]=Poštovní klient Thunderbird
Name[ca]=Client de correu Thunderbird
Name[fi]=Thunderbird-sähköposti
Name[fr]=Messagerie Thunderbird
Name[pl]=Klient poczty Thunderbird
Name[pt_BR]=Cliente de E-mail Thunderbird
Name[sv]=E-postklienten Thunderbird
Comment[ca]=Llegiu i escriviu correu
Comment[cs]=Čtení a psaní pošty
Comment[de]=Emails lesen und verfassen
Comment[fi]=Lue ja kirjoita sähköposteja
Comment[fr]=Lire et écrire des courriels
Comment[it]=Leggere e scrivere email
Comment[ja]=
Comment[pl]=Czytanie i wysyłanie e-maili
Comment[pt_BR]=Ler e escrever suas mensagens
Comment[sv]=Läs och skriv e-post

View file

@ -59,6 +59,9 @@ 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.

View file

@ -1,3 +1,15 @@
# 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
@ -13,16 +25,12 @@ 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 use_bundled_cbindgen 1
%global disable_elfhack 1
%if %{?system_nss}
%global nspr_version 4.26.0
@ -36,11 +44,6 @@ 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
%define system_jpeg 1
@ -63,6 +66,7 @@ ExcludeArch: s390x
%define mozappdir %{_libdir}/thunderbird
%define official_branding 1
#define pre_version
%define enable_mozilla_crashreporter 0
@ -85,19 +89,15 @@ ExcludeArch: s390x
%global __provides_exclude_from ^%{mozappdir}
%global __requires_exclude ^(%%(find %{buildroot}%{mozappdir} -name '*.so' | xargs -n1 basename | sort -u | paste -s -d '|' -))
# From 115.16 on they renamed directory and archive names to 115.16.0esr and so on.
# But not for 115.16.1 ... sigh..
#%%global version_extension esr
Summary: Mozilla Thunderbird mail/newsgroup client
Name: thunderbird
Version: 115.16.1
Version: 147.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
Source0: https://archive.mozilla.org/pub/thunderbird/releases/%{version}%{?version_extension}%{?pre_version}/source/thunderbird-%{version}%{?version_extension}%{?pre_version}.source.tar.xz
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}%{?version_extension}-20241030.tar.xz
Source1: thunderbird-langpacks-%{version}%{?pre_version}-20260114.tar.xz
%endif
Source3: get-calendar-langpacks.sh
Source4: cbindgen-vendor.tar.xz
@ -105,39 +105,54 @@ 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: org.mozilla.thunderbird.desktop
Source33: net.thunderbird.Thunderbird.desktop
Source34: net.thunderbird.Thunderbird.appdata.xml
# Build patches
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
# 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
# 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
Patch501: expat-CVE-2022-25235.patch
Patch502: expat-CVE-2022-25236.patch
Patch503: expat-CVE-2022-25315.patch
# Tentative patch for RUSTFLAGS parsing issue,
# borrowed from firefox commit 24c9accce19c5cae9394430b24eaf938a9c17882:
@ -162,6 +177,7 @@ 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
@ -177,16 +193,9 @@ BuildRequires: libXt-devel
BuildRequires: libXrender-devel
BuildRequires: hunspell-devel
BuildRequires: llvm
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10
BuildRequires: clang17
BuildRequires: clang17-libs
BuildRequires: llvm17-devel
%global llvm_suffix -17
%else
BuildRequires: llvm-devel
BuildRequires: clang
BuildRequires: clang-libs
BuildRequires: llvm-devel
%endif
%if "%toolchain" == "clang"
BuildRequires: lld
%endif
@ -203,7 +212,6 @@ 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
@ -291,38 +299,38 @@ debug %{name}, you want to install %{name}-debuginfo instead.
%setup -q
# Build patches
%patch -P 9 -p2 -b .arm
%ifarch s390
%patch -P 103 -p1 -b .rhbz-1219542-s390-build
%endif
%patch -P 304 -p1 -b .1245783
#ARM run-time patch
%ifarch aarch64
#%patch -P 226 -p1 -b .1354671
%endif
%ifarch %{arm}
%patch -P 415 -p1 -b .mozilla-1238661
#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
%endif
#FIXME %patch -P 416 -p1 -b .SIOCGSTAMP
%patch -P 418 -p1 -b .mozbz-1512162
%if 0%{?disable_elfhack}
%patch -P 425 -p1 -b .build-disable-elfhack
%endif
# most likely fixed
#%patch -P 419 -p1 -b .bindgen
#%%patch -P 419 -p1 -b .bindgen
%patch -P 402 -p1 -b .526293
%patch -P 406 -p1 -b .1170092-etc-conf
%patch -P 422 -p1 -b .0001-GLIBCXX-fix-for-GCC-12
%patch -P 501 -p1 -b .expat-CVE-2022-25235
%patch -P 502 -p1 -b .expat-CVE-2022-25236
%patch -P 503 -p1 -b .expat-CVE-2022-25315
#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
#patch -P 1200 -p1 -b .rustflags-commasplit
%if %{official_branding}
# Required by Mozilla Corporation
@ -376,6 +384,7 @@ 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
@ -413,16 +422,18 @@ echo "ac_add_options --disable-crashreporter" >> .mozconfig
# 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 "ac_add_options --with-clang-path=`which clang%{?llvm_suffix}`" >> .mozconfig
echo "ac_add_options --with-libclang-path=`llvm-config%{?llvm_suffix} --libdir`" >> .mozconfig
echo 'export NODEJS="%{nodewrapperdir}/node-stdout-nonblocking-wrapper"' >> .mozconfig
%if 0%{?fedora} >= %{only_wayland}
echo 'export MOZ_APP_REMOTINGNAME=org.mozilla.thunderbird' >> .mozconfig
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
# Remove executable bit to make brp-mangle-shebangs happy.
find third_party -type f -iname "*.rs"|xargs chmod a-x
@ -452,17 +463,6 @@ env CARGO_HOME=.cargo cargo install cbindgen
export PATH=`pwd`/.cargo/bin:$PATH
%endif
%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 -p %{nodewrapperdir} || :
cp %{SOURCE32} %{nodewrapperdir} || :
@ -478,16 +478,15 @@ find ./ -name config.guess -exec cp /usr/lib/rpm/config.guess {} ';'
#
MOZ_OPT_FLAGS=$(echo "$RPM_OPT_FLAGS -fpermissive" | \
%{__sed} -e 's/-Wall//')
%if 0%{?fedora} < 30
MOZ_OPT_FLAGS="$MOZ_OPT_FLAGS -Wformat-security -Wformat -Werror=format-security"
%else
# 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
# 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
@ -518,8 +517,10 @@ 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}
export RUSTFLAGS="-Cdebuginfo=0"
%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
%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"
@ -527,6 +528,7 @@ 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"
echo "export LLVM_PROFDATA=\"llvm-profdata\"" >> .mozconfig
@ -547,19 +549,11 @@ echo "ac_add_options MOZ_PGO=1" >> .mozconfig
export CCACHE_DISABLE=1
%endif
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
# Require 4 GB of RAM per CPU core
%constrain_build -m 4096
echo "mk_add_options MOZ_MAKE_FLAGS=\"-j%{_smp_build_ncpus}\"" >> .mozconfig
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
@ -602,7 +596,7 @@ desktop-file-install --vendor mozilla \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE29}
%else
#org.mozilla.thunderbird for F40+
#net.thunderbird.Thunderbird for F40+
desktop-file-install \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
%{SOURCE33}
@ -614,6 +608,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}
@ -694,8 +695,13 @@ touch $RPM_BUILD_ROOT%{mozappdir}/components/xpti.dat
# Register as an application to be visible in the software center
mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo
%{__cp} -p comm/mail/branding/%{name}/net.thunderbird.Thunderbird.appdata.xml $RPM_BUILD_ROOT%{_datadir}/metainfo/thunderbird.appdata.xml
sed -i -e 's|<icon .*|<icon type="stock">thunderbird</icon>|' "$RPM_BUILD_ROOT%{_datadir}/metainfo/thunderbird.appdata.xml"
%{__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
#===============================================================================
@ -718,11 +724,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%defattr(-,root,root,-)
%attr(755,root,root) %{_bindir}/thunderbird
%{_datadir}/metainfo/*.appdata.xml
%if 0%{?fedora} < %{only_wayland}
%attr(644,root,root) %{_datadir}/applications/mozilla-thunderbird.desktop
%else
%attr(644,root,root) %{_datadir}/applications/org.mozilla.thunderbird.desktop
%endif
%attr(644,root,root) %{_datadir}/applications/net.thunderbird.Thunderbird.desktop
%dir %{_sysconfdir}/%{name}
%dir %{_sysconfdir}/%{name}/*
%dir %{_datadir}/mozilla/extensions/%{thunderbird_app_id}
@ -734,7 +736,6 @@ 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}
@ -771,21 +772,133 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%{mozappdir}/pingsender
%{mozappdir}/glxtest
%{mozappdir}/vaapitest
%{mozappdir}/interesting_serverknobs.json
#===============================================================================
%changelog
* Wed Oct 30 2024 Eike Rathke <erack@redhat.com> - 115.16.1-1
- Update to 115.16.1
* Wed Jan 14 2026 Jan Horak <jhorak@redhat.com> - 147.0-1
- Update to 147.0
* Thu Oct 10 2024 Eike Rathke <erack@redhat.com> - 115.16.0-1
- Update to 115.16.0
* Fri Jan 02 2026 Adam Williamson <awilliam@redhat.com> - 146.0.1-3
- Port aarch64 crash fix from Firefox (upstream #2005469 / #2008377)
* Thu Sep 05 2024 Eike Rathke <erack@redhat.com> - 115.15.0-1
- Update to 115.15.0
* Mon Dec 22 2025 Adam Williamson <awilliam@redhat.com> - 146.0.1-2
- Backport fix for resize crash bug (RHBZ #2423824 upstream #1998188)
* Tue Aug 06 2024 Eike Rathke <erack@redhat.com> - 115.14.0-1
- Update to 115.14.0
* 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