import thunderbird-60.7.0-1.el8_0
This commit is contained in:
commit
0f3d73aba7
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
SOURCES/Python-2.7.13.tar.xz
|
||||
SOURCES/gtk3-private-3.22.26-1.el6.src.rpm
|
||||
SOURCES/libffi-3.0.13-18.el7_3.src.rpm
|
||||
SOURCES/lightning-langpacks-60.7.0.tar.xz
|
||||
SOURCES/thunderbird-60.7.0.source.tar.xz
|
||||
SOURCES/thunderbird-langpacks-60.7.0-20190520.tar.xz
|
||||
SOURCES/yasm-1.2.0-3.el5.src.rpm
|
7
.thunderbird.metadata
Normal file
7
.thunderbird.metadata
Normal file
@ -0,0 +1,7 @@
|
||||
18a8f30a0356c751b8d0ea6f76e764cab13ee046 SOURCES/Python-2.7.13.tar.xz
|
||||
0de63f863b158454b9429234b52ed28a397ec45c SOURCES/gtk3-private-3.22.26-1.el6.src.rpm
|
||||
e188ab1a444697bc649e223c28389d82ca94c472 SOURCES/libffi-3.0.13-18.el7_3.src.rpm
|
||||
27325758061b85882d0b21834ccb1249dbf32d81 SOURCES/lightning-langpacks-60.7.0.tar.xz
|
||||
23b4227d9459d2100f580af68139f6641fc24c66 SOURCES/thunderbird-60.7.0.source.tar.xz
|
||||
ea4041cafc04999e714a223d0b07dc08c1fefeff SOURCES/thunderbird-langpacks-60.7.0-20190520.tar.xz
|
||||
77fd30f7ebc12a629a31c1e252cec06af55a71fe SOURCES/yasm-1.2.0-3.el5.src.rpm
|
12
SOURCES/build-aarch64-skia.patch
Normal file
12
SOURCES/build-aarch64-skia.patch
Normal file
@ -0,0 +1,12 @@
|
||||
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)
|
84
SOURCES/build-big-endian.patch
Normal file
84
SOURCES/build-big-endian.patch
Normal file
@ -0,0 +1,84 @@
|
||||
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"
|
12
SOURCES/build-debug-qcms.patch
Normal file
12
SOURCES/build-debug-qcms.patch
Normal file
@ -0,0 +1,12 @@
|
||||
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);
|
12
SOURCES/build-disable-elfhack.patch
Normal file
12
SOURCES/build-disable-elfhack.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.4.0/toolkit/moz.configure.disable-elfhack firefox-60.4.0/toolkit/moz.configure
|
||||
--- firefox-60.4.0/toolkit/moz.configure.disable-elfhack 2019-01-03 14:47:00.566556623 +0100
|
||||
+++ firefox-60.4.0/toolkit/moz.configure 2019-01-03 14:49:14.243887620 +0100
|
||||
@@ -1192,7 +1192,7 @@ with only_when(has_elfhack):
|
||||
option('--disable-elf-hack', help='Disable elf hacks')
|
||||
|
||||
set_config('USE_ELF_HACK',
|
||||
- depends_if('--enable-elf-hack')(lambda _: True))
|
||||
+ depends_if('--enable-elf-hack')(lambda _: False))
|
||||
|
||||
|
||||
@depends(check_build_environment)
|
19
SOURCES/build-gdk-version.patch
Normal file
19
SOURCES/build-gdk-version.patch
Normal file
@ -0,0 +1,19 @@
|
||||
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
|
12
SOURCES/build-icu-big-endian.patch
Normal file
12
SOURCES/build-icu-big-endian.patch
Normal file
@ -0,0 +1,12 @@
|
||||
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
|
12
SOURCES/build-jit-atomic-always-lucky.patch
Normal file
12
SOURCES/build-jit-atomic-always-lucky.patch
Normal file
@ -0,0 +1,12 @@
|
||||
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
|
12
SOURCES/build-mozconfig-fix.patch
Normal file
12
SOURCES/build-mozconfig-fix.patch
Normal file
@ -0,0 +1,12 @@
|
||||
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
|
12
SOURCES/build-nss-version.patch
Normal file
12
SOURCES/build-nss-version.patch
Normal file
@ -0,0 +1,12 @@
|
||||
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
|
23
SOURCES/find-external-requires
Executable file
23
SOURCES/find-external-requires
Executable file
@ -0,0 +1,23 @@
|
||||
#!/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
|
13
SOURCES/firefox-enable-addons.patch
Normal file
13
SOURCES/firefox-enable-addons.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -up firefox-55.0/browser/app/profile/firefox.js.addons firefox-55.0/browser/app/profile/firefox.js
|
||||
--- firefox-55.0/browser/app/profile/firefox.js.addons 2017-08-02 10:58:30.566363833 +0200
|
||||
+++ firefox-55.0/browser/app/profile/firefox.js 2017-08-02 10:59:15.377216959 +0200
|
||||
@@ -65,7 +65,8 @@ pref("extensions.systemAddon.update.url"
|
||||
|
||||
// Disable add-ons that are not installed by the user in all scopes by default.
|
||||
// See the SCOPE constants in AddonManager.jsm for values to use here.
|
||||
-pref("extensions.autoDisableScopes", 15);
|
||||
+pref("extensions.autoDisableScopes", 0);
|
||||
+pref("extensions.showMismatchUI", false);
|
||||
// Scopes to scan for changes at startup.
|
||||
pref("extensions.startupScanScopes", 0);
|
||||
|
126
SOURCES/get-calendar-langpacks.sh
Executable file
126
SOURCES/get-calendar-langpacks.sh
Executable file
@ -0,0 +1,126 @@
|
||||
#!/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
|
1
SOURCES/google-api-key
Normal file
1
SOURCES/google-api-key
Normal file
@ -0,0 +1 @@
|
||||
AIzaSyBPGXa4AYD4FC3HJK7LnIKxm4fDusVuuco
|
54
SOURCES/gtk3-private-3.22.26-1-files.inc
Normal file
54
SOURCES/gtk3-private-3.22.26-1-files.inc
Normal file
@ -0,0 +1,54 @@
|
||||
%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
|
||||
|
23
SOURCES/gtk3-private-3.22.26-1-post.inc
Normal file
23
SOURCES/gtk3-private-3.22.26-1-post.inc
Normal file
@ -0,0 +1,23 @@
|
||||
# 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
|
3
SOURCES/gtk3-private-3.22.26-1-posttrans.inc
Normal file
3
SOURCES/gtk3-private-3.22.26-1-posttrans.inc
Normal file
@ -0,0 +1,3 @@
|
||||
%{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 || :
|
27
SOURCES/gtk3-private-3.22.26-1-postun.inc
Normal file
27
SOURCES/gtk3-private-3.22.26-1-postun.inc
Normal file
@ -0,0 +1,27 @@
|
||||
# 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 || :
|
26
SOURCES/gtk3-private-3.22.26-1-requires-provides-filter.inc
Normal file
26
SOURCES/gtk3-private-3.22.26-1-requires-provides-filter.inc
Normal file
@ -0,0 +1,26 @@
|
||||
%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!
|
34
SOURCES/gtk3-private-3.22.26-1-setup-flags-env.inc
Normal file
34
SOURCES/gtk3-private-3.22.26-1-setup-flags-env.inc
Normal file
@ -0,0 +1,34 @@
|
||||
%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
|
30
SOURCES/mozilla-1005640-accept-lang.patch
Normal file
30
SOURCES/mozilla-1005640-accept-lang.patch
Normal file
@ -0,0 +1,30 @@
|
||||
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({
|
98
SOURCES/mozilla-1170092.patch
Normal file
98
SOURCES/mozilla-1170092.patch
Normal file
@ -0,0 +1,98 @@
|
||||
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"
|
13
SOURCES/mozilla-1196777.patch
Normal file
13
SOURCES/mozilla-1196777.patch
Normal file
@ -0,0 +1,13 @@
|
||||
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,
|
27
SOURCES/mozilla-1353817.patch
Normal file
27
SOURCES/mozilla-1353817.patch
Normal file
@ -0,0 +1,27 @@
|
||||
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
|
||||
|
56
SOURCES/mozilla-1436242.patch
Normal file
56
SOURCES/mozilla-1436242.patch
Normal file
@ -0,0 +1,56 @@
|
||||
|
||||
# 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).
|
||||
|
||||
|
164
SOURCES/mozilla-1460871-ldap-query.patch
Normal file
164
SOURCES/mozilla-1460871-ldap-query.patch
Normal file
@ -0,0 +1,164 @@
|
||||
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;
|
||||
};
|
11
SOURCES/mozilla-256180.patch
Normal file
11
SOURCES/mozilla-256180.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- 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
|
1
SOURCES/mozilla-api-key
Normal file
1
SOURCES/mozilla-api-key
Normal file
@ -0,0 +1 @@
|
||||
9008bb7e-1e22-4038-94fe-047dd48ccc0b
|
14
SOURCES/mozilla-build-arm.patch
Normal file
14
SOURCES/mozilla-build-arm.patch
Normal file
@ -0,0 +1,14 @@
|
||||
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)
|
12
SOURCES/rhbz-1173156.patch
Normal file
12
SOURCES/rhbz-1173156.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp
|
||||
--- firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp.rhbz-1173156 2019-01-22 10:36:09.284069020 +0100
|
||||
+++ firefox-60.5.0/extensions/auth/nsAuthSambaNTLM.cpp 2019-01-22 10:37:12.669757744 +0100
|
||||
@@ -161,7 +161,7 @@ nsresult nsAuthSambaNTLM::SpawnNTLMAuthH
|
||||
const char* username = PR_GetEnv("USER");
|
||||
if (!username) return NS_ERROR_FAILURE;
|
||||
|
||||
- const char* const args[] = {"ntlm_auth",
|
||||
+ const char* const args[] = {"/usr/bin/ntlm_auth",
|
||||
"--helper-protocol",
|
||||
"ntlmssp-client-1",
|
||||
"--use-cached-creds",
|
12
SOURCES/rhbz-1354671.patch
Normal file
12
SOURCES/rhbz-1354671.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up firefox-60.5.0/layout/base/nsIPresShell.h.1354671 firefox-60.5.0/layout/base/nsIPresShell.h
|
||||
--- firefox-60.5.0/layout/base/nsIPresShell.h.1354671 2019-01-22 16:08:40.796539950 +0100
|
||||
+++ firefox-60.5.0/layout/base/nsIPresShell.h 2019-01-22 16:10:25.106069228 +0100
|
||||
@@ -204,7 +204,7 @@ class nsIPresShell : public nsStubDocume
|
||||
* to the same aSize value. AllocateFrame is infallible and will abort
|
||||
* on out-of-memory.
|
||||
*/
|
||||
- void* AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
|
||||
+ void* __attribute__((optimize("no-lifetime-dse"))) AllocateFrame(nsQueryFrame::FrameIID aID, size_t aSize) {
|
||||
void* result = mFrameArena.AllocateByFrameID(aID, aSize);
|
||||
RecordAlloc(result);
|
||||
return result;
|
19
SOURCES/rhbz-1503632-nss.patch
Normal file
19
SOURCES/rhbz-1503632-nss.patch
Normal file
@ -0,0 +1,19 @@
|
||||
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;
|
||||
}
|
29
SOURCES/thunderbird-mozconfig
Normal file
29
SOURCES/thunderbird-mozconfig
Normal file
@ -0,0 +1,29 @@
|
||||
ac_add_options --enable-application=comm/mail
|
||||
|
||||
ac_add_options --disable-crashreporter
|
||||
ac_add_options --disable-libjpeg-turbo
|
||||
ac_add_options --disable-necko-wifi
|
||||
ac_add_options --disable-strip
|
||||
ac_add_options --disable-tests
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --enable-calendar
|
||||
ac_add_options --with-mozilla-api-keyfile=../mozilla-api-key
|
||||
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 --enable-pie
|
||||
ac_add_options --enable-default-toolkit=cairo-gtk3
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-startup-notification
|
||||
ac_add_options --libdir="$LIBDIR"
|
||||
ac_add_options --prefix="$PREFIX"
|
||||
ac_add_options --without-system-libvpx
|
||||
ac_add_options --with-pthreads
|
||||
ac_add_options --with-system-jpeg
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --enable-update-channel=release
|
||||
export BUILD_OFFICIAL=1
|
||||
export MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZ_CO_PROJECT=mail
|
||||
mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
|
30
SOURCES/thunderbird-redhat-default-prefs.js.rhel6
Normal file
30
SOURCES/thunderbird-redhat-default-prefs.js.rhel6
Normal file
@ -0,0 +1,30 @@
|
||||
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", "");
|
30
SOURCES/thunderbird-redhat-default-prefs.js.rhel7
Normal file
30
SOURCES/thunderbird-redhat-default-prefs.js.rhel7
Normal file
@ -0,0 +1,30 @@
|
||||
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", "");
|
30
SOURCES/thunderbird.desktop
Normal file
30
SOURCES/thunderbird.desktop
Normal file
@ -0,0 +1,30 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Thunderbird
|
||||
GenericName=Email
|
||||
Comment=Send and Receive Email
|
||||
Exec=thunderbird %u
|
||||
TryExec=thunderbird
|
||||
Icon=thunderbird
|
||||
Terminal=false
|
||||
Type=Application
|
||||
MimeType=message/rfc822;x-scheme-handler/mailto;
|
||||
StartupNotify=true
|
||||
Categories=Network;Email;
|
||||
Name[cs]=Poštovní klient Thunderbird
|
||||
Name[ca]=Client de correu Thunderbird
|
||||
Name[fi]=Thunderbird-sähköposti
|
||||
Name[fr]=Messagerie Thunderbird
|
||||
Name[pl]=Klient poczty Thunderbird
|
||||
Name[pt_BR]=Cliente de E-mail Thunderbird
|
||||
Name[sv]=E-postklienten Thunderbird
|
||||
Comment[ca]=Llegiu i escriviu correu
|
||||
Comment[cs]=Čtení a psaní pošty
|
||||
Comment[de]=Emails lesen und verfassen
|
||||
Comment[fi]=Lue ja kirjoita sähköposteja
|
||||
Comment[fr]=Lire et écrire des courriels
|
||||
Comment[it]=Leggere e scrivere email
|
||||
Comment[ja]=メールの読み書き
|
||||
Comment[pl]=Czytanie i wysyłanie e-maili
|
||||
Comment[pt_BR]=Ler e escrever suas mensagens
|
||||
Comment[sv]=Läs och skriv e-post
|
145
SOURCES/thunderbird.sh.in
Normal file
145
SOURCES/thunderbird.sh.in
Normal file
@ -0,0 +1,145 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Startup script for the fedora.us Thunderbird RPM
|
||||
# (based on the Mozilla RPM launch script)
|
||||
#
|
||||
|
||||
##
|
||||
## Variables
|
||||
##
|
||||
MOZ_ARCH=$(uname -m)
|
||||
case $MOZ_ARCH in
|
||||
x86_64 | s390x | sparc64 )
|
||||
MOZ_LIB_DIR="/usr/lib64"
|
||||
SECONDARY_LIB_DIR="/usr/lib"
|
||||
;;
|
||||
* )
|
||||
MOZ_LIB_DIR="/usr/lib"
|
||||
SECONDARY_LIB_DIR="/usr/lib64"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! -x $MOZ_LIB_DIR/thunderbird/thunderbird ]; then
|
||||
if [ ! -x $SECONDARY_LIB_DIR/thunderbird/thunderbird ]; then
|
||||
echo "Error: $MOZ_LIB_DIR/thunderbird/thunderbird not found"
|
||||
if [ -d $SECONDARY_LIB_DIR ]; then
|
||||
echo " $SECONDARY_LIB_DIR/thunderbird/thunderbird not found"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
MOZ_LIB_DIR="$SECONDARY_LIB_DIR"
|
||||
fi
|
||||
|
||||
MOZ_DIST_BIN="$MOZ_LIB_DIR/thunderbird"
|
||||
MOZ_PROGRAM="$MOZ_DIST_BIN/thunderbird"
|
||||
MOZ_LANGPACKS_DIR="$MOZ_DIST_BIN/langpacks"
|
||||
MOZ_EXTENSIONS_PROFILE_DIR="$HOME/.mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}"
|
||||
|
||||
##
|
||||
## 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
|
||||
##
|
||||
#MOZ_DISABLE_PANGO=1
|
||||
#export MOZ_DISABLE_PANGO
|
||||
|
||||
##
|
||||
## Set MOZ_APP_LAUNCHER for gnome-session
|
||||
##
|
||||
export MOZ_APP_LAUNCHER="/usr/bin/thunderbird"
|
||||
|
||||
##
|
||||
## Disable the GNOME crash dialog, Moz has it's own
|
||||
##
|
||||
GNOME_DISABLE_CRASH_DIALOG=1
|
||||
export GNOME_DISABLE_CRASH_DIALOG
|
||||
|
||||
##
|
||||
## Disable the SLICE allocator (rhbz#1014858)
|
||||
##
|
||||
export G_SLICE=always-malloc
|
||||
|
||||
##
|
||||
## To disable the use of Firefox localization, set MOZ_DISABLE_LANGPACKS=1
|
||||
## in your environment before launching Firefox.
|
||||
##
|
||||
#
|
||||
# MOZ_DISABLE_LANGPACKS=1
|
||||
# export MOZ_DISABLE_LANGPACKS
|
||||
#
|
||||
|
||||
##
|
||||
## Automatically installed langpacks are tracked by .fedora-langpack-install
|
||||
## config file.
|
||||
##
|
||||
FEDORA_LANGPACK_CONFIG="$MOZ_EXTENSIONS_PROFILE_DIR/.fedora-langpack-install"
|
||||
|
||||
# MOZ_DISABLE_LANGPACKS disables language packs completelly
|
||||
MOZILLA_DOWN=0
|
||||
if ! [ $MOZ_DISABLE_LANGPACKS ] || [ $MOZ_DISABLE_LANGPACKS -eq 0 ]; then
|
||||
pidof thunderbird > /dev/null 2>&1
|
||||
MOZILLA_DOWN=$?
|
||||
fi
|
||||
|
||||
# Modify language pack configuration only when thunderbird is not running
|
||||
# and language packs are not disabled
|
||||
if [ $MOZILLA_DOWN -ne 0 ]; then
|
||||
|
||||
# Clear already installed langpacks
|
||||
mkdir -p $MOZ_EXTENSIONS_PROFILE_DIR
|
||||
if [ -f $FEDORA_LANGPACK_CONFIG ]; then
|
||||
rm `cat $FEDORA_LANGPACK_CONFIG` > /dev/null 2>&1
|
||||
rm $FEDORA_LANGPACK_CONFIG > /dev/null 2>&1
|
||||
# remove all empty langpacks dirs while they block installation of langpacks
|
||||
rmdir $MOZ_EXTENSIONS_PROFILE_DIR/lang* > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Get locale from system
|
||||
CURRENT_LOCALE=$LC_ALL
|
||||
CURRENT_LOCALE=${CURRENT_LOCALE:-$LC_MESSAGES}
|
||||
CURRENT_LOCALE=${CURRENT_LOCALE:-$LANG}
|
||||
|
||||
# Try without a local variant first, then with a local variant
|
||||
# So that pt-BR doesn't try to use pt for example
|
||||
SHORTMOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*||g"`
|
||||
MOZLOCALE=`echo $CURRENT_LOCALE | sed "s|_\([^.]*\).*|-\1|g"`
|
||||
|
||||
function create_langpack_link() {
|
||||
local language=$*
|
||||
local langpack=langpack-${language}@thunderbird.mozilla.org.xpi
|
||||
if [ -f $MOZ_LANGPACKS_DIR/$langpack ]; then
|
||||
rm -rf $MOZ_EXTENSIONS_PROFILE_DIR/$langpack
|
||||
ln -s $MOZ_LANGPACKS_DIR/$langpack \
|
||||
$MOZ_EXTENSIONS_PROFILE_DIR/$langpack
|
||||
echo $MOZ_EXTENSIONS_PROFILE_DIR/$langpack > $FEDORA_LANGPACK_CONFIG
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
create_langpack_link $SHORTMOZLOCALE || create_langpack_link $MOZLOCALE || true
|
||||
fi
|
||||
|
||||
# BEAST fix (rhbz#1005611)
|
||||
NSS_SSL_CBC_RANDOM_IV=${NSS_SSL_CBC_RANDOM_IV-1}
|
||||
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 "$@"
|
12
SOURCES/xulrunner-24.0-jemalloc-ppc.patch
Normal file
12
SOURCES/xulrunner-24.0-jemalloc-ppc.patch
Normal file
@ -0,0 +1,12 @@
|
||||
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
|
2119
SPECS/thunderbird.spec
Normal file
2119
SPECS/thunderbird.spec
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user