Compare commits
No commits in common. "imports/c8-beta/thunderbird-60.7.0-1.el8_0" and "c8" have entirely different histories.
imports/c8
...
c8
|
@ -1,7 +1,6 @@
|
||||||
SOURCES/Python-2.7.13.tar.xz
|
SOURCES/cbindgen-vendor.tar.xz
|
||||||
SOURCES/gtk3-private-3.22.26-1.el6.src.rpm
|
SOURCES/nspr-4.35.0-1.el8_1.src.rpm
|
||||||
SOURCES/libffi-3.0.13-18.el7_3.src.rpm
|
SOURCES/nss-3.90.0-2.el8_1.src.rpm
|
||||||
SOURCES/lightning-langpacks-60.7.0.tar.xz
|
SOURCES/nss-3.90.0-3.el9_0.src.rpm
|
||||||
SOURCES/thunderbird-60.7.0.source.tar.xz
|
SOURCES/thunderbird-115.11.0.processed-source.tar.xz
|
||||||
SOURCES/thunderbird-langpacks-60.7.0-20190520.tar.xz
|
SOURCES/thunderbird-langpacks-115.11.0-20240513.tar.xz
|
||||||
SOURCES/yasm-1.2.0-3.el5.src.rpm
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
18a8f30a0356c751b8d0ea6f76e764cab13ee046 SOURCES/Python-2.7.13.tar.xz
|
b963b16f6879c5dbe6e33a3a3da058b494453922 SOURCES/cbindgen-vendor.tar.xz
|
||||||
0de63f863b158454b9429234b52ed28a397ec45c SOURCES/gtk3-private-3.22.26-1.el6.src.rpm
|
d744f92e874688cc4b5376477dfdd639a97a6cd4 SOURCES/nspr-4.35.0-1.el8_1.src.rpm
|
||||||
e188ab1a444697bc649e223c28389d82ca94c472 SOURCES/libffi-3.0.13-18.el7_3.src.rpm
|
39d1004f8948186cdaa33bbb90423f6f994bdf6c SOURCES/nss-3.90.0-2.el8_1.src.rpm
|
||||||
27325758061b85882d0b21834ccb1249dbf32d81 SOURCES/lightning-langpacks-60.7.0.tar.xz
|
df0dd588680f6ade6728a1fd3ff2d71e7a46255d SOURCES/nss-3.90.0-3.el9_0.src.rpm
|
||||||
23b4227d9459d2100f580af68139f6641fc24c66 SOURCES/thunderbird-60.7.0.source.tar.xz
|
b49c034c5add68d6ed21941260f81ff19de310f9 SOURCES/thunderbird-115.11.0.processed-source.tar.xz
|
||||||
ea4041cafc04999e714a223d0b07dc08c1fefeff SOURCES/thunderbird-langpacks-60.7.0-20190520.tar.xz
|
c7dd3c6b5bf0a940cf27e4f2cf39ba53c2156116 SOURCES/thunderbird-langpacks-115.11.0-20240513.tar.xz
|
||||||
77fd30f7ebc12a629a31c1e252cec06af55a71fe SOURCES/yasm-1.2.0-3.el5.src.rpm
|
|
||||||
|
|
|
@ -0,0 +1,127 @@
|
||||||
|
From 263682c9a29395055f3b3afe2d97be1828a6223f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jerome Jiang <jianj@google.com>
|
||||||
|
Date: Thu, 30 Jun 2022 13:48:56 -0400
|
||||||
|
Subject: [PATCH] Fix bug with smaller width bigger size
|
||||||
|
|
||||||
|
Fixed previous patch that clusterfuzz failed on.
|
||||||
|
|
||||||
|
Bug: webm:1642
|
||||||
|
Change-Id: If0e08e72abd2e042efe4dcfac21e4cc51afdfdb9
|
||||||
|
---
|
||||||
|
test/resize_test.cc | 11 +++--------
|
||||||
|
vp9/common/vp9_alloccommon.c | 13 ++++++-------
|
||||||
|
vp9/encoder/vp9_encoder.c | 27 +++++++++++++++++++++++++--
|
||||||
|
3 files changed, 34 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/resize_test.cc b/test/resize_test.cc
|
||||||
|
index fd1c2a92de6..20ad2229b46 100644
|
||||||
|
--- a/test/resize_test.cc
|
||||||
|
+++ b/test/resize_test.cc
|
||||||
|
@@ -102,11 +102,8 @@ void ScaleForFrameNumber(unsigned int frame, unsigned int initial_w,
|
||||||
|
if (frame < 30) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
- if (frame < 100) {
|
||||||
|
- *w = initial_w * 7 / 10;
|
||||||
|
- *h = initial_h * 16 / 10;
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
+ *w = initial_w * 7 / 10;
|
||||||
|
+ *h = initial_h * 16 / 10;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (frame < 10) {
|
||||||
|
@@ -559,9 +556,7 @@ TEST_P(ResizeRealtimeTest, TestExternalResizeWorks) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-// TODO(https://crbug.com/webm/1642): This causes a segfault in
|
||||||
|
-// init_encode_frame_mb_context().
|
||||||
|
-TEST_P(ResizeRealtimeTest, DISABLED_TestExternalResizeSmallerWidthBiggerSize) {
|
||||||
|
+TEST_P(ResizeRealtimeTest, TestExternalResizeSmallerWidthBiggerSize) {
|
||||||
|
ResizingVideoSource video;
|
||||||
|
video.flag_codec_ = true;
|
||||||
|
video.smaller_width_larger_size_ = true;
|
||||||
|
diff --git a/vp9/common/vp9_alloccommon.c b/vp9/common/vp9_alloccommon.c
|
||||||
|
index e53883f621d..9e73e40ea09 100644
|
||||||
|
--- a/vp9/common/vp9_alloccommon.c
|
||||||
|
+++ b/vp9/common/vp9_alloccommon.c
|
||||||
|
@@ -135,13 +135,6 @@ int vp9_alloc_context_buffers(VP9_COMMON *cm, int width, int height) {
|
||||||
|
cm->free_mi(cm);
|
||||||
|
if (cm->alloc_mi(cm, new_mi_size)) goto fail;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- if (cm->seg_map_alloc_size < cm->mi_rows * cm->mi_cols) {
|
||||||
|
- // Create the segmentation map structure and set to 0.
|
||||||
|
- free_seg_map(cm);
|
||||||
|
- if (alloc_seg_map(cm, cm->mi_rows * cm->mi_cols)) goto fail;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
if (cm->above_context_alloc_cols < cm->mi_cols) {
|
||||||
|
vpx_free(cm->above_context);
|
||||||
|
cm->above_context = (ENTROPY_CONTEXT *)vpx_calloc(
|
||||||
|
@@ -156,6 +149,12 @@ int vp9_alloc_context_buffers(VP9_COMMON *cm, int width, int height) {
|
||||||
|
cm->above_context_alloc_cols = cm->mi_cols;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (cm->seg_map_alloc_size < cm->mi_rows * cm->mi_cols) {
|
||||||
|
+ // Create the segmentation map structure and set to 0.
|
||||||
|
+ free_seg_map(cm);
|
||||||
|
+ if (alloc_seg_map(cm, cm->mi_rows * cm->mi_cols)) goto fail;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (vp9_alloc_loop_filter(cm)) goto fail;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c
|
||||||
|
index 69a4e3c314f..e3ba294c32f 100644
|
||||||
|
--- a/vp9/encoder/vp9_encoder.c
|
||||||
|
+++ b/vp9/encoder/vp9_encoder.c
|
||||||
|
@@ -2047,6 +2047,17 @@ static void alloc_copy_partition_data(VP9_COMP *cpi) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void free_copy_partition_data(VP9_COMP *cpi) {
|
||||||
|
+ vpx_free(cpi->prev_partition);
|
||||||
|
+ cpi->prev_partition = NULL;
|
||||||
|
+ vpx_free(cpi->prev_segment_id);
|
||||||
|
+ cpi->prev_segment_id = NULL;
|
||||||
|
+ vpx_free(cpi->prev_variance_low);
|
||||||
|
+ cpi->prev_variance_low = NULL;
|
||||||
|
+ vpx_free(cpi->copied_frame_cnt);
|
||||||
|
+ cpi->copied_frame_cnt = NULL;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void vp9_change_config(struct VP9_COMP *cpi, const VP9EncoderConfig *oxcf) {
|
||||||
|
VP9_COMMON *const cm = &cpi->common;
|
||||||
|
RATE_CONTROL *const rc = &cpi->rc;
|
||||||
|
@@ -2126,6 +2137,8 @@ void vp9_change_config(struct VP9_COMP *cpi, const VP9EncoderConfig *oxcf) {
|
||||||
|
new_mi_size = cm->mi_stride * calc_mi_size(cm->mi_rows);
|
||||||
|
if (cm->mi_alloc_size < new_mi_size) {
|
||||||
|
vp9_free_context_buffers(cm);
|
||||||
|
+ vp9_free_pc_tree(&cpi->td);
|
||||||
|
+ vpx_free(cpi->mbmi_ext_base);
|
||||||
|
alloc_compressor_data(cpi);
|
||||||
|
realloc_segmentation_maps(cpi);
|
||||||
|
cpi->initial_width = cpi->initial_height = 0;
|
||||||
|
@@ -2144,8 +2157,18 @@ void vp9_change_config(struct VP9_COMP *cpi, const VP9EncoderConfig *oxcf) {
|
||||||
|
update_frame_size(cpi);
|
||||||
|
|
||||||
|
if (last_w != cpi->oxcf.width || last_h != cpi->oxcf.height) {
|
||||||
|
- memset(cpi->consec_zero_mv, 0,
|
||||||
|
- cm->mi_rows * cm->mi_cols * sizeof(*cpi->consec_zero_mv));
|
||||||
|
+ vpx_free(cpi->consec_zero_mv);
|
||||||
|
+ CHECK_MEM_ERROR(
|
||||||
|
+ &cm->error, cpi->consec_zero_mv,
|
||||||
|
+ vpx_calloc(cm->mi_rows * cm->mi_cols, sizeof(*cpi->consec_zero_mv)));
|
||||||
|
+
|
||||||
|
+ vpx_free(cpi->skin_map);
|
||||||
|
+ CHECK_MEM_ERROR(
|
||||||
|
+ &cm->error, cpi->skin_map,
|
||||||
|
+ vpx_calloc(cm->mi_rows * cm->mi_cols, sizeof(cpi->skin_map[0])));
|
||||||
|
+
|
||||||
|
+ free_copy_partition_data(cpi);
|
||||||
|
+ alloc_copy_partition_data(cpi);
|
||||||
|
if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ)
|
||||||
|
vp9_cyclic_refresh_reset_resize(cpi);
|
||||||
|
rc->rc_1_frame = 0;
|
|
@ -1,12 +0,0 @@
|
||||||
diff -up firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp
|
|
||||||
--- firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp.aarch64-skia 2018-06-20 09:19:11.411939714 +0200
|
|
||||||
+++ firefox-61.0/gfx/skia/skia/src/jumper/SkJumper_stages.cpp 2018-06-20 09:23:36.831919894 +0200
|
|
||||||
@@ -686,7 +686,7 @@ SI F from_half(U16 h) {
|
|
||||||
}
|
|
||||||
|
|
||||||
SI U16 to_half(F f) {
|
|
||||||
-#if defined(JUMPER_IS_NEON) && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
|
||||||
+#if 0 && defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
|
|
||||||
return vcvt_f16_f32(f);
|
|
||||||
|
|
||||||
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
diff -up firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc.big-endian-errors firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc
|
||||||
|
--- firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc.big-endian-errors 2022-08-17 13:19:53.056891028 +0200
|
||||||
|
+++ firefox-102.0/third_party/libwebrtc/common_audio/wav_file.cc 2022-08-17 13:19:57.251879556 +0200
|
||||||
|
@@ -89,9 +89,6 @@ void WavReader::Reset() {
|
||||||
|
|
||||||
|
size_t WavReader::ReadSamples(const size_t num_samples,
|
||||||
|
int16_t* const samples) {
|
||||||
|
-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
|
||||||
|
-#error "Need to convert samples to big-endian when reading from WAV file"
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
size_t num_samples_left_to_read = num_samples;
|
||||||
|
size_t next_chunk_start = 0;
|
||||||
|
@@ -129,9 +126,6 @@ size_t WavReader::ReadSamples(const size
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t WavReader::ReadSamples(const size_t num_samples, float* const samples) {
|
||||||
|
-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
|
||||||
|
-#error "Need to convert samples to big-endian when reading from WAV file"
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
size_t num_samples_left_to_read = num_samples;
|
||||||
|
size_t next_chunk_start = 0;
|
||||||
|
@@ -213,9 +207,6 @@ WavWriter::WavWriter(FileWrapper file,
|
||||||
|
}
|
||||||
|
|
||||||
|
void WavWriter::WriteSamples(const int16_t* samples, size_t num_samples) {
|
||||||
|
-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
|
||||||
|
-#error "Need to convert samples to little-endian when writing to WAV file"
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
for (size_t i = 0; i < num_samples; i += kMaxChunksize) {
|
||||||
|
const size_t num_remaining_samples = num_samples - i;
|
||||||
|
@@ -243,9 +234,6 @@ void WavWriter::WriteSamples(const int16
|
||||||
|
}
|
||||||
|
|
||||||
|
void WavWriter::WriteSamples(const float* samples, size_t num_samples) {
|
||||||
|
-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
|
||||||
|
-#error "Need to convert samples to little-endian when writing to WAV file"
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
for (size_t i = 0; i < num_samples; i += kMaxChunksize) {
|
||||||
|
const size_t num_remaining_samples = num_samples - i;
|
||||||
|
diff -up firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc.big-endian-errors firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc
|
||||||
|
--- firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc.big-endian-errors 2022-08-17 13:18:04.688187393 +0200
|
||||||
|
+++ firefox-102.0/third_party/libwebrtc/common_audio/wav_header.cc 2022-08-17 13:18:22.451138816 +0200
|
||||||
|
@@ -26,10 +26,6 @@
|
||||||
|
namespace webrtc {
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
-#ifndef WEBRTC_ARCH_LITTLE_ENDIAN
|
||||||
|
-#error "Code not working properly for big endian platforms."
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
#pragma pack(2)
|
||||||
|
struct ChunkHeader {
|
||||||
|
uint32_t ID;
|
|
@ -1,84 +0,0 @@
|
||||||
diff -up firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h
|
|
||||||
--- firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h.big-endian 2018-04-09 22:50:48.000000000 +0200
|
|
||||||
+++ firefox-60.0/gfx/skia/skia/include/core/SkColorPriv.h 2018-04-18 11:51:38.748680174 +0200
|
|
||||||
@@ -54,18 +54,19 @@ static inline U8CPU SkUnitScalarClampToB
|
|
||||||
*
|
|
||||||
* Here we enforce this constraint.
|
|
||||||
*/
|
|
||||||
-
|
|
||||||
+/*
|
|
||||||
#ifdef SK_CPU_BENDIAN
|
|
||||||
#define SK_RGBA_R32_SHIFT 24
|
|
||||||
#define SK_RGBA_G32_SHIFT 16
|
|
||||||
#define SK_RGBA_B32_SHIFT 8
|
|
||||||
#define SK_RGBA_A32_SHIFT 0
|
|
||||||
#else
|
|
||||||
+*/
|
|
||||||
#define SK_RGBA_R32_SHIFT 0
|
|
||||||
#define SK_RGBA_G32_SHIFT 8
|
|
||||||
#define SK_RGBA_B32_SHIFT 16
|
|
||||||
#define SK_RGBA_A32_SHIFT 24
|
|
||||||
-#endif
|
|
||||||
+/*#endif*/
|
|
||||||
|
|
||||||
#define SkGetPackedA32(packed) ((uint32_t)((packed) << (24 - SK_A32_SHIFT)) >> 24)
|
|
||||||
#define SkGetPackedR32(packed) ((uint32_t)((packed) << (24 - SK_R32_SHIFT)) >> 24)
|
|
||||||
diff -up firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h
|
|
||||||
--- firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h.big-endian 2018-04-09 22:50:48.000000000 +0200
|
|
||||||
+++ firefox-60.0/gfx/skia/skia/include/core/SkImageInfo.h 2018-04-18 11:51:38.748680174 +0200
|
|
||||||
@@ -84,7 +84,8 @@ enum SkColorType {
|
|
||||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
|
||||||
kN32_SkColorType = kRGBA_8888_SkColorType,
|
|
||||||
#else
|
|
||||||
- #error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order"
|
|
||||||
+ //#error "SK_*32_SHIFT values must correspond to BGRA or RGBA byte order"
|
|
||||||
+ kN32_SkColorType = kBGRA_8888_SkColorType
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
diff -up firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h
|
|
||||||
--- firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h.big-endian 2018-04-09 22:50:48.000000000 +0200
|
|
||||||
+++ firefox-60.0/gfx/skia/skia/include/gpu/GrTypes.h 2018-04-18 11:51:38.748680174 +0200
|
|
||||||
@@ -344,15 +344,13 @@ enum GrPixelConfig {
|
|
||||||
static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
|
|
||||||
|
|
||||||
// Aliases for pixel configs that match skia's byte order.
|
|
||||||
-#ifndef SK_CPU_LENDIAN
|
|
||||||
- #error "Skia gpu currently assumes little endian"
|
|
||||||
-#endif
|
|
||||||
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
|
|
||||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
|
||||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
|
||||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kRGBA_8888_GrPixelConfig;
|
|
||||||
#else
|
|
||||||
- #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
|
|
||||||
+ static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
|
||||||
+ static const GrPixelConfig kSkiaGamma8888_GrPixelConfig = kSBGRA_8888_GrPixelConfig;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff -up firefox-60.0/gfx/skia/skia/src/core/SkColorData.h.big-endian firefox-60.0/gfx/skia/skia/src/core/SkColorData.h
|
|
||||||
--- firefox-60.0/gfx/skia/skia/src/core/SkColorData.h.big-endian 2018-04-18 13:42:06.980476156 +0200
|
|
||||||
+++ firefox-60.0/gfx/skia/skia/src/core/SkColorData.h 2018-04-18 13:42:50.493520552 +0200
|
|
||||||
@@ -31,18 +31,19 @@
|
|
||||||
*
|
|
||||||
* Here we enforce this constraint.
|
|
||||||
*/
|
|
||||||
-
|
|
||||||
+/*
|
|
||||||
#ifdef SK_CPU_BENDIAN
|
|
||||||
#define SK_BGRA_B32_SHIFT 24
|
|
||||||
#define SK_BGRA_G32_SHIFT 16
|
|
||||||
#define SK_BGRA_R32_SHIFT 8
|
|
||||||
#define SK_BGRA_A32_SHIFT 0
|
|
||||||
#else
|
|
||||||
+*/
|
|
||||||
#define SK_BGRA_B32_SHIFT 0
|
|
||||||
#define SK_BGRA_G32_SHIFT 8
|
|
||||||
#define SK_BGRA_R32_SHIFT 16
|
|
||||||
#define SK_BGRA_A32_SHIFT 24
|
|
||||||
-#endif
|
|
||||||
+//#endif
|
|
||||||
|
|
||||||
#if defined(SK_PMCOLOR_IS_RGBA) && defined(SK_PMCOLOR_IS_BGRA)
|
|
||||||
#error "can't define PMCOLOR to be RGBA and BGRA"
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -up firefox-60.0/gfx/qcms/transform-altivec.c.debug firefox-60.0/gfx/qcms/transform-altivec.c
|
|
||||||
--- firefox-60.0/gfx/qcms/transform-altivec.c.debug 2018-05-15 09:26:43.603043100 +0200
|
|
||||||
+++ firefox-60.0/gfx/qcms/transform-altivec.c 2018-05-15 09:28:57.302385632 +0200
|
|
||||||
@@ -30,7 +30,7 @@
|
|
||||||
static const ALIGN float floatScaleX4 = FLOATSCALE;
|
|
||||||
static const ALIGN float clampMaxValueX4 = CLAMPMAXVAL;
|
|
||||||
|
|
||||||
-inline vector float load_aligned_float(float *dataPtr)
|
|
||||||
+static vector float load_aligned_float(float *dataPtr)
|
|
||||||
{
|
|
||||||
vector float data = vec_lde(0, dataPtr);
|
|
||||||
vector unsigned char moveToStart = vec_lvsl(0, dataPtr);
|
|
|
@ -1,12 +1,12 @@
|
||||||
diff -up firefox-60.4.0/toolkit/moz.configure.disable-elfhack firefox-60.4.0/toolkit/moz.configure
|
diff -up firefox-115.0.2/toolkit/moz.configure.disable-elfhack firefox-115.0.2/toolkit/moz.configure
|
||||||
--- firefox-60.4.0/toolkit/moz.configure.disable-elfhack 2019-01-03 14:47:00.566556623 +0100
|
--- firefox-115.0.2/toolkit/moz.configure.disable-elfhack 2023-07-18 12:21:22.507358334 +0200
|
||||||
+++ firefox-60.4.0/toolkit/moz.configure 2019-01-03 14:49:14.243887620 +0100
|
+++ firefox-115.0.2/toolkit/moz.configure 2023-07-18 12:52:55.972727498 +0200
|
||||||
@@ -1192,7 +1192,7 @@ with only_when(has_elfhack):
|
@@ -1520,7 +1520,7 @@ with only_when("--enable-compile-environ
|
||||||
option('--disable-elf-hack', help='Disable elf hacks')
|
"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',
|
set_config("USE_ELF_HACK", use_elf_hack)
|
||||||
- depends_if('--enable-elf-hack')(lambda _: True))
|
|
||||||
+ depends_if('--enable-elf-hack')(lambda _: False))
|
|
||||||
|
|
||||||
|
|
||||||
@depends(check_build_environment)
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
diff -up mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/old-configure.in.gdk-version mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/old-configure.in
|
|
||||||
--- mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/old-configure.in.gdk-version 2018-03-10 03:54:17.000000000 +0100
|
|
||||||
+++ mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/old-configure.in 2018-03-28 13:11:06.294873487 +0200
|
|
||||||
@@ -61,6 +61,7 @@ CAIRO_VERSION=1.10
|
|
||||||
GTK2_VERSION=2.18.0
|
|
||||||
GTK3_VERSION=3.4.0
|
|
||||||
GDK_VERSION_MAX_ALLOWED=GDK_VERSION_3_4
|
|
||||||
+GDK_VERSION_MIN_REQUIRED=GDK_VERSION_3_4
|
|
||||||
WINDRES_VERSION=2.14.90
|
|
||||||
W32API_VERSION=3.14
|
|
||||||
GCONF_VERSION=1.2.1
|
|
||||||
@@ -2173,6 +2174,7 @@ if test "$COMPILE_ENVIRONMENT"; then
|
|
||||||
dnl GDK_VERSION_MIN_REQUIRED is not set here as GDK3 deprecated warnings
|
|
||||||
dnl are suppressed by widget/gtk/compat-gtk3/gdk/gdkversionmacros.h.
|
|
||||||
AC_DEFINE_UNQUOTED(GDK_VERSION_MAX_ALLOWED,$GDK_VERSION_MAX_ALLOWED)
|
|
||||||
+ AC_DEFINE_UNQUOTED(GDK_VERSION_MIN_REQUIRED,$GDK_VERSION_MIN_REQUIRED)
|
|
||||||
GLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32
|
|
||||||
fi
|
|
||||||
if test "$MOZ_WIDGET_TOOLKIT" = gtk2; then
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -up firefox-60.0/build/autoconf/icu.m4.icu firefox-60.0/build/autoconf/icu.m4
|
|
||||||
--- firefox-60.0/build/autoconf/icu.m4.icu 2018-04-17 15:11:54.100644119 +0200
|
|
||||||
+++ firefox-60.0/build/autoconf/icu.m4 2018-04-17 15:12:50.740686636 +0200
|
|
||||||
@@ -78,7 +78,7 @@ if test -n "$USE_ICU"; then
|
|
||||||
# TODO: the l is actually endian-dependent
|
|
||||||
# We could make this set as 'l' or 'b' for little or big, respectively,
|
|
||||||
# but we'd need to check in a big-endian version of the file.
|
|
||||||
- ICU_DATA_FILE="icudt${version}l.dat"
|
|
||||||
+ ICU_DATA_FILE="icudt${version}b.dat"
|
|
||||||
|
|
||||||
MOZ_ICU_DATA_ARCHIVE=
|
|
||||||
fi
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -up firefox-60.5.0/js/src/jit/AtomicOperations.h.jit-atomic-lucky firefox-60.5.0/js/src/jit/AtomicOperations.h
|
|
||||||
--- firefox-60.5.0/js/src/jit/AtomicOperations.h.jit-atomic-lucky 2019-01-22 10:20:27.993697161 +0100
|
|
||||||
+++ firefox-60.5.0/js/src/jit/AtomicOperations.h 2019-01-22 10:23:15.337873762 +0100
|
|
||||||
@@ -394,7 +394,7 @@ inline bool AtomicOperations::isLockfree
|
|
||||||
#elif defined(__s390__) || defined(__s390x__)
|
|
||||||
#include "jit/none/AtomicOperations-feeling-lucky.h"
|
|
||||||
#else
|
|
||||||
-#error "No AtomicOperations support provided for this platform"
|
|
||||||
+#include "jit/none/AtomicOperations-feeling-lucky.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // jit_AtomicOperations_h
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -up mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py.mozconfig-fix mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py
|
|
||||||
--- mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py.mozconfig-fix 2018-03-13 17:22:19.018466884 +0100
|
|
||||||
+++ mozilla-release-c61f5f5ead48c78a80c80db5c489bdc7cfaf8175/python/mozbuild/mozbuild/mozconfig.py 2018-03-13 17:23:57.379559640 +0100
|
|
||||||
@@ -446,7 +446,7 @@ class MozconfigLoader(object):
|
|
||||||
value = value[1:]
|
|
||||||
|
|
||||||
# Lines with a quote not ending in a quote are multi-line.
|
|
||||||
- if has_quote and not value.endswith("'"):
|
|
||||||
+ if has_quote and not value.endswith(("'", ";")):
|
|
||||||
in_variable = name
|
|
||||||
current.append(value)
|
|
||||||
continue
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -up firefox-60.1.0/old-configure.in.nss-version firefox-60.1.0/old-configure.in
|
|
||||||
--- firefox-60.1.0/old-configure.in.nss-version 2018-06-20 14:24:55.204158540 +0200
|
|
||||||
+++ firefox-60.1.0/old-configure.in 2018-06-20 14:30:19.517004230 +0200
|
|
||||||
@@ -1768,7 +1768,7 @@ MOZ_ARG_WITH_BOOL(system-nss,
|
|
||||||
_USE_SYSTEM_NSS=1 )
|
|
||||||
|
|
||||||
if test -n "$_USE_SYSTEM_NSS"; then
|
|
||||||
- AM_PATH_NSS(3.36.7, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
|
|
||||||
+ AM_PATH_NSS(3.36.0, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$MOZ_SYSTEM_NSS"; then
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -up firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s.ppc-abiv2 firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s
|
||||||
|
--- firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s.ppc-abiv2 2023-07-25 09:01:42.602375809 +0200
|
||||||
|
+++ firefox-115.0.2/security/nss/lib/freebl/sha512-p8.s 2023-07-25 09:01:48.273373924 +0200
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
# See the full LICENSE under scripts/.
|
||||||
|
|
||||||
|
.machine "any"
|
||||||
|
-.abiversion 2
|
||||||
|
+.abiversion 1
|
||||||
|
.text
|
||||||
|
|
||||||
|
.globl sha512_block_p8
|
|
@ -0,0 +1,11 @@
|
||||||
|
--- firefox-115.8.0/python/mozbuild/mozbuild/nodeutil.py.lower-node-min-version 2024-02-12 21:53:56.000000000 +0200
|
||||||
|
+++ firefox-115.8.0/python/mozbuild/mozbuild/nodeutil.py 2024-02-14 16:48:12.476182627 +0200
|
||||||
|
@@ -13,7 +13,7 @@ from mozboot.util import get_tools_dir
|
||||||
|
from packaging.version import Version
|
||||||
|
from six import PY3
|
||||||
|
|
||||||
|
-NODE_MIN_VERSION = Version("12.22.12")
|
||||||
|
+NODE_MIN_VERSION = Version("10.24.0")
|
||||||
|
NPM_MIN_VERSION = Version("6.14.16")
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -up firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py.rhel7-nasm firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py
|
||||||
|
--- firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py.rhel7-nasm 2021-08-31 08:02:10.814740774 +0200
|
||||||
|
+++ firefox-91.0.1/python/mozbuild/mozbuild/frontend/context.py 2021-08-31 08:04:03.967146994 +0200
|
||||||
|
@@ -420,7 +420,7 @@ class AsmFlags(BaseCompileFlags):
|
||||||
|
if self._context.config.substs.get("OS_ARCH") == "WINNT":
|
||||||
|
debug_flags += ["-F", "cv8"]
|
||||||
|
elif self._context.config.substs.get("OS_ARCH") != "Darwin":
|
||||||
|
- debug_flags += ["-F", "dwarf"]
|
||||||
|
+ debug_flags += ["-f", "elf32"]
|
||||||
|
elif (
|
||||||
|
self._context.config.substs.get("OS_ARCH") == "WINNT"
|
||||||
|
and self._context.config.substs.get("CPU_ARCH") == "aarch64"
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -up thunderbird-115.1.0/comm/third_party/rnp/moz.build.rnp-openssl thunderbird-115.1.0/comm/third_party/rnp/moz.build
|
||||||
|
--- thunderbird-115.1.0/comm/third_party/rnp/moz.build.rnp-openssl 2023-08-07 16:38:39.272780256 +0200
|
||||||
|
+++ thunderbird-115.1.0/comm/third_party/rnp/moz.build 2023-08-07 16:38:42.822780087 +0200
|
||||||
|
@@ -93,7 +93,7 @@ elif CONFIG["MZLA_LIBRNP_BACKEND"] == "o
|
||||||
|
# Supported, but not with RHEL's OpenSSL, disabled for now;
|
||||||
|
"ENABLE_BRAINPOOL": False,
|
||||||
|
})
|
||||||
|
- rnp_defines["PACKAGE_STRING"] = rnp_defines["PACKAGE_STRING"][:-1] + '-openssl"'
|
||||||
|
+ #rnp_defines["PACKAGE_STRING"] = rnp_defines["PACKAGE_STRING"][:-1] + '-openssl"'
|
||||||
|
if CONFIG["MZLA_LIBRNP_OPENSSL_VERSION"][0] == "3":
|
||||||
|
rnp_defines["CRYPTO_BACKEND_OPENSSL3"] = True
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff -up thunderbird-102.2.1/comm/mail/extensions/openpgp/content/BondOpenPGP.jsm.disable-openpgp-in-thunderbird thunderbird-102.2.1/comm/mail/extensions/openpgp/content/BondOpenPGP.jsm
|
||||||
|
--- thunderbird-102.2.1/comm/mail/extensions/openpgp/content/BondOpenPGP.jsm.disable-openpgp-in-thunderbird 2022-09-12 14:33:54.995339932 +0200
|
||||||
|
+++ thunderbird-102.2.1/comm/mail/extensions/openpgp/content/BondOpenPGP.jsm 2022-09-12 14:39:26.784999636 +0200
|
||||||
|
@@ -51,6 +51,8 @@ var BondOpenPGP = {
|
||||||
|
_alreadyTriedInit: false, // if already true, we will not try again
|
||||||
|
|
||||||
|
async init() {
|
||||||
|
+ // We don't have support for the opengpg in rhel ATM.
|
||||||
|
+ return;
|
||||||
|
if (this._alreadyTriedInit) {
|
||||||
|
// We have previously attempted to init, don't try again.
|
||||||
|
return;
|
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Finds requirements provided outside of the current file set
|
|
||||||
|
|
||||||
filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`
|
|
||||||
|
|
||||||
provides=`echo $filelist | /usr/lib/rpm/find-provides`
|
|
||||||
|
|
||||||
{
|
|
||||||
for f in $filelist ; do
|
|
||||||
echo $f | /usr/lib/rpm/find-requires | while read req ; do
|
|
||||||
found=0
|
|
||||||
for p in $provides ; do
|
|
||||||
if [ "$req" = "$p" ]; then
|
|
||||||
found=1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if [ "$found" = "0" ]; then
|
|
||||||
echo $req
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
} | sort -u
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
--- firefox-80.0.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2020-08-31 10:04:19.000000000 -0400
|
||||||
|
+++ firefox-80.0.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2020-09-12 07:24:35.298931628 -0400
|
||||||
|
@@ -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);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
diff -up firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp.nss-hack firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp
|
||||||
|
--- firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp.nss-hack 2021-01-11 12:12:02.585514543 +0100
|
||||||
|
+++ firefox-84.0.2/security/certverifier/NSSCertDBTrustDomain.cpp 2021-01-11 12:47:50.345984582 +0100
|
||||||
|
@@ -1619,6 +1619,15 @@ SECStatus InitializeNSS(const nsACString
|
||||||
|
return srv;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* Sets the NSS_USE_ALG_IN_ANY_SIGNATURE bit.
|
||||||
|
+ * does not change NSS_USE_ALG_IN_CERT_SIGNATURE,
|
||||||
|
+ * so policy will still disable use of sha1 in
|
||||||
|
+ * certificate related signature processing. */
|
||||||
|
+ srv = NSS_SetAlgorithmPolicy(SEC_OID_SHA1, NSS_USE_ALG_IN_ANY_SIGNATURE, 0);
|
||||||
|
+ if (srv != SECSuccess) {
|
||||||
|
+ NS_WARNING("Unable to use SHA1 for Add-ons, expect broken/disabled Add-ons. See https://bugzilla.redhat.com/show_bug.cgi?id=1908018 for details.");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (nssDbConfig == NSSDBConfig::ReadWrite) {
|
||||||
|
UniquePK11SlotInfo slot(PK11_GetInternalKeySlot());
|
||||||
|
if (!slot) {
|
|
@ -1,126 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#set -x
|
|
||||||
set -e
|
|
||||||
usage()
|
|
||||||
{
|
|
||||||
cat << EOF
|
|
||||||
usage: $0 options
|
|
||||||
|
|
||||||
This script downloads calendar langpacks for Thunderbird.
|
|
||||||
|
|
||||||
OPTIONS:
|
|
||||||
-h Show this message
|
|
||||||
-v Version string (7.0.1)
|
|
||||||
-b Build number (1, 2, 3)
|
|
||||||
-r Reuse downloaded files (when you don't want to redownload)
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
VER=
|
|
||||||
BUILDNUM=
|
|
||||||
LANG_DATE=`date "+%Y%m%d"`
|
|
||||||
while getopts “hv:b:r” OPTION
|
|
||||||
do
|
|
||||||
case $OPTION in
|
|
||||||
h)
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
v)
|
|
||||||
VER=$OPTARG
|
|
||||||
;;
|
|
||||||
b)
|
|
||||||
BUILDNUM=$OPTARG
|
|
||||||
;;
|
|
||||||
?)
|
|
||||||
usage
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -z "$VER" -o -z "$BUILDNUM" ]
|
|
||||||
then
|
|
||||||
echo "Missing version or build number."
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
WHITE='\033[1;33m'
|
|
||||||
NC='\033[0m' # No Color
|
|
||||||
|
|
||||||
LOCALES=`curl -f https://archive.mozilla.org/pub/thunderbird/candidates/$VER-candidates/build$BUILDNUM/linux-i686/ | grep "a href"|sed -e "s|.*/\([^/]*\)/\".*|\1|"|tail -n+2 |grep -v xpi`
|
|
||||||
#echo $LOCALES
|
|
||||||
rm -rf lightning-langpacks
|
|
||||||
mkdir -p lightning-langpacks
|
|
||||||
cd lightning-langpacks
|
|
||||||
LOCALE_COUNT=`echo $LOCALES| tr ' ' '\n' | wc -l`
|
|
||||||
LOCALE_NUM=0
|
|
||||||
for lang in $LOCALES; do
|
|
||||||
LOCALE_NUM=$((LOCALE_NUM+1))
|
|
||||||
echo -e "${WHITE}Processing calendar locale: $lang ($LOCALE_NUM/$LOCALE_COUNT)${NC}"
|
|
||||||
mkdir -p extracted_lightning
|
|
||||||
mkdir -p calendar-locales
|
|
||||||
#echo Downloading TB binary for locale: $lang
|
|
||||||
wget --quiet https://archive.mozilla.org/pub/thunderbird/candidates/$VER-candidates/build$BUILDNUM/linux-i686/$lang/thunderbird-$VER.tar.bz2
|
|
||||||
|
|
||||||
cd extracted_lightning
|
|
||||||
tar -xf ../thunderbird-$VER.tar.bz2 thunderbird/distribution/extensions/\{e2fda1a4-762b-4020-b5ad-a41df1933103\}.xpi
|
|
||||||
set +e
|
|
||||||
unzip -qq thunderbird/distribution/extensions/\{e2fda1a4-762b-4020-b5ad-a41df1933103\}.xpi
|
|
||||||
set -e
|
|
||||||
LIGHTNING_VERSION=`cat app.ini |grep "^Version="|sed -e 's/Version=//'`
|
|
||||||
BUILD_ID=`cat app.ini |grep "^BuildID="|sed -e 's/BuildID=//'`
|
|
||||||
MAX_VERSION=`cat app.ini |grep MaxVersion|sed -e s/MaxVersion=//`
|
|
||||||
MIN_VERSION=`cat app.ini |grep MinVersion|sed -e s/MinVersion=//`
|
|
||||||
rm -rf thunderbird
|
|
||||||
mkdir -p ../calendar-locales/chrome
|
|
||||||
cp -r chrome/calendar-$lang ../calendar-locales/chrome
|
|
||||||
cp -r chrome/lightning-$lang ../calendar-locales/chrome
|
|
||||||
cd -
|
|
||||||
|
|
||||||
cd calendar-locales
|
|
||||||
# create manifest
|
|
||||||
cat > manifest.json <<EOL
|
|
||||||
{
|
|
||||||
"languages": {
|
|
||||||
"$lang": {
|
|
||||||
"chrome_resources": {
|
|
||||||
"calendar": "chrome/calendar-$lang/locale/$lang/calendar/",
|
|
||||||
"lightning": "chrome/lightning-$lang/locale/$lang/lightning/"
|
|
||||||
},
|
|
||||||
"version": "$LIGHTNING_VERSION"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"applications": {
|
|
||||||
"gecko": {
|
|
||||||
"strict_min_version": "$MIN_VERSION",
|
|
||||||
"id": "langpack-cal-$lang@lightning.mozilla.org",
|
|
||||||
"strict_max_version": "$MAX_VERSION"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"langpack_id": "$lang",
|
|
||||||
"version": "7.$LIGHTNING_VERSION.$BUILD_ID",
|
|
||||||
"name": "$lang Language Pack Calendar",
|
|
||||||
"manifest_version": 2,
|
|
||||||
"sources": {
|
|
||||||
"browser": {
|
|
||||||
"base_path": "browser/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"author": "Mozilla.cz (contributors: Pavel Cvrček, Pavel Franc, Michal Stanke, Michal Vašíček)",
|
|
||||||
"description": "Language pack for Thunderbird for $lang, this was repacked by Fedora/RHEL package maintainer from original binaries."
|
|
||||||
}
|
|
||||||
|
|
||||||
EOL
|
|
||||||
zip --quiet -r ../langpack-cal-$lang@lightning.mozilla.org.xpi *
|
|
||||||
cd -
|
|
||||||
rm -rf calendar-locales
|
|
||||||
rm -rf extracted_lightning
|
|
||||||
|
|
||||||
rm -f thunderbird-$VER.tar.bz2
|
|
||||||
done
|
|
||||||
echo "Creating lightning-langpacks-$VER.tar.xz..."
|
|
||||||
tar cJf ../lightning-langpacks-$VER.tar.xz *.xpi
|
|
||||||
cd ..
|
|
||||||
rm -rf lightning-langpacks
|
|
|
@ -0,0 +1 @@
|
||||||
|
AIzaSyB2h2OuRcUgy5N-5hsZqiPW6sH3n_rptiQ
|
|
@ -1,54 +0,0 @@
|
||||||
%dir %{gtk3_install_path}/bin
|
|
||||||
%{gtk3_install_path}/bin/gdk-pixbuf-query-loaders-%{__isa_bits}
|
|
||||||
%{gtk3_install_path}/bin/gdk-pixbuf-thumbnailer
|
|
||||||
%{gtk3_install_path}/bin/gio-querymodules-%{__isa_bits}
|
|
||||||
%{gtk3_install_path}/bin/glib-compile-schemas
|
|
||||||
%{gtk3_install_path}/bin/gtk-query-immodules-3.0-%{__isa_bits}
|
|
||||||
%{gtk3_install_path}/bin/gtk-update-icon-cache
|
|
||||||
%{gtk3_install_path}/bin/fc-cache
|
|
||||||
|
|
||||||
%{gtk3_install_path}/etc
|
|
||||||
|
|
||||||
%dir %{gtk3_install_path}/%{_lib}
|
|
||||||
%{gtk3_install_path}/%{_lib}/libatk-1.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libatk-bridge-2.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libatspi.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libcairo.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libcairo-gobject.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libfontconfig.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libfreetype.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libgdk-3.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libgdk_pixbuf-2.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libgio-2.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libglib-2.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libgmodule-2.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libgobject-2.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libgthread-2.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libgtk-3.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libharfbuzz.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libpango-1.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libpangocairo-1.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libpangoft2-1.0.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/libpcre.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/librsvg-2.so.*
|
|
||||||
%dir %{gtk3_install_path}/%{_lib}/cairo
|
|
||||||
%{gtk3_install_path}/%{_lib}/cairo/cairo-fdr.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/cairo/cairo-sphinx.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/cairo/libcairo-trace.so.*
|
|
||||||
%{gtk3_install_path}/%{_lib}/gdk-pixbuf-2.0
|
|
||||||
%ghost %attr(644, root, root) %{gtk3_install_path}/%{_lib}/gdk-pixbuf-2.0/2.10.0/loaders.cache
|
|
||||||
%{gtk3_install_path}/%{_lib}/gio
|
|
||||||
%ghost %attr(644, root, root) %{gtk3_install_path}/%{_lib}/gio/modules/giomodule.cache
|
|
||||||
%{gtk3_install_path}/%{_lib}/gtk-3.0
|
|
||||||
%ghost %attr(644, root, root) %{gtk3_install_path}/%{_lib}/gtk-3.0/3.0.0/immodules.cache
|
|
||||||
|
|
||||||
%{gtk3_install_path}/libexec
|
|
||||||
|
|
||||||
%{gtk3_install_path}/share
|
|
||||||
%ghost %attr(644, root, root) %{gtk3_install_path}/share/icons/Adwaita/icon-theme.cache
|
|
||||||
%ghost %attr(644, root, root) %{gtk3_install_path}/share/icons/hicolor/icon-theme.cache
|
|
||||||
%ghost %attr(644, root, root) %{gtk3_install_path}/share/glib-2.0/schemas/gschemas.compiled
|
|
||||||
|
|
||||||
%{gtk3_install_path}/var
|
|
||||||
%dir %{gtk3_install_path}/var/cache/fontconfig
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
# adwaita-icon-theme
|
|
||||||
touch --no-create %{gtk3_install_path}/share/icons/Adwaita &>/dev/null || :
|
|
||||||
touch --no-create %{gtk3_install_path}/share/icons/hicolor &>/dev/null || :
|
|
||||||
%{gtk3_install_path}/bin/gdk-pixbuf-query-loaders-%{__isa_bits} --update-cache || :
|
|
||||||
|
|
||||||
# glib2
|
|
||||||
%{gtk3_install_path}/bin/gio-querymodules-%{__isa_bits} %{gtk3_install_path}/%{_lib}/gio/modules
|
|
||||||
|
|
||||||
# gtk3
|
|
||||||
%{gtk3_install_path}/bin/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
|
|
||||||
%{gtk3_install_path}/bin/glib-compile-schemas %{gtk3_install_path}/share/glib-2.0/schemas &> /dev/null || :
|
|
||||||
|
|
||||||
# fontconfig
|
|
||||||
umask 0022
|
|
||||||
|
|
||||||
# Force regeneration of all fontconfig cache files
|
|
||||||
# The check for existance is needed on dual-arch installs (the second
|
|
||||||
# copy of fontconfig might install the binary instead of the first)
|
|
||||||
# The HOME setting is to avoid problems if HOME hasn't been reset
|
|
||||||
# FIXME hardcoded version !
|
|
||||||
if [ -x %{gtk3_install_path}/bin/fc-cache ] && %{gtk3_install_path}/bin/fc-cache --version 2>&1 | grep -q 2.10.95 ; then
|
|
||||||
HOME=/root %{gtk3_install_path}/bin/fc-cache -f
|
|
||||||
fi
|
|
|
@ -1,3 +0,0 @@
|
||||||
%{gtk3_install_path}/gtk-update-icon-cache %{gtk3_install_path}/share/icons/hicolor &>/dev/null || :
|
|
||||||
# adwaita
|
|
||||||
%{gtk3_install_path}/gtk-update-icon-cache %{gtk3_install_path}/share/icons/Adwaita &>/dev/null || :
|
|
|
@ -1,27 +0,0 @@
|
||||||
# adwaita
|
|
||||||
if [ $1 -eq 0 ] ; then
|
|
||||||
touch --no-create %{gtk3_install_path}/share/icons/Adwaita &>/dev/null
|
|
||||||
touch --no-create %{gtk3_install_path}/share/icons/hicolor &>/dev/null
|
|
||||||
%{gtk3_install_path}/bin/gtk-update-icon-cache %{gtk3_install_path}/share/icons/Adwaita &>/dev/null || :
|
|
||||||
%{gtk3_install_path}/bin/gtk-update-icon-cache %{gtk3_install_path}/share/icons/hicolor &>/dev/null || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
# gdk-pixbuf2
|
|
||||||
if [ $1 -gt 0 ]; then
|
|
||||||
%{gtk3_install_path}/bin/gdk-pixbuf-query-loaders-%{__isa_bits} --update-cache || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
# glib2
|
|
||||||
[ ! -x %{gtk3_install_path}/bin/gio-querymodules-%{__isa_bits} ] || \
|
|
||||||
%{gtk3_install_path}/bin/gio-querymodules-%{__isa_bits} %{gtk3_install_path}/%{_lib}/gio/modules
|
|
||||||
|
|
||||||
# gtk3
|
|
||||||
if [ $1 -gt 0 ]; then
|
|
||||||
%{gtk3_install_path}/bin/gtk-query-immodules-3.0-%{__isa_bits} --update-cache
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $1 -eq 0 ] ; then
|
|
||||||
rm -rf %{gtk3_install_path}/var/cache/fontconfig/* &>/dev/null || :
|
|
||||||
fi
|
|
||||||
|
|
||||||
%{gtk3_install_path}/bin/glib-compile-schemas %{gtk3_install_path}/share/glib-2.0/schemas &> /dev/null || :
|
|
|
@ -1,26 +0,0 @@
|
||||||
%filter_provides_in %{gtk3_install_path}/%{_lib}
|
|
||||||
%filter_requires_in %{gtk3_install_path}/%{_lib}
|
|
||||||
|
|
||||||
%filter_from_requires /libgdk-3.*/d
|
|
||||||
%filter_from_requires /libatk-1.0.so.*/d
|
|
||||||
%filter_from_requires /libatk-bridge-2.0.so.*/d
|
|
||||||
%filter_from_requires /libatspi.so.*/d
|
|
||||||
%filter_from_requires /libcairo.so.*/d
|
|
||||||
%filter_from_requires /libcairo-gobject.so.*/d
|
|
||||||
%filter_from_requires /libfontconfig.so.*/d
|
|
||||||
%filter_from_requires /libfreetype.so.*/d
|
|
||||||
%filter_from_requires /libgdk-3.so.*/d
|
|
||||||
%filter_from_requires /libgdk_pixbuf-2.0.so.*/d
|
|
||||||
%filter_from_requires /libgio-2.0.so.*/d
|
|
||||||
%filter_from_requires /libglib-2.0.so.*/d
|
|
||||||
%filter_from_requires /libgmodule-2.0.so.*/d
|
|
||||||
%filter_from_requires /libgobject-2.0.so.*/d
|
|
||||||
%filter_from_requires /libgthread-2.0.so.*/d
|
|
||||||
%filter_from_requires /libgtk-3.so.*/d
|
|
||||||
%filter_from_requires /libharfbuzz.so.*/d
|
|
||||||
%filter_from_requires /libpango-1.0.so.*/d
|
|
||||||
%filter_from_requires /libpangocairo-1.0.so.*/d
|
|
||||||
%filter_from_requires /libpangoft2-1.0.so.*/d
|
|
||||||
%filter_from_requires /libpcre.so.*/d
|
|
||||||
|
|
||||||
# Don't forget to call %%filter_setup from the consumer!
|
|
|
@ -1,34 +0,0 @@
|
||||||
%if "%{name}" == "gtk3-private"
|
|
||||||
function prepend_buildroot_include_path_to_compiler_flags() {
|
|
||||||
export CFLAGS="-I%{_buildrootdir}%{gtk3_install_path}/$@ $CFLAGS" \
|
|
||||||
export CXXFLAGS="-I%{_buildrootdir}%{gtk3_install_path}/$@ $CXXFLAGS"
|
|
||||||
}
|
|
||||||
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/glib-2.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/glib-2.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/gio-unix-2.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags %{_lib}/glib-2.0/include
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/freetype2
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/fontconfig
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/harfbuzz
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/gdk-pixbuf-2.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/atk-1.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/at-spi-2.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/at-spi2-atk/2.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/cairo
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/pango-1.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/librsvg-2.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/cairo
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/gtk-3.0
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/gtk-3.0/unix-print
|
|
||||||
prepend_buildroot_include_path_to_compiler_flags include/librsvg-2.0
|
|
||||||
%else
|
|
||||||
sed -i 's@%{gtk3_install_path}@%{_buildrootdir}%{gtk3_install_path}@g' %{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig/*.pc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
export LDFLAGS="-L%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
|
|
||||||
export LDFLAGS="-Wl,-rpath,%{gtk3_install_path}/%{_lib} $LDFLAGS"
|
|
||||||
export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{gtk3_install_path}/%{_lib} $LDFLAGS"
|
|
||||||
|
|
||||||
export PKG_CONFIG_PATH=%{_buildrootdir}%{gtk3_install_path}/%{_lib}/pkgconfig
|
|
|
@ -1,30 +0,0 @@
|
||||||
diff -up firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.1005640-accept-lang firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm
|
|
||||||
--- firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm.1005640-accept-lang 2017-01-16 17:16:52.000000000 +0100
|
|
||||||
+++ firefox-51.0/toolkit/mozapps/extensions/internal/XPIProvider.jsm 2017-01-18 12:35:29.380394216 +0100
|
|
||||||
@@ -2852,6 +2852,11 @@ this.XPIProvider = {
|
|
||||||
this.addAddonsToCrashReporter();
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // Save locale settings to compare it later to check whenever some addon
|
|
||||||
+ // changed it.
|
|
||||||
+ var previousLocale = Cc["@mozilla.org/chrome/chrome-registry;1"]
|
|
||||||
+ .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global");
|
|
||||||
+
|
|
||||||
try {
|
|
||||||
AddonManagerPrivate.recordTimestamp("XPI_bootstrap_addons_begin");
|
|
||||||
|
|
||||||
@@ -2880,6 +2885,14 @@ this.XPIProvider = {
|
|
||||||
AddonManagerPrivate.recordException("XPI-BOOTSTRAP", "startup failed", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ var currentLocale = Cc["@mozilla.org/chrome/chrome-registry;1"]
|
|
||||||
+ .getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global");
|
|
||||||
+ if (currentLocale != previousLocale) {
|
|
||||||
+ // We have to flush string cache if the locale was changed during loading
|
|
||||||
+ // of addons
|
|
||||||
+ Services.obs.notifyObservers(null, "chrome-flush-caches", null);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
// Let these shutdown a little earlier when they still have access to most
|
|
||||||
// of XPCOM
|
|
||||||
Services.obs.addObserver({
|
|
|
@ -1,98 +0,0 @@
|
||||||
diff -up firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp
|
|
||||||
--- firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp.1170092 2019-01-22 10:48:38.187383614 +0100
|
|
||||||
+++ firefox-60.5.0/extensions/pref/autoconfig/src/nsReadConfig.cpp 2019-01-22 11:26:11.027108692 +0100
|
|
||||||
@@ -225,8 +225,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
|
||||||
if (NS_FAILED(rv)) return rv;
|
|
||||||
|
|
||||||
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
|
||||||
- if (NS_FAILED(rv)) return rv;
|
|
||||||
+ if (NS_FAILED(rv)) {
|
|
||||||
+ // Look for cfg file in /etc/<application>/pref
|
|
||||||
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
|
|
||||||
+ getter_AddRefs(jsFile));
|
|
||||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
+
|
|
||||||
+ rv = jsFile->AppendNative(NS_LITERAL_CSTRING("pref"));
|
|
||||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
|
|
||||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
|
|
||||||
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
|
||||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
+ }
|
|
||||||
} else {
|
|
||||||
nsAutoCString location("resource://gre/defaults/autoconfig/");
|
|
||||||
location += aFileName;
|
|
||||||
diff -up firefox-60.5.0/modules/libpref/Preferences.cpp.1170092 firefox-60.5.0/modules/libpref/Preferences.cpp
|
|
||||||
--- firefox-60.5.0/modules/libpref/Preferences.cpp.1170092 2019-01-21 17:38:16.000000000 +0100
|
|
||||||
+++ firefox-60.5.0/modules/libpref/Preferences.cpp 2019-01-22 10:48:38.187383614 +0100
|
|
||||||
@@ -3459,6 +3459,8 @@ static nsresult pref_ReadPrefFromJar(nsZ
|
|
||||||
//
|
|
||||||
// Thus, in the omni.jar case, we always load app-specific default
|
|
||||||
// preferences from omni.jar, whether or not `$app == $gre`.
|
|
||||||
+ // At very end load configuration from system config location:
|
|
||||||
+ // - /etc/firefox/pref/*.js
|
|
||||||
|
|
||||||
nsresult rv;
|
|
||||||
nsZipFind* findPtr;
|
|
||||||
diff -up firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp.1170092 firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp
|
|
||||||
--- firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp.1170092 2019-01-21 17:38:51.000000000 +0100
|
|
||||||
+++ firefox-60.5.0/toolkit/xre/nsXREDirProvider.cpp 2019-01-22 11:37:01.868896974 +0100
|
|
||||||
@@ -58,6 +58,7 @@
|
|
||||||
#endif
|
|
||||||
#ifdef XP_UNIX
|
|
||||||
#include <ctype.h>
|
|
||||||
+#include "nsIXULAppInfo.h"
|
|
||||||
#endif
|
|
||||||
#ifdef XP_IOS
|
|
||||||
#include "UIKitDirProvider.h"
|
|
||||||
@@ -491,6 +492,21 @@ nsXREDirProvider::GetFile(const char* aP
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+#if defined(XP_UNIX)
|
|
||||||
+ if (!strcmp(aProperty, NS_APP_PREFS_SYSTEM_CONFIG_DIR)) {
|
|
||||||
+ nsCString sysConfigDir = NS_LITERAL_CSTRING("/etc/");
|
|
||||||
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
|
|
||||||
+ if (!appInfo)
|
|
||||||
+ return NS_ERROR_NOT_AVAILABLE;
|
|
||||||
+ nsCString appName;
|
|
||||||
+ appInfo->GetName(appName);
|
|
||||||
+ ToLowerCase(appName);
|
|
||||||
+ sysConfigDir.Append(appName);
|
|
||||||
+ return NS_NewNativeLocalFile(sysConfigDir, false, aFile);
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
if (NS_FAILED(rv) || !file) return NS_ERROR_FAILURE;
|
|
||||||
|
|
||||||
if (ensureFilePermissions) {
|
|
||||||
@@ -796,6 +812,16 @@ nsresult nsXREDirProvider::GetFilesInter
|
|
||||||
LoadDirIntoArray(mXULAppDir, kAppendPrefDir, directories);
|
|
||||||
LoadDirsIntoArray(mAppBundleDirectories, kAppendPrefDir, directories);
|
|
||||||
|
|
||||||
+ // Add /etc/<application>/pref/ directory if it exists
|
|
||||||
+ nsCOMPtr<nsIFile> systemPrefDir;
|
|
||||||
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
|
|
||||||
+ getter_AddRefs(systemPrefDir));
|
|
||||||
+ if (NS_SUCCEEDED(rv)) {
|
|
||||||
+ rv = systemPrefDir->AppendNative(NS_LITERAL_CSTRING("pref"));
|
|
||||||
+ if (NS_SUCCEEDED(rv))
|
|
||||||
+ directories.AppendObject(systemPrefDir);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
rv = NS_NewArrayEnumerator(aResult, directories);
|
|
||||||
} 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-60.5.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 firefox-60.5.0/xpcom/io/nsAppDirectoryServiceDefs.h
|
|
||||||
--- firefox-60.5.0/xpcom/io/nsAppDirectoryServiceDefs.h.1170092 2019-01-22 10:48:38.188383609 +0100
|
|
||||||
+++ firefox-60.5.0/xpcom/io/nsAppDirectoryServiceDefs.h 2019-01-22 11:08:12.068459480 +0100
|
|
||||||
@@ -62,6 +62,7 @@
|
|
||||||
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
|
|
||||||
#define NS_APP_PREFS_OVERRIDE_DIR \
|
|
||||||
"PrefDOverride" // Directory for per-profile defaults
|
|
||||||
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration
|
|
||||||
|
|
||||||
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
|
|
||||||
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"
|
|
|
@ -1,13 +0,0 @@
|
||||||
diff -up firefox-60.5.0/widget/gtk/nsWindow.cpp.1196777 firefox-60.5.0/widget/gtk/nsWindow.cpp
|
|
||||||
--- firefox-60.5.0/widget/gtk/nsWindow.cpp.1196777 2019-01-22 11:41:58.630469400 +0100
|
|
||||||
+++ firefox-60.5.0/widget/gtk/nsWindow.cpp 2019-01-22 11:42:50.134227448 +0100
|
|
||||||
@@ -152,7 +152,8 @@ const gint kEvents =
|
|
||||||
#if GTK_CHECK_VERSION(3, 4, 0)
|
|
||||||
GDK_SMOOTH_SCROLL_MASK | GDK_TOUCH_MASK |
|
|
||||||
#endif
|
|
||||||
- GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK;
|
|
||||||
+ GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_PROPERTY_CHANGE_MASK |
|
|
||||||
+ GDK_FOCUS_CHANGE_MASK;
|
|
||||||
|
|
||||||
/* utility functions */
|
|
||||||
static bool is_mouse_in_window(GdkWindow *aWindow, gdouble aMouseX,
|
|
|
@ -1,27 +0,0 @@
|
||||||
From 1cc652f5525f458b0b4ceb12af24bf5a4367db32 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
|
||||||
Date: Tue, 23 May 2017 13:09:48 -0400
|
|
||||||
Subject: [PATCH] Bug 1353817: Include SkNx_neon.h for ARM64 too
|
|
||||||
|
|
||||||
This fixes build errors as arm_neon.h was missing along with some
|
|
||||||
missing converters.
|
|
||||||
---
|
|
||||||
gfx/skia/skia/src/core/SkNx.h | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/gfx/skia/skia/src/core/SkNx.h b/gfx/skia/skia/src/core/SkNx.h
|
|
||||||
index 6bca856..b0427aa 100644
|
|
||||||
--- a/gfx/skia/skia/src/core/SkNx.h
|
|
||||||
+++ b/gfx/skia/skia/src/core/SkNx.h
|
|
||||||
@@ -299,7 +299,7 @@ typedef SkNx<4, uint32_t> Sk4u;
|
|
||||||
// Include platform specific specializations if available.
|
|
||||||
#if !defined(SKNX_NO_SIMD) && SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
|
|
||||||
#include "../opts/SkNx_sse.h"
|
|
||||||
-#elif !defined(SKNX_NO_SIMD) && defined(SK_ARM_HAS_NEON)
|
|
||||||
+#elif !defined(SKNX_NO_SIMD) && (defined(SK_ARM_HAS_NEON) || defined(SK_CPU_ARM64))
|
|
||||||
#include "../opts/SkNx_neon.h"
|
|
||||||
#else
|
|
||||||
|
|
||||||
--
|
|
||||||
2.9.4
|
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
|
|
||||||
# HG changeset patch
|
|
||||||
# User Jed Davis <jld@mozilla.com>
|
|
||||||
# Date 1526943705 21600
|
|
||||||
# Node ID 6bb3adfa15c6877f7874429462dad88f8c978c4f
|
|
||||||
# Parent 4c71c8454879c841871ecf3afb7dbdc96bad97fc
|
|
||||||
Bug 1436242 - Avoid undefined behavior in IPC fd-passing code. r=froydnj
|
|
||||||
|
|
||||||
MozReview-Commit-ID: 3szIPUssgF5
|
|
||||||
|
|
||||||
diff --git a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
|
|
||||||
--- a/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
|
|
||||||
+++ b/ipc/chromium/src/chrome/common/ipc_channel_posix.cc
|
|
||||||
@@ -418,20 +418,37 @@ bool Channel::ChannelImpl::ProcessIncomi
|
|
||||||
const int* fds;
|
|
||||||
unsigned num_fds;
|
|
||||||
unsigned fds_i = 0; // the index of the first unused descriptor
|
|
||||||
|
|
||||||
if (input_overflow_fds_.empty()) {
|
|
||||||
fds = wire_fds;
|
|
||||||
num_fds = num_wire_fds;
|
|
||||||
} else {
|
|
||||||
- const size_t prev_size = input_overflow_fds_.size();
|
|
||||||
- input_overflow_fds_.resize(prev_size + num_wire_fds);
|
|
||||||
- memcpy(&input_overflow_fds_[prev_size], wire_fds,
|
|
||||||
- num_wire_fds * sizeof(int));
|
|
||||||
+ // This code may look like a no-op in the case where
|
|
||||||
+ // num_wire_fds == 0, but in fact:
|
|
||||||
+ //
|
|
||||||
+ // 1. wire_fds will be nullptr, so passing it to memcpy is
|
|
||||||
+ // undefined behavior according to the C standard, even though
|
|
||||||
+ // the memcpy length is 0.
|
|
||||||
+ //
|
|
||||||
+ // 2. prev_size will be an out-of-bounds index for
|
|
||||||
+ // input_overflow_fds_; this is undefined behavior according to
|
|
||||||
+ // the C++ standard, even though the element only has its
|
|
||||||
+ // pointer taken and isn't accessed (and the corresponding
|
|
||||||
+ // operation on a C array would be defined).
|
|
||||||
+ //
|
|
||||||
+ // UBSan makes #1 a fatal error, and assertions in libstdc++ do
|
|
||||||
+ // the same for #2 if enabled.
|
|
||||||
+ if (num_wire_fds > 0) {
|
|
||||||
+ const size_t prev_size = input_overflow_fds_.size();
|
|
||||||
+ input_overflow_fds_.resize(prev_size + num_wire_fds);
|
|
||||||
+ memcpy(&input_overflow_fds_[prev_size], wire_fds,
|
|
||||||
+ num_wire_fds * sizeof(int));
|
|
||||||
+ }
|
|
||||||
fds = &input_overflow_fds_[0];
|
|
||||||
num_fds = input_overflow_fds_.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
// The data for the message we're currently reading consists of any data
|
|
||||||
// stored in incoming_message_ followed by data in input_buf_ (followed by
|
|
||||||
// other messages).
|
|
||||||
|
|
||||||
|
|
|
@ -1,164 +0,0 @@
|
||||||
diff -up thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl
|
|
||||||
--- thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
|
|
||||||
+++ thunderbird-60.2.1/comm/ldap/xpcom/public/nsILDAPOperation.idl 2018-10-04 09:40:04.491575949 +0200
|
|
||||||
@@ -52,6 +52,10 @@ interface nsILDAPOperation : nsISupports
|
|
||||||
* private parameter (anything caller desires)
|
|
||||||
*/
|
|
||||||
attribute nsISupports closure;
|
|
||||||
+ /**
|
|
||||||
+ * number of the request for compare that the request is still valid.
|
|
||||||
+ */
|
|
||||||
+ attribute unsigned long requestNum;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* No time and/or size limit specified
|
|
||||||
diff -up thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp
|
|
||||||
--- thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
|
|
||||||
+++ thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.cpp 2018-10-04 09:40:04.491575949 +0200
|
|
||||||
@@ -400,6 +400,19 @@ convertControlArray(nsIArray *aXpcomArra
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* attribute unsigned long requestNum; */
|
|
||||||
+NS_IMETHODIMP nsLDAPOperation::GetRequestNum(uint32_t *aRequestNum)
|
|
||||||
+{
|
|
||||||
+ *aRequestNum = mRequestNum;
|
|
||||||
+ return NS_OK;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+NS_IMETHODIMP nsLDAPOperation::SetRequestNum(uint32_t aRequestNum)
|
|
||||||
+{
|
|
||||||
+ mRequestNum = aRequestNum;
|
|
||||||
+ return NS_OK;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
NS_IMETHODIMP
|
|
||||||
nsLDAPOperation::SearchExt(const nsACString& aBaseDn, int32_t aScope,
|
|
||||||
const nsACString& aFilter,
|
|
||||||
diff -up thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h.1460871-ldap-query thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h
|
|
||||||
--- thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h.1460871-ldap-query 2018-10-01 16:52:39.000000000 +0200
|
|
||||||
+++ thunderbird-60.2.1/comm/ldap/xpcom/src/nsLDAPOperation.h 2018-10-04 09:40:04.491575949 +0200
|
|
||||||
@@ -36,6 +36,8 @@ class nsLDAPOperation : public nsILDAPOp
|
|
||||||
* used to break cycles
|
|
||||||
*/
|
|
||||||
void Clear();
|
|
||||||
+ // Stores the request number for later check of the operation is still valid
|
|
||||||
+ int32_t mRequestNum;
|
|
||||||
|
|
||||||
private:
|
|
||||||
virtual ~nsLDAPOperation();
|
|
||||||
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp
|
|
||||||
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
|
|
||||||
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2018-10-04 09:40:55.334670404 +0200
|
|
||||||
@@ -22,6 +22,8 @@
|
|
||||||
|
|
||||||
using namespace mozilla;
|
|
||||||
|
|
||||||
+extern mozilla::LazyLogModule gLDAPLogModule; // defined in nsLDAPService.cpp
|
|
||||||
+
|
|
||||||
// nsAbLDAPListenerBase inherits nsILDAPMessageListener
|
|
||||||
class nsAbQueryLDAPMessageListener : public nsAbLDAPListenerBase
|
|
||||||
{
|
|
||||||
@@ -66,7 +68,6 @@ protected:
|
|
||||||
|
|
||||||
bool mFinished;
|
|
||||||
bool mCanceled;
|
|
||||||
- bool mWaitingForPrevQueryToFinish;
|
|
||||||
|
|
||||||
nsCOMPtr<nsIMutableArray> mServerSearchControls;
|
|
||||||
nsCOMPtr<nsIMutableArray> mClientSearchControls;
|
|
||||||
@@ -94,7 +95,6 @@ nsAbQueryLDAPMessageListener::nsAbQueryL
|
|
||||||
mResultLimit(resultLimit),
|
|
||||||
mFinished(false),
|
|
||||||
mCanceled(false),
|
|
||||||
- mWaitingForPrevQueryToFinish(false),
|
|
||||||
mServerSearchControls(serverSearchControls),
|
|
||||||
mClientSearchControls(clientSearchControls)
|
|
||||||
{
|
|
||||||
@@ -116,9 +116,6 @@ nsresult nsAbQueryLDAPMessageListener::C
|
|
||||||
return NS_OK;
|
|
||||||
|
|
||||||
mCanceled = true;
|
|
||||||
- if (!mFinished)
|
|
||||||
- mWaitingForPrevQueryToFinish = true;
|
|
||||||
-
|
|
||||||
return NS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -129,6 +126,8 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
|
|
||||||
|
|
||||||
int32_t messageType;
|
|
||||||
rv = aMessage->GetType(&messageType);
|
|
||||||
+ uint32_t requestNum;
|
|
||||||
+ mOperation->GetRequestNum(&requestNum);
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
|
|
||||||
bool cancelOperation = false;
|
|
||||||
@@ -137,6 +136,14 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
|
|
||||||
{
|
|
||||||
MutexAutoLock lock (mLock);
|
|
||||||
|
|
||||||
+ if (requestNum != sCurrentRequestNum) {
|
|
||||||
+ MOZ_LOG(gLDAPLogModule, mozilla::LogLevel::Debug,
|
|
||||||
+ ("nsAbQueryLDAPMessageListener::OnLDAPMessage: Ignoring message with "
|
|
||||||
+ "request num %d, current request num is %d.",
|
|
||||||
+ requestNum, sCurrentRequestNum));
|
|
||||||
+ return NS_OK;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (mFinished)
|
|
||||||
return NS_OK;
|
|
||||||
|
|
||||||
@@ -166,11 +173,10 @@ NS_IMETHODIMP nsAbQueryLDAPMessageListen
|
|
||||||
rv = OnLDAPMessageSearchResult(aMessage);
|
|
||||||
break;
|
|
||||||
case nsILDAPMessage::RES_SEARCH_ENTRY:
|
|
||||||
- if (!mFinished && !mWaitingForPrevQueryToFinish)
|
|
||||||
+ if (!mFinished)
|
|
||||||
rv = OnLDAPMessageSearchEntry(aMessage);
|
|
||||||
break;
|
|
||||||
case nsILDAPMessage::RES_SEARCH_RESULT:
|
|
||||||
- mWaitingForPrevQueryToFinish = false;
|
|
||||||
rv = OnLDAPMessageSearchResult(aMessage);
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
break;
|
|
||||||
@@ -207,6 +213,8 @@ nsresult nsAbQueryLDAPMessageListener::D
|
|
||||||
rv = mOperation->Init(mConnection, this, nullptr);
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
|
|
||||||
+ mOperation->SetRequestNum(++sCurrentRequestNum);
|
|
||||||
+
|
|
||||||
nsAutoCString dn;
|
|
||||||
rv = mSearchUrl->GetDn(dn);
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
|
||||||
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp
|
|
||||||
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
|
|
||||||
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.cpp 2018-10-04 09:40:04.492575951 +0200
|
|
||||||
@@ -20,6 +20,8 @@
|
|
||||||
|
|
||||||
using namespace mozilla;
|
|
||||||
|
|
||||||
+uint32_t nsAbLDAPListenerBase::sCurrentRequestNum = 0;
|
|
||||||
+
|
|
||||||
nsAbLDAPListenerBase::nsAbLDAPListenerBase(nsILDAPURL* url,
|
|
||||||
nsILDAPConnection* connection,
|
|
||||||
const nsACString &login,
|
|
||||||
@@ -249,6 +251,7 @@ NS_IMETHODIMP nsAbLDAPListenerBase::OnLD
|
|
||||||
InitFailed();
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
+ mOperation->SetRequestNum(++sCurrentRequestNum);
|
|
||||||
|
|
||||||
// Try non-password mechanisms first
|
|
||||||
if (mSaslMechanism.EqualsLiteral("GSSAPI"))
|
|
||||||
diff -up thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h.1460871-ldap-query thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h
|
|
||||||
--- thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h.1460871-ldap-query 2018-10-01 16:52:43.000000000 +0200
|
|
||||||
+++ thunderbird-60.2.1/comm/mailnews/addrbook/src/nsAbLDAPListenerBase.h 2018-10-04 09:40:04.492575951 +0200
|
|
||||||
@@ -47,6 +47,7 @@ protected:
|
|
||||||
int32_t mTimeOut;
|
|
||||||
bool mBound;
|
|
||||||
bool mInitialized;
|
|
||||||
+ static uint32_t sCurrentRequestNum;
|
|
||||||
|
|
||||||
mozilla::Mutex mLock;
|
|
||||||
};
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- a/layout/generic/nsIFrame.h.old 2016-07-11 13:41:39.688276559 +0200
|
|
||||||
+++ b/layout/generic/nsIFrame.h 2016-07-11 13:42:12.791406976 +0200
|
|
||||||
@@ -13,7 +13,7 @@
|
|
||||||
#error This header/class should only be used within Mozilla code. It should not be used by extensions.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#define MAX_REFLOW_DEPTH 200
|
|
||||||
+#define MAX_REFLOW_DEPTH 1000
|
|
||||||
|
|
||||||
/* nsIFrame is in the process of being deCOMtaminated, i.e., this file is eventually
|
|
||||||
going to be eliminated, and all callers will use nsFrame instead. At the moment
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
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
|
||||||
|
@@ -263,8 +263,20 @@ nsresult nsReadConfig::openAndEvaluateJS
|
||||||
|
if (NS_FAILED(rv)) return rv;
|
||||||
|
|
||||||
|
rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||||
|
- if (NS_FAILED(rv)) return rv;
|
||||||
|
+ if (NS_FAILED(rv)) {
|
||||||
|
+ // Look for cfg file in /etc/<application>/pref
|
||||||
|
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
|
||||||
|
+ getter_AddRefs(jsFile));
|
||||||
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
+
|
||||||
|
+ rv = jsFile->AppendNative(nsLiteralCString("pref"));
|
||||||
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
+ rv = jsFile->AppendNative(nsDependentCString(aFileName));
|
||||||
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
+ rv = NS_NewLocalFileInputStream(getter_AddRefs(inStr), jsFile);
|
||||||
|
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
+ }
|
||||||
|
} 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
|
||||||
|
//
|
||||||
|
// Thus, in the omni.jar case, we always load app-specific default
|
||||||
|
// preferences from omni.jar, whether or not `$app == $gre`.
|
||||||
|
+ //
|
||||||
|
+ // At very end load configuration from system config location:
|
||||||
|
+ // - /etc/firefox/pref/*.js
|
||||||
|
|
||||||
|
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 @@
|
||||||
|
#endif
|
||||||
|
#ifdef XP_UNIX
|
||||||
|
# include <ctype.h>
|
||||||
|
+# include "nsIXULAppInfo.h"
|
||||||
|
#endif
|
||||||
|
#ifdef XP_IOS
|
||||||
|
# include "UIKitDirProvider.h"
|
||||||
|
@@ -478,6 +479,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)) {
|
||||||
|
+ nsCString sysConfigDir = nsLiteralCString("/etc/");
|
||||||
|
+ nsCOMPtr<nsIXULAppInfo> appInfo = do_GetService("@mozilla.org/xre/app-info;1");
|
||||||
|
+ if (!appInfo)
|
||||||
|
+ return NS_ERROR_NOT_AVAILABLE;
|
||||||
|
+ nsCString appName;
|
||||||
|
+ appInfo->GetName(appName);
|
||||||
|
+ ToLowerCase(appName);
|
||||||
|
+ sysConfigDir.Append(appName);
|
||||||
|
+ NS_NewNativeLocalFile(sysConfigDir, false, 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
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ // Add /etc/<application>/pref/ directory if it exists
|
||||||
|
+ nsCOMPtr<nsIFile> systemPrefDir;
|
||||||
|
+ rv = NS_GetSpecialDirectory(NS_APP_PREFS_SYSTEM_CONFIG_DIR,
|
||||||
|
+ getter_AddRefs(systemPrefDir));
|
||||||
|
+ if (NS_SUCCEEDED(rv)) {
|
||||||
|
+ 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-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
|
||||||
|
@@ -58,6 +58,7 @@
|
||||||
|
#define NS_APP_PREFS_DEFAULTS_DIR_LIST "PrefDL"
|
||||||
|
#define NS_APP_PREFS_OVERRIDE_DIR \
|
||||||
|
"PrefDOverride" // Directory for per-profile defaults
|
||||||
|
+#define NS_APP_PREFS_SYSTEM_CONFIG_DIR "PrefSysConf" // Directory with system-wide configuration
|
||||||
|
|
||||||
|
#define NS_APP_USER_PROFILE_50_DIR "ProfD"
|
||||||
|
#define NS_APP_USER_PROFILE_LOCAL_50_DIR "ProfLD"
|
|
@ -0,0 +1,89 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# Parent 9fcbd287056a40084b1e679f787bf683b291f323
|
||||||
|
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
|
||||||
|
|
||||||
|
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
|
||||||
|
--- a/gfx/2d/DrawTargetSkia.cpp
|
||||||
|
+++ b/gfx/2d/DrawTargetSkia.cpp
|
||||||
|
@@ -156,7 +156,8 @@ static IntRect CalculateSurfaceBounds(co
|
||||||
|
}
|
||||||
|
|
||||||
|
static const int kARGBAlphaOffset =
|
||||||
|
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||||
|
+ 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 ==
|
||||||
|
+ // SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||||
|
|
||||||
|
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
|
||||||
|
const int32_t aStride, SurfaceFormat aFormat) {
|
||||||
|
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
|
||||||
|
--- a/gfx/2d/Types.h
|
||||||
|
+++ b/gfx/2d/Types.h
|
||||||
|
@@ -89,18 +89,11 @@ enum class SurfaceFormat : int8_t {
|
||||||
|
// This represents the unknown format.
|
||||||
|
UNKNOWN, // TODO: Replace uses with Maybe<SurfaceFormat>.
|
||||||
|
|
||||||
|
-// The following values are endian-independent synonyms. The _UINT32 suffix
|
||||||
|
-// indicates that the name reflects the layout when viewed as a uint32_t
|
||||||
|
-// value.
|
||||||
|
-#if MOZ_LITTLE_ENDIAN()
|
||||||
|
+ // The following values are endian-independent synonyms. The _UINT32 suffix
|
||||||
|
+ // indicates that the name reflects the layout when viewed as a uint32_t
|
||||||
|
+ // value.
|
||||||
|
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
|
||||||
|
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
|
||||||
|
-#elif MOZ_BIG_ENDIAN()
|
||||||
|
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
|
||||||
|
- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB
|
||||||
|
-#else
|
||||||
|
-# error "bad endianness"
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
// The following values are OS and endian-independent synonyms.
|
||||||
|
//
|
||||||
|
diff --git a/gfx/skia/skia/modules/skcms/skcms.cc b/gfx/skia/skia/modules/skcms/skcms.cc
|
||||||
|
--- a/gfx/skia/skia/modules/skcms/skcms.cc
|
||||||
|
+++ b/gfx/skia/skia/modules/skcms/skcms.cc
|
||||||
|
@@ -30,6 +30,8 @@
|
||||||
|
#include <avx512fintrin.h>
|
||||||
|
#include <avx512dqintrin.h>
|
||||||
|
#endif
|
||||||
|
+#else
|
||||||
|
+ #define SKCMS_PORTABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static bool runtime_cpu_detection = true;
|
||||||
|
@@ -324,20 +326,28 @@ enum {
|
||||||
|
static uint16_t read_big_u16(const uint8_t* ptr) {
|
||||||
|
uint16_t be;
|
||||||
|
memcpy(&be, ptr, sizeof(be));
|
||||||
|
-#if defined(_MSC_VER)
|
||||||
|
- return _byteswap_ushort(be);
|
||||||
|
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||||
|
+ return be;
|
||||||
|
#else
|
||||||
|
- return __builtin_bswap16(be);
|
||||||
|
+ #if defined(_MSC_VER)
|
||||||
|
+ return _byteswap_ushort(be);
|
||||||
|
+ #else
|
||||||
|
+ return __builtin_bswap16(be);
|
||||||
|
+ #endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static uint32_t read_big_u32(const uint8_t* ptr) {
|
||||||
|
uint32_t be;
|
||||||
|
memcpy(&be, ptr, sizeof(be));
|
||||||
|
-#if defined(_MSC_VER)
|
||||||
|
- return _byteswap_ulong(be);
|
||||||
|
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
|
||||||
|
+ return be;
|
||||||
|
#else
|
||||||
|
- return __builtin_bswap32(be);
|
||||||
|
+ #if defined(_MSC_VER)
|
||||||
|
+ return _byteswap_ulong(be);
|
||||||
|
+ #else
|
||||||
|
+ return __builtin_bswap32(be);
|
||||||
|
+ #endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# Parent 09cd4ac2cc607e85aa572425b824fbab386af607
|
||||||
|
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
|
||||||
|
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
|
||||||
|
|
||||||
|
diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||||
|
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||||
|
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||||
|
@@ -210,6 +210,8 @@ namespace SK_OPTS_NS {
|
||||||
|
// ~~~>
|
||||||
|
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
|
||||||
|
// c = 0*aa + d(1-1*aa) = d(1-aa)
|
||||||
|
+ // TODO: Check this for endian-issues!
|
||||||
|
+ // Do we need to switch 255 to the front for all of those tuples?
|
||||||
|
return (aa & Sk4px(skvx::byte16{0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255}))
|
||||||
|
+ d.approxMulDiv255(aa.inv());
|
||||||
|
};
|
|
@ -0,0 +1,69 @@
|
||||||
|
diff -up firefox-115.0/dom/media/mp4/MP4Demuxer.cpp.1670333 firefox-115.0/dom/media/mp4/MP4Demuxer.cpp
|
||||||
|
--- firefox-115.0/dom/media/mp4/MP4Demuxer.cpp.1670333 2023-06-06 23:14:43.000000000 +0200
|
||||||
|
+++ firefox-115.0/dom/media/mp4/MP4Demuxer.cpp 2023-06-08 08:15:48.214109403 +0200
|
||||||
|
@@ -32,6 +32,8 @@ mozilla::LogModule* GetDemuxerLog() { re
|
||||||
|
DDMOZ_LOG(gMediaDemuxerLog, mozilla::LogLevel::Debug, "::%s: " arg, \
|
||||||
|
__func__, ##__VA_ARGS__)
|
||||||
|
|
||||||
|
+extern bool gUseKeyframeFromContainer;
|
||||||
|
+
|
||||||
|
namespace mozilla {
|
||||||
|
|
||||||
|
using TimeUnit = media::TimeUnit;
|
||||||
|
@@ -404,6 +406,12 @@ already_AddRefed<MediaRawData> MP4TrackD
|
||||||
|
[[fallthrough]];
|
||||||
|
case H264::FrameType::OTHER: {
|
||||||
|
bool keyframe = type == H264::FrameType::I_FRAME;
|
||||||
|
+ if (gUseKeyframeFromContainer) {
|
||||||
|
+ if (sample->mKeyframe && sample->mKeyframe != keyframe) {
|
||||||
|
+ sample->mKeyframe = keyframe;
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
if (sample->mKeyframe != keyframe) {
|
||||||
|
NS_WARNING(nsPrintfCString("Frame incorrectly marked as %skeyframe "
|
||||||
|
"@ pts:%" PRId64 " dur:%" PRId64
|
||||||
|
diff -up firefox-115.0/dom/media/platforms/PDMFactory.cpp.1670333 firefox-115.0/dom/media/platforms/PDMFactory.cpp
|
||||||
|
--- firefox-115.0/dom/media/platforms/PDMFactory.cpp.1670333 2023-06-06 23:14:44.000000000 +0200
|
||||||
|
+++ firefox-115.0/dom/media/platforms/PDMFactory.cpp 2023-06-08 08:09:33.145289602 +0200
|
||||||
|
@@ -67,6 +67,8 @@
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
|
+bool gUseKeyframeFromContainer = false;
|
||||||
|
+
|
||||||
|
using DecodeSupport = mozilla::media::DecodeSupport;
|
||||||
|
using DecodeSupportSet = mozilla::media::DecodeSupportSet;
|
||||||
|
using MediaCodec = mozilla::media::MediaCodec;
|
||||||
|
@@ -562,7 +564,7 @@ void PDMFactory::CreateRddPDMs() {
|
||||||
|
#ifdef MOZ_FFMPEG
|
||||||
|
if (StaticPrefs::media_ffmpeg_enabled() &&
|
||||||
|
StaticPrefs::media_rdd_ffmpeg_enabled() &&
|
||||||
|
- !CreateAndStartupPDM<FFmpegRuntimeLinker>()) {
|
||||||
|
+ !(mFFmpegUsed = CreateAndStartupPDM<FFmpegRuntimeLinker>())) {
|
||||||
|
mFailureFlags += GetFailureFlagBasedOnFFmpegStatus(
|
||||||
|
FFmpegRuntimeLinker::LinkStatusCode());
|
||||||
|
}
|
||||||
|
@@ -738,9 +740,10 @@ void PDMFactory::CreateDefaultPDMs() {
|
||||||
|
|
||||||
|
CreateAndStartupPDM<AgnosticDecoderModule>();
|
||||||
|
|
||||||
|
- if (StaticPrefs::media_gmp_decoder_enabled() &&
|
||||||
|
+ if (StaticPrefs::media_gmp_decoder_enabled() && !mFFmpegUsed &&
|
||||||
|
!StartupPDM(GMPDecoderModule::Create(),
|
||||||
|
StaticPrefs::media_gmp_decoder_preferred())) {
|
||||||
|
+ gUseKeyframeFromContainer = true;
|
||||||
|
mFailureFlags += DecoderDoctorDiagnostics::Flags::GMPPDMFailedToStartup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff -up firefox-115.0/dom/media/platforms/PDMFactory.h.1670333 firefox-115.0/dom/media/platforms/PDMFactory.h
|
||||||
|
--- firefox-115.0/dom/media/platforms/PDMFactory.h.1670333 2023-06-06 23:14:42.000000000 +0200
|
||||||
|
+++ firefox-115.0/dom/media/platforms/PDMFactory.h 2023-06-08 08:09:33.145289602 +0200
|
||||||
|
@@ -103,6 +103,7 @@ class PDMFactory final {
|
||||||
|
RefPtr<PlatformDecoderModule> mNullPDM;
|
||||||
|
|
||||||
|
DecoderDoctorDiagnostics::FlagsSet mFailureFlags;
|
||||||
|
+ bool mFFmpegUsed = false;
|
||||||
|
|
||||||
|
friend class RemoteVideoDecoderParent;
|
||||||
|
static void EnsureInit();
|
|
@ -0,0 +1,29 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# User M. Sirringhaus <msirringhaus@suse.de>
|
||||||
|
# Date 1645518286 -3600
|
||||||
|
# Tue Feb 22 09:24:46 2022 +0100
|
||||||
|
# Node ID 81832d035e101471dcf52dd91de287268add7a91
|
||||||
|
# Parent 66f7ce16eb4965108687280e5443edd610631efb
|
||||||
|
imported patch svg-rendering.patch
|
||||||
|
|
||||||
|
diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp
|
||||||
|
--- a/image/imgFrame.cpp
|
||||||
|
+++ b/image/imgFrame.cpp
|
||||||
|
@@ -372,6 +372,17 @@ nsresult imgFrame::InitWithDrawable(gfxD
|
||||||
|
return NS_ERROR_OUT_OF_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if MOZ_BIG_ENDIAN()
|
||||||
|
+ if (aBackend == gfx::BackendType::SKIA && canUseDataSurface) {
|
||||||
|
+ // SKIA is lying about what format it returns on big endian
|
||||||
|
+ for (int ii=0; ii < mRawSurface->GetSize().Height()*mRawSurface->Stride() / 4; ++ii) {
|
||||||
|
+ uint32_t *vals = (uint32_t*)(mRawSurface->GetData());
|
||||||
|
+ uint32_t val = ((vals[ii] << 8) & 0xFF00FF00 ) | ((vals[ii] >> 8) & 0xFF00FF );
|
||||||
|
+ vals[ii] = (val << 16) | (val >> 16);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
if (!canUseDataSurface) {
|
||||||
|
// We used an offscreen surface, which is an "optimized" surface from
|
||||||
|
// imgFrame's perspective.
|
|
@ -0,0 +1,34 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# User M. Sirringhaus <msirringhaus@suse.de>
|
||||||
|
# Date 1645518286 -3600
|
||||||
|
# Tue Feb 22 09:24:46 2022 +0100
|
||||||
|
# Node ID 494640792b4677f6462e95b90a54a4e22aeb738b
|
||||||
|
# Parent 81832d035e101471dcf52dd91de287268add7a91
|
||||||
|
imported patch one_swizzle_to_rule_them_all.patch
|
||||||
|
|
||||||
|
Index: firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||||
|
===================================================================
|
||||||
|
--- firefox-102.0.orig/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||||
|
+++ firefox-102.0/gfx/webrender_bindings/RenderCompositorSWGL.cpp
|
||||||
|
@@ -7,6 +7,7 @@
|
||||||
|
#include "RenderCompositorSWGL.h"
|
||||||
|
|
||||||
|
#include "mozilla/gfx/Logging.h"
|
||||||
|
+#include "mozilla/gfx/Swizzle.h"
|
||||||
|
#include "mozilla/widget/CompositorWidget.h"
|
||||||
|
|
||||||
|
#ifdef MOZ_WIDGET_GTK
|
||||||
|
@@ -235,6 +237,13 @@ void RenderCompositorSWGL::CommitMappedB
|
||||||
|
}
|
||||||
|
mDT->Flush();
|
||||||
|
|
||||||
|
+#if MOZ_BIG_ENDIAN()
|
||||||
|
+ // One swizzle to rule them all.
|
||||||
|
+ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8,
|
||||||
|
+ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8,
|
||||||
|
+ mDT->GetSize());
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
// Done with the DT. Hand it back to the widget and clear out any trace of it.
|
||||||
|
mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion);
|
||||||
|
mDirtyRegion.SetEmpty();
|
|
@ -0,0 +1,89 @@
|
||||||
|
diff --git a/media/ffvpx/libavcodec/allcodecs.c b/media/ffvpx/libavcodec/allcodecs.c
|
||||||
|
--- a/media/ffvpx/libavcodec/allcodecs.c
|
||||||
|
+++ b/media/ffvpx/libavcodec/allcodecs.c
|
||||||
|
@@ -755,12 +755,15 @@
|
||||||
|
extern FFCodec ff_libaom_av1_encoder;
|
||||||
|
extern const FFCodec ff_libaribb24_decoder;
|
||||||
|
extern const FFCodec ff_libcelt_decoder;
|
||||||
|
extern const FFCodec ff_libcodec2_encoder;
|
||||||
|
extern const FFCodec ff_libcodec2_decoder;
|
||||||
|
+#if CONFIG_MOZ_AV1
|
||||||
|
extern const FFCodec ff_libdav1d_decoder;
|
||||||
|
extern const FFCodec ff_libdavs2_decoder;
|
||||||
|
+extern const FFCodec ff_libuavs3d_decoder;
|
||||||
|
+#endif
|
||||||
|
extern const FFCodec ff_libfdk_aac_encoder;
|
||||||
|
extern const FFCodec ff_libfdk_aac_decoder;
|
||||||
|
extern const FFCodec ff_libgsm_encoder;
|
||||||
|
extern const FFCodec ff_libgsm_decoder;
|
||||||
|
extern const FFCodec ff_libgsm_ms_encoder;
|
||||||
|
@@ -783,11 +786,10 @@
|
||||||
|
extern const FFCodec ff_libspeex_encoder;
|
||||||
|
extern const FFCodec ff_libspeex_decoder;
|
||||||
|
extern const FFCodec ff_libsvtav1_encoder;
|
||||||
|
extern const FFCodec ff_libtheora_encoder;
|
||||||
|
extern const FFCodec ff_libtwolame_encoder;
|
||||||
|
-extern const FFCodec ff_libuavs3d_decoder;
|
||||||
|
extern const FFCodec ff_libvo_amrwbenc_encoder;
|
||||||
|
extern const FFCodec ff_libvorbis_encoder;
|
||||||
|
extern const FFCodec ff_libvorbis_decoder;
|
||||||
|
extern const FFCodec ff_libvpx_vp8_encoder;
|
||||||
|
extern const FFCodec ff_libvpx_vp8_decoder;
|
||||||
|
diff --git a/media/ffvpx/libavcodec/codec_list.c b/media/ffvpx/libavcodec/codec_list.c
|
||||||
|
--- a/media/ffvpx/libavcodec/codec_list.c
|
||||||
|
+++ b/media/ffvpx/libavcodec/codec_list.c
|
||||||
|
@@ -9,12 +9,14 @@
|
||||||
|
&ff_flac_decoder,
|
||||||
|
#endif
|
||||||
|
#if CONFIG_MP3_DECODER
|
||||||
|
&ff_mp3_decoder,
|
||||||
|
#endif
|
||||||
|
+#if CONFIG_MOZ_AV1
|
||||||
|
#if CONFIG_LIBDAV1D
|
||||||
|
&ff_libdav1d_decoder,
|
||||||
|
#endif
|
||||||
|
#if CONFIG_AV1_DECODER
|
||||||
|
&ff_av1_decoder,
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
NULL };
|
||||||
|
diff --git a/media/ffvpx/libavcodec/moz.build b/media/ffvpx/libavcodec/moz.build
|
||||||
|
--- a/media/ffvpx/libavcodec/moz.build
|
||||||
|
+++ b/media/ffvpx/libavcodec/moz.build
|
||||||
|
@@ -84,11 +84,10 @@
|
||||||
|
'cbs.c',
|
||||||
|
'cbs_av1.c',
|
||||||
|
'golomb.c',
|
||||||
|
'h264pred.c',
|
||||||
|
'imgconvert.c',
|
||||||
|
- 'libdav1d.c',
|
||||||
|
'mathtables.c',
|
||||||
|
'qsv_api.c',
|
||||||
|
'raw.c',
|
||||||
|
'videodsp.c',
|
||||||
|
'vp8.c',
|
||||||
|
@@ -107,14 +106,19 @@
|
||||||
|
'vp9mvs.c',
|
||||||
|
'vp9prob.c',
|
||||||
|
'vp9recon.c',
|
||||||
|
'vpx_rac.c',
|
||||||
|
]
|
||||||
|
- USE_LIBS += [
|
||||||
|
- 'dav1d',
|
||||||
|
- 'media_libdav1d_asm',
|
||||||
|
- ]
|
||||||
|
+ if CONFIG['MOZ_AV1']:
|
||||||
|
+ USE_LIBS += [
|
||||||
|
+ 'dav1d',
|
||||||
|
+ 'media_libdav1d_asm',
|
||||||
|
+ ]
|
||||||
|
+ SOURCES += [
|
||||||
|
+ 'libdav1d.c',
|
||||||
|
+ ]
|
||||||
|
+
|
||||||
|
if CONFIG['MOZ_WAYLAND']:
|
||||||
|
LOCAL_INCLUDES += ['/media/mozva']
|
||||||
|
SOURCES += [
|
||||||
|
'vaapi_av1.c',
|
||||||
|
'vaapi_decode.c',
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# Parent 3de59fe1b8708c01e134ce698c4232b8a854f617
|
||||||
|
Problem: webGL sites are displayed in the wrong color (usually blue-ish)
|
||||||
|
Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
|
||||||
|
knows how to deal with little endian.
|
||||||
|
So we swizzle the output of webgl after reading it from readpixels()
|
||||||
|
Note: This does not fix all webGL sites, but is a step in the right direction
|
||||||
|
|
||||||
|
Index: firefox-115.0/gfx/gl/GLContext.h
|
||||||
|
===================================================================
|
||||||
|
--- firefox-115.0.orig/gfx/gl/GLContext.h
|
||||||
|
+++ firefox-115.0/gfx/gl/GLContext.h
|
||||||
|
@@ -1560,6 +1560,13 @@ class GLContext : public GenericAtomicRe
|
||||||
|
BEFORE_GL_CALL;
|
||||||
|
mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
|
||||||
|
OnSyncCall();
|
||||||
|
+#if MOZ_BIG_ENDIAN()
|
||||||
|
+ uint8_t* itr = (uint8_t*)pixels;
|
||||||
|
+ for (GLsizei i = 0; i < width * height; i++) {
|
||||||
|
+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
|
||||||
|
+ itr += 4;
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
AFTER_GL_CALL;
|
||||||
|
mHeavyGLCallsSinceLastFlush = true;
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
# HG changeset patch
|
||||||
|
# User msirringhaus@suse.de
|
||||||
|
# Date 1583738770 -3600
|
||||||
|
# Mon Mar 09 08:26:10 2020 +0100
|
||||||
|
# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce
|
||||||
|
# Parent 506857dace0a08d1c9685e3ac264646590b3e27f
|
||||||
|
[mq]: mozilla-bmo998749.patch
|
||||||
|
|
||||||
|
diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h
|
||||||
|
--- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100
|
||||||
|
+++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100
|
||||||
|
@@ -13,10 +13,17 @@
|
||||||
|
namespace mozilla {
|
||||||
|
namespace gfx {
|
||||||
|
|
||||||
|
+#if MOZ_BIG_ENDIAN()
|
||||||
|
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3;
|
||||||
|
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2;
|
||||||
|
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1;
|
||||||
|
+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0;
|
||||||
|
+#else
|
||||||
|
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0;
|
||||||
|
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1;
|
||||||
|
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2;
|
||||||
|
const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
class FilterProcessing {
|
||||||
|
public:
|
|
@ -1,14 +0,0 @@
|
||||||
diff -up firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h
|
|
||||||
--- firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h.arm 2017-03-03 13:53:52.480754536 +0100
|
|
||||||
+++ firefox-52.0/gfx/skia/skia/include/core/SkPreConfig.h 2017-03-03 13:56:01.476018102 +0100
|
|
||||||
@@ -203,6 +203,10 @@
|
|
||||||
#define SK_ARM_HAS_CRC32
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined(__aarch64__)
|
|
||||||
+ #undef SK_ARM_HAS_NEON
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
#if !defined(SKIA_IMPLEMENTATION)
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exec node "$@" 2>&1 | cat -
|
|
@ -0,0 +1,7 @@
|
||||||
|
sed -i 's@%{bundled_install_path}@%{_buildrootdir}%{bundled_install_path}@g' %{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig/nss*.pc
|
||||||
|
|
||||||
|
export LDFLAGS="-L%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
|
||||||
|
export LDFLAGS="-Wl,-rpath,%{bundled_install_path}/%{_lib} $LDFLAGS"
|
||||||
|
export LDFLAGS="-Wl,-rpath-link,%{_buildrootdir}%{bundled_install_path}/%{_lib} $LDFLAGS"
|
||||||
|
export PKG_CONFIG_PATH=%{_buildrootdir}%{bundled_install_path}/%{_lib}/pkgconfig
|
||||||
|
export PATH="{_buildrootdir}%{bundled_install_path}/bin:$PATH"
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
rm -rf ./process-tarball-dir
|
||||||
|
mkdir ./process-tarball-dir
|
||||||
|
tar -xJf $1 --directory process-tarball-dir
|
||||||
|
|
||||||
|
rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0030-isvalid.html
|
||||||
|
rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0008-isvalid.html
|
||||||
|
rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfalite/0030-isvalid.html
|
||||||
|
rm -vf ./process-tarball-dir/*/testing/web-platform/tests/css/css-ui/support/cursors/woolly-64.svg
|
||||||
|
rm -vf ./process-tarball-dir/*/testing/web-platform/tests/css/css-ui/support/cursors/woolly.svg
|
||||||
|
rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0230-novalid.html
|
||||||
|
rm -vf ./process-tarball-dir/*/testing/web-platform/tests/conformance-checkers/html-rdfa/0231-isvalid.html
|
||||||
|
rm -vf ./process-tarball-dir/*/layout/inspector/tests/chrome/test_fontVariationsAPI.css
|
||||||
|
|
||||||
|
processed_tarball=${1/source/processed-source}
|
||||||
|
|
||||||
|
cd ./process-tarball-dir
|
||||||
|
tar -cf - ./* | xz -9 -T 0 -f > $processed_tarball
|
||||||
|
mv $processed_tarball ..
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
rm -rf ./process-tarball-dir
|
|
@ -1,12 +1,12 @@
|
||||||
diff -up firefox-60.5.0/layout/base/nsIPresShell.h.1354671 firefox-60.5.0/layout/base/nsIPresShell.h
|
diff -up firefox-70.0/layout/base/PresShell.h.1354671 firefox-70.0/layout/base/PresShell.h
|
||||||
--- firefox-60.5.0/layout/base/nsIPresShell.h.1354671 2019-01-22 16:08:40.796539950 +0100
|
--- firefox-70.0/layout/base/PresShell.h.1354671 2019-10-22 12:33:12.987775587 +0200
|
||||||
+++ firefox-60.5.0/layout/base/nsIPresShell.h 2019-01-22 16:10:25.106069228 +0100
|
+++ firefox-70.0/layout/base/PresShell.h 2019-10-22 12:36:39.999366086 +0200
|
||||||
@@ -204,7 +204,7 @@ class nsIPresShell : public nsStubDocume
|
@@ -257,7 +257,7 @@ class PresShell final : public nsStubDoc
|
||||||
* to the same aSize value. AllocateFrame is infallible and will abort
|
* to the same aSize value. AllocateFrame is infallible and will abort
|
||||||
* on out-of-memory.
|
* on out-of-memory.
|
||||||
*/
|
*/
|
||||||
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
|
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
|
||||||
+ void* __attribute__((optimize("no-lifetime-dse"))) 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);
|
#define FRAME_ID(classname, ...) \
|
||||||
RecordAlloc(result);
|
static_assert(size_t(nsQueryFrame::FrameIID::classname##_id) == \
|
||||||
return result;
|
size_t(eArenaObjectID_##classname), \
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
diff -up firefox-60.5.0/security/certverifier/NSSCertDBTrustDomain.cpp.1503632-nss firefox-60.5.0/security/certverifier/NSSCertDBTrustDomain.cpp
|
|
||||||
--- firefox-60.5.0/security/certverifier/NSSCertDBTrustDomain.cpp.1503632-nss 2019-01-22 11:38:49.484365928 +0100
|
|
||||||
+++ firefox-60.5.0/security/certverifier/NSSCertDBTrustDomain.cpp 2019-01-22 11:40:52.694779150 +0100
|
|
||||||
@@ -1077,13 +1077,11 @@ SECStatus InitializeNSS(const nsACString
|
|
||||||
if (!loadPKCS11Modules) {
|
|
||||||
flags |= NSS_INIT_NOMODDB;
|
|
||||||
}
|
|
||||||
- nsAutoCString dbTypeAndDirectory("sql:");
|
|
||||||
- dbTypeAndDirectory.Append(dir);
|
|
||||||
MOZ_LOG(gCertVerifierLog, LogLevel::Debug,
|
|
||||||
- ("InitializeNSS(%s, %d, %d)", dbTypeAndDirectory.get(), readOnly,
|
|
||||||
+ ("InitializeNSS(%s, %d, %d)", PromiseFlatCString(dir).get(), readOnly,
|
|
||||||
loadPKCS11Modules));
|
|
||||||
SECStatus srv =
|
|
||||||
- NSS_Initialize(dbTypeAndDirectory.get(), "", "", SECMOD_DB, flags);
|
|
||||||
+ NSS_Initialize(PromiseFlatCString(dir).get(), "", "", SECMOD_DB, flags);
|
|
||||||
if (srv != SECSuccess) {
|
|
||||||
return srv;
|
|
||||||
}
|
|
|
@ -1,28 +1,39 @@
|
||||||
ac_add_options --enable-application=comm/mail
|
ac_add_options --enable-application=comm/mail
|
||||||
|
|
||||||
|
ac_add_options --allow-addon-sideload
|
||||||
|
ac_add_options --disable-bootstrap
|
||||||
ac_add_options --disable-crashreporter
|
ac_add_options --disable-crashreporter
|
||||||
ac_add_options --disable-libjpeg-turbo
|
#ac_add_options --disable-elf-hack
|
||||||
ac_add_options --disable-necko-wifi
|
ac_add_options --disable-jemalloc
|
||||||
ac_add_options --disable-strip
|
ac_add_options --disable-strip
|
||||||
ac_add_options --disable-tests
|
ac_add_options --disable-tests
|
||||||
ac_add_options --disable-updater
|
ac_add_options --disable-updater
|
||||||
ac_add_options --enable-calendar
|
ac_add_options --enable-chrome-format=omni
|
||||||
ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
|
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
|
||||||
ac_add_options --with-google-location-service-api-keyfile=../google-api-key
|
ac_add_options --enable-js-shell
|
||||||
ac_add_options --with-google-safebrowsing-api-keyfile=../google-api-key
|
ac_add_options --enable-necko-wifi
|
||||||
ac_add_options --enable-pie
|
ac_add_options --enable-official-branding
|
||||||
ac_add_options --enable-default-toolkit=cairo-gtk3
|
ac_add_options --enable-official-branding
|
||||||
|
ac_add_options --enable-pulseaudio
|
||||||
ac_add_options --enable-release
|
ac_add_options --enable-release
|
||||||
ac_add_options --enable-startup-notification
|
ac_add_options --enable-system-ffi
|
||||||
ac_add_options --libdir="$LIBDIR"
|
ac_add_options --libdir="$LIBDIR"
|
||||||
ac_add_options --prefix="$PREFIX"
|
ac_add_options --prefix="$PREFIX"
|
||||||
ac_add_options --without-system-libvpx
|
ac_add_options --update-channel=release
|
||||||
ac_add_options --with-pthreads
|
ac_add_options --with-google-location-service-api-keyfile=../google-api-key
|
||||||
|
ac_add_options --with-google-safebrowsing-api-keyfile=../google-api-key
|
||||||
|
ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
|
||||||
|
ac_add_options --without-sysroot
|
||||||
|
ac_add_options --without-system-icu
|
||||||
|
ac_add_options --without-wasm-sandboxed-libraries
|
||||||
|
ac_add_options --with-system-jpeg
|
||||||
ac_add_options --with-system-jpeg
|
ac_add_options --with-system-jpeg
|
||||||
ac_add_options --with-system-zlib
|
ac_add_options --with-system-zlib
|
||||||
ac_add_options --enable-update-channel=release
|
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||||
|
|
||||||
export BUILD_OFFICIAL=1
|
export BUILD_OFFICIAL=1
|
||||||
export MOZILLA_OFFICIAL=1
|
export MOZILLA_OFFICIAL=1
|
||||||
|
export MOZ_UPDATE_CHANNEL=release
|
||||||
mk_add_options BUILD_OFFICIAL=1
|
mk_add_options BUILD_OFFICIAL=1
|
||||||
mk_add_options MOZ_CO_PROJECT=mail
|
mk_add_options MOZ_CO_PROJECT=mail
|
||||||
mk_add_options MOZILLA_OFFICIAL=1
|
mk_add_options MOZILLA_OFFICIAL=1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
pref("app.update.enabled", false);
|
pref("app.update.enabled", false);
|
||||||
pref("app.update.autoInstallEnabled", false);
|
pref("app.update.autoInstallEnabled", false);
|
||||||
# Allow users to set custom colors
|
/* Allow users to set custom colors*/
|
||||||
# pref("browser.display.use_system_colors", true);
|
/* pref("browser.display.use_system_colors", true);*/
|
||||||
pref("general.useragent.vendor", "Red Hat");
|
pref("general.useragent.vendor", "Red Hat");
|
||||||
pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
|
pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
|
||||||
pref("intl.locale.matchOS", true);
|
pref("intl.locale.matchOS", true);
|
||||||
|
@ -9,17 +9,19 @@ pref("mail.shell.checkDefaultClient", false);
|
||||||
pref("toolkit.networkmanager.disable", false);
|
pref("toolkit.networkmanager.disable", false);
|
||||||
pref("offline.autoDetect", true);
|
pref("offline.autoDetect", true);
|
||||||
|
|
||||||
# Disable global indexing by default
|
/* Disable global indexing by default*/
|
||||||
pref("mailnews.database.global.indexer.enabled", false);
|
pref("mailnews.database.global.indexer.enabled", false);
|
||||||
|
|
||||||
# Do not switch to Smart Folders after upgrade to 3.0b4
|
/* Do not switch to Smart Folders after upgrade to 3.0b4 */
|
||||||
pref("mail.folder.views.version", "1");
|
pref("mail.folder.views.version", "1");
|
||||||
pref("extensions.shownSelectionUI", true);
|
pref("extensions.shownSelectionUI", true);
|
||||||
pref("extensions.autoDisableScope", 0);
|
pref("extensions.autoDisableScopes", 0);
|
||||||
|
|
||||||
# For rhbz#1024232
|
/* For rhbz#1024232 */
|
||||||
pref("ui.SpellCheckerUnderlineStyle", 1);
|
pref("ui.SpellCheckerUnderlineStyle", 1);
|
||||||
|
|
||||||
|
/* Workaround for rhbz#1753011 */
|
||||||
|
pref("spellchecker.dictionary_path", "/usr/share/myspell");
|
||||||
/* Workaround for rhbz#1134876 */
|
/* Workaround for rhbz#1134876 */
|
||||||
pref("javascript.options.baselinejit", false);
|
pref("javascript.options.baselinejit", false);
|
||||||
/* Workaround for rhbz#1110291 */
|
/* Workaround for rhbz#1110291 */
|
||||||
|
@ -28,3 +30,7 @@ pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
|
||||||
pref("security.use_mozillapkix_verification", false);
|
pref("security.use_mozillapkix_verification", false);
|
||||||
/* Use OS settings for UI language */
|
/* Use OS settings for UI language */
|
||||||
pref("intl.locale.requested", "");
|
pref("intl.locale.requested", "");
|
||||||
|
/* Disable telemetry */
|
||||||
|
pref("datareporting.healthreport.uploadEnabled", false);
|
||||||
|
pref("datareporting.policy.dataSubmissionEnabled", false);
|
||||||
|
pref("toolkit.telemetry.archive.enabled", false);
|
|
@ -1,30 +0,0 @@
|
||||||
pref("app.update.enabled", false);
|
|
||||||
pref("app.update.autoInstallEnabled", false);
|
|
||||||
# Allow users to set custom colors
|
|
||||||
# pref("browser.display.use_system_colors", true);
|
|
||||||
pref("general.useragent.vendor", "Red Hat");
|
|
||||||
pref("general.useragent.vendorSub", "THUNDERBIRD_RPM_VR");
|
|
||||||
pref("intl.locale.matchOS", true);
|
|
||||||
pref("mail.shell.checkDefaultClient", false);
|
|
||||||
pref("toolkit.networkmanager.disable", false);
|
|
||||||
pref("offline.autoDetect", true);
|
|
||||||
|
|
||||||
# Disable global indexing by default
|
|
||||||
pref("mailnews.database.global.indexer.enabled", false);
|
|
||||||
|
|
||||||
# Do not switch to Smart Folders after upgrade to 3.0b4
|
|
||||||
pref("mail.folder.views.version", "1");
|
|
||||||
pref("extensions.shownSelectionUI", true);
|
|
||||||
pref("extensions.autoDisableScope", 0);
|
|
||||||
|
|
||||||
# For rhbz#1024232
|
|
||||||
pref("ui.SpellCheckerUnderlineStyle", 1);
|
|
||||||
|
|
||||||
/* Workaround for rhbz#1134876 */
|
|
||||||
pref("javascript.options.baselinejit", false);
|
|
||||||
/* Workaround for rhbz#1110291 */
|
|
||||||
pref("network.negotiate-auth.allow-insecure-ntlm-v1", true);
|
|
||||||
/* Workaround for mozbz#1063315 */
|
|
||||||
pref("security.use_mozillapkix_verification", false);
|
|
||||||
/* Use OS settings for UI language */
|
|
||||||
pref("intl.locale.requested", "");
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 4.2333332 4.2333335"
|
||||||
|
version="1.1"
|
||||||
|
id="svg826"
|
||||||
|
inkscape:version="0.92+devel unknown"
|
||||||
|
sodipodi:docname="thunderbird-symbolic.svg">
|
||||||
|
<defs
|
||||||
|
id="defs820" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#555753"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="32"
|
||||||
|
inkscape:cx="14.909311"
|
||||||
|
inkscape:cy="6.5299379"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
showgrid="false"
|
||||||
|
units="px"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1136"
|
||||||
|
inkscape:window-x="1920"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:snap-global="true" />
|
||||||
|
<metadata
|
||||||
|
id="metadata823">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-292.76664)">
|
||||||
|
<path
|
||||||
|
style="fill:#bebebe;fill-opacity:1;stroke-width:0.50472808;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1.00945637, 3.02836921000000014"
|
||||||
|
d="M 6.2871094 0.6796875 C 5.4163558 0.91578892 4.8510898 1.5936957 4.5292969 2.1464844 C 2.421315 3.2450921 0.99225272 5.3610823 0.9921875 7.7949219 C 0.99477587 10.359489 2.3110205 12.446765 4.71875 13.445312 C 3.4595645 12.812546 2.2935825 11.525048 1.9707031 10.179688 C 1.7935937 9.4417327 1.7111632 8.3804473 1.7871094 7.8671875 C 2.0153769 8.1799434 2.3679623 8.3686337 2.6191406 8.3535156 C 2.4938628 8.2316259 2.1405878 7.2674351 2.2246094 6.7109375 C 2.3603578 5.8118257 3.1848776 4.5727304 3.6171875 4.3652344 C 3.5950724 4.1994643 3.6227354 4.5729785 3.6347656 4.6757812 C 3.6727178 5.0001403 3.7890738 5.2722323 3.7246094 5.5625 C 3.6729882 5.7950165 3.4515893 6.0294455 3.4980469 6.4824219 C 3.5108599 6.6073731 3.6284702 6.8445848 3.7539062 6.9277344 C 3.7535036 6.9231566 3.7580261 6.9016692 3.7578125 6.8964844 C 4.1688563 6.4878098 4.2988638 6.3923311 4.8164062 6.1835938 C 5.3947783 5.9504725 5.7292796 5.4840924 6.5429688 5.3242188 C 7.1567719 5.2036518 7.7980995 5.4618768 8.4160156 5.4316406 C 8.9595412 5.4051839 9.6230469 5.3164062 9.6230469 5.3164062 C 9.6230469 5.3164062 10.529591 6.3734458 10.554688 8.0839844 C 10.561372 8.5399466 10.393117 9.2581935 10.080078 9.6074219 C 10.10866 9.6301636 10.842076 9.8181331 11.496094 8.9296875 L 11.496094 8.9277344 C 11.500502 8.9217421 11.509138 8.9123452 11.513672 8.90625 C 11.511804 8.9162203 11.509634 8.919117 11.507812 8.9296875 C 11.082979 11.395346 10.343305 12.786026 9.3730469 13.716797 L 9.3652344 13.716797 C 9.1593686 13.914136 8.9415569 14.089651 8.7167969 14.253906 C 8.6515695 14.300524 8.584386 14.344389 8.5175781 14.388672 C 8.3185959 14.523496 8.1179918 14.6549 7.9042969 14.771484 C 7.453226 15.017472 9.0852392 14.946167 10.126953 14.476562 C 10.157938 14.470814 10.189917 14.46715 10.220703 14.460938 C 9.8033537 14.744465 9.3535156 15 9.3535156 15 C 9.3535156 15 10.890634 14.899538 11.974609 13.804688 C 11.975453 13.803262 11.975783 13.800425 11.976562 13.798828 C 13.818222 12.736706 15.007176 10.687802 15.007812 8.21875 C 15.005272 5.4392694 13.347542 2.9608845 10.865234 2.0253906 C 9.9215437 1.5797455 8.881353 1.3464382 7.8261719 1.34375 C 7.5325222 1.3437527 7.2448312 1.3664635 6.9609375 1.4003906 C 6.9469035 1.339967 6.9417802 1.323023 6.9726562 1.203125 C 6.8504944 1.2378967 6.8589251 1.2466706 6.7519531 1.2988281 C 6.7527631 1.1850643 6.7593232 1.2159555 6.7519531 1.0976562 C 6.5269885 1.1694673 6.5079647 1.1993654 6.3398438 1.3085938 C 6.3964573 1.0867355 6.399826 1.1278526 6.5527344 0.88671875 C 6.3493259 0.94186206 6.0726487 1.1030774 5.7460938 1.4511719 C 5.8509855 1.1114301 5.9907037 1.0292938 6.2871094 0.6796875 z "
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,0,292.76664)"
|
||||||
|
id="path24330" />
|
||||||
|
<path
|
||||||
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26511249;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;opacity:1"
|
||||||
|
d="M 0.81054688 293.97852 L 0.59179688 294.12695 L 1.4453125 295.40234 L 2.9335938 294.85156 L 2.8417969 294.60352 L 1.5507812 295.08008 L 0.81054688 293.97852 z "
|
||||||
|
id="path24387" />
|
||||||
|
<path
|
||||||
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#bebebe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 1.7871094,9.8730469 0.1210937,0.5820311 -0.1230469,-0.02344 c 0,0 0.2754046,0.874485 0.8561662,1.437975 0.5080908,0.49319 0.9335266,1.121624 2.1243026,1.601087 C 4.3317049,12.663641 4.1812012,12.346136 3.9980469,11.6875 l 0.2128906,0.07031 C 4.5424397,12.049861 4.8536251,12.30456 5.5800781,12.4375 5.4786992,12.266213 5.448324,12.238135 5.3847656,12.142578 l 4.7363284,1.554688 0.316406,-0.945313 z"
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,0,292.76664)"
|
||||||
|
id="path24379"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 7.8 KiB |
|
@ -10,12 +10,12 @@
|
||||||
MOZ_ARCH=$(uname -m)
|
MOZ_ARCH=$(uname -m)
|
||||||
case $MOZ_ARCH in
|
case $MOZ_ARCH in
|
||||||
x86_64 | s390x | sparc64 )
|
x86_64 | s390x | sparc64 )
|
||||||
MOZ_LIB_DIR="/usr/lib64"
|
MOZ_LIB_DIR="__PREFIX__/lib64"
|
||||||
SECONDARY_LIB_DIR="/usr/lib"
|
SECONDARY_LIB_DIR="__PREFIX__/lib"
|
||||||
;;
|
;;
|
||||||
* )
|
* )
|
||||||
MOZ_LIB_DIR="/usr/lib"
|
MOZ_LIB_DIR="__PREFIX__/lib"
|
||||||
SECONDARY_LIB_DIR="/usr/lib64"
|
SECONDARY_LIB_DIR="__PREFIX__/lib64"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -35,6 +35,22 @@ MOZ_PROGRAM="$MOZ_DIST_BIN/thunderbird"
|
||||||
MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
|
MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
|
||||||
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}"
|
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}"
|
||||||
|
|
||||||
|
##
|
||||||
|
## Enable Wayland backend?
|
||||||
|
##
|
||||||
|
%DISABLE_WAYLAND_PLACEHOLDER%
|
||||||
|
|
||||||
|
if ! [ $MOZ_DISABLE_WAYLAND ] && [ "$WAYLAND_DISPLAY" ]; then
|
||||||
|
if [ "$XDG_CURRENT_DESKTOP" == "GNOME" ]; then
|
||||||
|
export MOZ_ENABLE_WAYLAND=1
|
||||||
|
fi
|
||||||
|
## Enable Wayland on KDE/Sway
|
||||||
|
##
|
||||||
|
if [ "$XDG_SESSION_TYPE" == "wayland" ]; then
|
||||||
|
export MOZ_ENABLE_WAYLAND=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
##
|
##
|
||||||
## Set MOZ_ENABLE_PANGO is no longer used because Pango is enabled by default
|
## Set MOZ_ENABLE_PANGO is no longer used because Pango is enabled by default
|
||||||
## you may use MOZ_DISABLE_PANGO=1 to force disabling of pango
|
## you may use MOZ_DISABLE_PANGO=1 to force disabling of pango
|
||||||
|
@ -45,7 +61,7 @@ MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{3550f703-e582-4d05-9a08-4
|
||||||
##
|
##
|
||||||
## Set MOZ_APP_LAUNCHER for gnome-session
|
## Set MOZ_APP_LAUNCHER for gnome-session
|
||||||
##
|
##
|
||||||
export MOZ_APP_LAUNCHER="/usr/bin/thunderbird"
|
export MOZ_APP_LAUNCHER="__PREFIX__/bin/thunderbird"
|
||||||
|
|
||||||
##
|
##
|
||||||
## Disable the GNOME crash dialog, Moz has it's own
|
## Disable the GNOME crash dialog, Moz has it's own
|
||||||
|
@ -123,23 +139,4 @@ fi
|
||||||
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
|
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
|
||||||
export NSS_SSL_CBC_RANDOM_IV
|
export NSS_SSL_CBC_RANDOM_IV
|
||||||
|
|
||||||
# Linux version specific environment variables
|
|
||||||
%RHEL_ENV_VARS%
|
|
||||||
|
|
||||||
# Make sure at-spi-bus is running
|
|
||||||
if ! dbus-send --session \
|
|
||||||
--dest=org.freedesktop.DBus \
|
|
||||||
--type=method_call \
|
|
||||||
--print-reply \
|
|
||||||
/org/freedesktop/DBus \
|
|
||||||
org.freedesktop.DBus.ListNames \
|
|
||||||
| grep org.a11y.Bus > /dev/null; then
|
|
||||||
if [ -f "$MOZ_LIB_DIR/firefox/bundled/libexec/at-spi-bus-launcher" ]; then
|
|
||||||
echo "Starting a11y dbus service..."
|
|
||||||
$MOZ_LIB_DIR/firefox/bundled/libexec/at-spi-bus-launcher &
|
|
||||||
else
|
|
||||||
echo "Running without a11y support!"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec $MOZ_PROGRAM "$@"
|
exec $MOZ_PROGRAM "$@"
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -up firefox-60.5.0/memory/build/mozjemalloc.cpp.jemalloc-ppc firefox-60.5.0/memory/build/mozjemalloc.cpp
|
|
||||||
--- firefox-60.5.0/memory/build/mozjemalloc.cpp.jemalloc-ppc 2019-01-22 10:25:30.764207480 +0100
|
|
||||||
+++ firefox-60.5.0/memory/build/mozjemalloc.cpp 2019-01-22 10:28:48.352235343 +0100
|
|
||||||
@@ -180,7 +180,7 @@ using namespace mozilla;
|
|
||||||
// Debug builds are opted out too, for test coverage.
|
|
||||||
#ifndef MOZ_DEBUG
|
|
||||||
#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && \
|
|
||||||
- !defined(__aarch64__)
|
|
||||||
+ !defined(__aarch64__) && !defined(__powerpc__)
|
|
||||||
#define MALLOC_STATIC_PAGESIZE 1
|
|
||||||
#endif
|
|
||||||
#endif
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue