initial import

This commit is contained in:
2025-06-22 20:39:04 -05:00
commit f8a70886f0
3428 changed files with 302546 additions and 0 deletions

View File

@@ -0,0 +1,743 @@
From 4a192ea19e118a6b8c982b4a8a14fd4523c287b8 Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Sun, 24 May 2020 00:07:41 -0400
Subject: [PATCH 01/12] Restore risky system libraries
WARNING: Not recommended and entirely unsupported upstream.
libevent - known incompatibilities causing crashes with certain version/application combinations.
ICU - system ICU will break JS Intl.
sqlite - at the core of our profile manipulation, places, and many functions. If the lib API ever deviates in the slightest it will kill us.
libpng for APNG and misc fixes
libvpx for strict compat
---
build/autoconf/icu.m4 | 16 +-
build/directive4.py | 3 +
build/moz.configure/old.configure | 5 +
config/Makefile.in | 4 +
config/external/icu/moz.build | 22 +-
config/external/moz.build | 6 +-
config/external/nss/Makefile.in | 2 +
config/moz.build | 3 +
config/system-headers | 32 ++
db/sqlite3/src/moz.build | 10 +-
ipc/chromium/moz.build | 4 +-
.../src/third_party/libeventcommon.mozbuild | 2 +-
ipc/chromium/src/third_party/moz.build | 3 +
media/webrtc/signaling/test/common.build | 3 +
old-configure.in | 284 ++++++++++++++++++
storage/SQLiteMutex.h | 2 +-
storage/moz.build | 4 +
toolkit/library/moz.build | 9 +
18 files changed, 393 insertions(+), 21 deletions(-)
diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
index 090d6c0a2..d76c98c29 100644
--- a/build/autoconf/icu.m4
+++ b/build/autoconf/icu.m4
@@ -9,6 +9,18 @@ AC_DEFUN([MOZ_CONFIG_ICU], [
ICU_LIB_NAMES=
+MOZ_SYSTEM_ICU=
+MOZ_ARG_WITH_BOOL(system-icu,
+[ --with-system-icu
+ Use system ICU (located with pkgconfig)],
+ MOZ_SYSTEM_ICU=1)
+if test -n "$MOZ_SYSTEM_ICU"; then
+ PKG_CHECK_MODULES(MOZ_ICU, icu-i18n >= 58.1)
+ CFLAGS="$CFLAGS $MOZ_ICU_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $MOZ_ICU_CFLAGS"
+fi
+AC_SUBST(MOZ_SYSTEM_ICU)
+
dnl We always use ICU.
USE_ICU=1
@@ -38,7 +50,7 @@ if test -n "$USE_ICU"; then
dnl We also don't do it on Windows because sometimes the file goes
dnl missing -- possibly due to overzealous antivirus software? --
dnl which prevents the browser from starting up :(
- if test -z "$JS_STANDALONE"; then
+ if test -z "$JS_STANDALONE" -a -z "$MOZ_SYSTEM_ICU"; then
MOZ_ICU_DATA_ARCHIVE=1
else
MOZ_ICU_DATA_ARCHIVE=
@@ -51,7 +63,7 @@ AC_SUBST(USE_ICU)
AC_SUBST(ICU_DATA_FILE)
AC_SUBST(MOZ_ICU_DATA_ARCHIVE)
-if test -n "$USE_ICU"; then
+if test -n "$USE_ICU" -a -z "$MOZ_SYSTEM_ICU"; then
if test -z "$YASM" -a -z "$GNU_AS" -a "$COMPILE_ENVIRONMENT"; then
AC_MSG_ERROR([Building ICU requires either yasm or a GNU assembler. If you do not have either of those available for this platform you must use --without-intl-api])
fi
diff --git a/build/directive4.py b/build/directive4.py
index 650349d68..38465628b 100644
--- a/build/directive4.py
+++ b/build/directive4.py
@@ -36,6 +36,9 @@ if ('MOZ_OFFICIAL_BRANDING' in listConfig) or (strBrandingDirectory.endswith("br
'MOZ_SYSTEM_JPEG',
'MOZ_SYSTEM_ZLIB',
'MOZ_SYSTEM_BZ2',
+ 'MOZ_SYSTEM_PNG',
+ 'MOZ_SYSTEM_LIBVPX',
+ 'MOZ_SYSTEM_SQLITE',
'MOZ_SYSTEM_JEMALLOC'
]
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
index aba1edf85..9568b4c88 100644
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -236,6 +236,7 @@ def old_configure_options(*options):
'--enable-system-cairo',
'--enable-system-extension-dirs',
'--enable-system-pixman',
+ '--enable-system-sqlite',
'--enable-tasktracer',
'--enable-tests',
'--enable-thread-sanitizer',
@@ -289,7 +290,11 @@ def old_configure_options(*options):
'--with-sixgill',
'--with-soft-float',
'--with-system-bz2',
+ '--with-system-icu',
'--with-system-jpeg',
+ '--with-system-libevent',
+ '--with-system-libvpx',
+ '--with-system-png',
'--with-system-zlib',
'--with-thumb',
'--with-thumb-interwork',
diff --git a/config/Makefile.in b/config/Makefile.in
index c9cc3592c..10807cfb9 100644
--- a/config/Makefile.in
+++ b/config/Makefile.in
@@ -44,7 +44,11 @@ export:: $(export-preqs)
-DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
-DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
-DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
+ -DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \
-DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \
+ -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
+ -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
+ -DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
$(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
$(INSTALL) system_wrappers $(DIST)
diff --git a/config/external/icu/moz.build b/config/external/icu/moz.build
index 488a02159..248652a85 100644
--- a/config/external/icu/moz.build
+++ b/config/external/icu/moz.build
@@ -6,14 +6,16 @@
Library('icu')
-DIRS += [
- 'common',
- 'data',
- 'i18n',
-]
-
-if CONFIG['MOZ_ICU_DATA_ARCHIVE']:
- DIRS += ['stubdata']
- USE_LIBS += ['icustubdata']
+if CONFIG['MOZ_SYSTEM_ICU']:
+ OS_LIBS += CONFIG['MOZ_ICU_LIBS']
else:
- USE_LIBS += ['icudata']
+ DIRS += [
+ 'common',
+ 'data',
+ 'i18n',
+ ]
+ if CONFIG['MOZ_ICU_DATA_ARCHIVE']:
+ DIRS += ['stubdata']
+ USE_LIBS += ['icustubdata']
+ else:
+ USE_LIBS += ['icudata']
diff --git a/config/external/moz.build b/config/external/moz.build
index 1234016fa..cedef8a31 100644
--- a/config/external/moz.build
+++ b/config/external/moz.build
@@ -28,12 +28,14 @@ if CONFIG['MOZ_TREMOR']:
if CONFIG['MOZ_WEBM_ENCODER']:
external_dirs += ['media/libmkv']
-external_dirs += ['media/libvpx']
+if not CONFIG['MOZ_SYSTEM_LIBVPX']:
+ external_dirs += ['media/libvpx']
if CONFIG['MOZ_AV1']:
external_dirs += ['media/libaom']
-external_dirs += ['media/libpng']
+if not CONFIG['MOZ_SYSTEM_PNG']:
+ external_dirs += ['media/libpng']
external_dirs += ['media/libwebp']
diff --git a/config/external/nss/Makefile.in b/config/external/nss/Makefile.in
index 7289e57f4..14eed9712 100644
--- a/config/external/nss/Makefile.in
+++ b/config/external/nss/Makefile.in
@@ -119,9 +119,11 @@ DEFAULT_GMAKE_FLAGS += NSS_ENABLE_TLS_1_3=1
ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_1)
DEFAULT_GMAKE_FLAGS += OS_DLLFLAGS='-static-libgcc' NSPR31_LIB_PREFIX=lib
endif
+ifndef MOZ_SYSTEM_SQLITE
DEFAULT_GMAKE_FLAGS += SQLITE_LIB_NAME=mozsqlite3
DEFAULT_GMAKE_FLAGS += SQLITE_LIB_DIR=$(ABS_DIST)/../db/sqlite3/src
DEFAULT_GMAKE_FLAGS += SQLITE_INCLUDE_DIR=$(ABS_DIST)/include
+endif
ifdef NSS_DISABLE_DBM
DEFAULT_GMAKE_FLAGS += NSS_DISABLE_DBM=1
endif
diff --git a/config/moz.build b/config/moz.build
index c512bd07d..7bcac7992 100644
--- a/config/moz.build
+++ b/config/moz.build
@@ -29,6 +29,9 @@ if CONFIG['HOST_OS_ARCH'] != 'WINNT':
# while the program here is in C.
HostProgram('nsinstall_real', c_only=True)
+if CONFIG['MOZ_SYSTEM_ICU']:
+ DEFINES['MOZ_SYSTEM_ICU'] = True
+
PYTHON_UNIT_TESTS += [
'tests/test_mozbuild_reading.py',
'tests/unit-expandlibs.py',
diff --git a/config/system-headers b/config/system-headers
index 3685d6d1c..b10324f0f 100644
--- a/config/system-headers
+++ b/config/system-headers
@@ -1253,6 +1253,9 @@ soundtouch/SoundTouchFactory.h
#if MOZ_LIBAV_FFT==1
libavcodec/avfft.h
#endif
+#if MOZ_SYSTEM_PNG==1
+png.h
+#endif
#if MOZ_SYSTEM_ZLIB==1
zlib.h
#endif
@@ -1273,7 +1276,11 @@ bzlib.h
#ifdef MOZ_ENABLE_GIO
gio/gio.h
#endif
+#if MOZ_SYSTEM_LIBEVENT==1
+event.h
+#else
sys/event.h
+#endif
#ifdef MOZ_ENABLE_LIBPROXY
proxy.h
#endif
@@ -1288,6 +1295,15 @@ QtSparql/qsparqlresult.h
#if MOZ_TREE_PIXMAN!=1
pixman.h
#endif
+#if MOZ_SYSTEM_LIBVPX==1
+vpx/svc_context.h
+vpx/vpx_codec.h
+vpx/vpx_decoder.h
+vpx/vpx_encoder.h
+vpx/vp8cx.h
+vpx/vp8dx.h
+vpx_mem/vpx_mem.h
+#endif
gst/gst.h
gst/app/gstappsink.h
gst/app/gstappsrc.h
@@ -1300,6 +1316,22 @@ kvm.h
spawn.h
err.h
xlocale.h
+#ifdef MOZ_SYSTEM_ICU
+unicode/locid.h
+unicode/numsys.h
+unicode/timezone.h
+unicode/ucal.h
+unicode/uchar.h
+unicode/uclean.h
+unicode/ucol.h
+unicode/udat.h
+unicode/udatpg.h
+unicode/uenum.h
+unicode/unorm.h
+unicode/unum.h
+unicode/ustring.h
+unicode/utypes.h
+#endif
libutil.h
unwind.h
fenv.h
diff --git a/db/sqlite3/src/moz.build b/db/sqlite3/src/moz.build
index eba8633b5..d8cec85ff 100644
--- a/db/sqlite3/src/moz.build
+++ b/db/sqlite3/src/moz.build
@@ -9,9 +9,13 @@ NO_VISIBILITY_FLAGS = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
-GeckoSharedLibrary('sqlite', linkage=None, mozglue='library')
-SHARED_LIBRARY_NAME = 'mozsqlite3'
-SYMBOLS_FILE = 'sqlite.symbols'
+if CONFIG['MOZ_SYSTEM_SQLITE']:
+ Library('sqlite')
+ OS_LIBS += CONFIG['SQLITE_LIBS']
+else:
+ GeckoSharedLibrary('sqlite', linkage=None, mozglue='library')
+ SHARED_LIBRARY_NAME = 'mozsqlite3'
+ SYMBOLS_FILE = 'sqlite.symbols'
EXPORTS += ['sqlite3.h']
SOURCES += ['sqlite3.c']
diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build
index b386134f9..085e65c96 100644
--- a/ipc/chromium/moz.build
+++ b/ipc/chromium/moz.build
@@ -58,7 +58,7 @@ if os_win:
'src/chrome/common/process_watcher_win.cc',
'src/chrome/common/transport_dib_win.cc',
]
-else:
+elif not CONFIG['MOZ_SYSTEM_LIBEVENT']:
DIRS += ['src/third_party']
if os_posix:
@@ -145,7 +145,7 @@ if os_solaris:
'src/base/time_posix.cc',
]
-else:
+elif not CONFIG['MOZ_SYSTEM_LIBEVENT']:
LOCAL_INCLUDES += ['src/third_party/libevent/linux']
ost = CONFIG['OS_TEST']
diff --git a/ipc/chromium/src/third_party/libeventcommon.mozbuild b/ipc/chromium/src/third_party/libeventcommon.mozbuild
index 33482c661..2b45ecb19 100644
--- a/ipc/chromium/src/third_party/libeventcommon.mozbuild
+++ b/ipc/chromium/src/third_party/libeventcommon.mozbuild
@@ -32,7 +32,7 @@ else:
else:
libevent_include_suffix = 'linux'
-if os_posix:
+if os_posix and not CONFIG['MOZ_SYSTEM_LIBEVENT']:
DEFINES['HAVE_CONFIG_H'] = True
LOCAL_INCLUDES += sorted([
'libevent',
diff --git a/ipc/chromium/src/third_party/moz.build b/ipc/chromium/src/third_party/moz.build
index 20a5043fb..2b99e53b3 100644
--- a/ipc/chromium/src/third_party/moz.build
+++ b/ipc/chromium/src/third_party/moz.build
@@ -10,6 +10,9 @@ include(libevent_path_prefix + '/libeventcommon.mozbuild')
if os_win:
error('should not reach here on Windows')
+if CONFIG['MOZ_SYSTEM_LIBEVENT']:
+ error('should not reach here if we are using a native libevent')
+
UNIFIED_SOURCES += [
'libevent/buffer.c',
'libevent/bufferevent.c',
diff --git a/media/webrtc/signaling/test/common.build b/media/webrtc/signaling/test/common.build
index 2d9a57139..3e5450f5d 100644
--- a/media/webrtc/signaling/test/common.build
+++ b/media/webrtc/signaling/test/common.build
@@ -105,6 +105,9 @@ if CONFIG['MOZ_ALSA']:
if CONFIG['MOZ_SYSTEM_JPEG']:
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
+if CONFIG['MOZ_SYSTEM_LIBVPX']:
+ OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
+
if not CONFIG['MOZ_TREE_PIXMAN']:
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
diff --git a/old-configure.in b/old-configure.in
index 2965f60b7..b3ac8c2f1 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -2005,6 +2005,44 @@ esac
MOZ_CONFIG_NSPR()
+dnl ========================================================
+dnl system libevent Support
+dnl ========================================================
+MOZ_ARG_WITH_STRING(system-libevent,
+[ --with-system-libevent[=PFX]
+ Use system libevent [installed at prefix PFX]],
+ LIBEVENT_DIR=$withval)
+
+_SAVE_CFLAGS=$CFLAGS
+_SAVE_LDFLAGS=$LDFLAGS
+_SAVE_LIBS=$LIBS
+if test "$LIBEVENT_DIR" = yes; then
+ PKG_CHECK_MODULES(MOZ_LIBEVENT, libevent,
+ MOZ_SYSTEM_LIBEVENT=1,
+ LIBEVENT_DIR=/usr)
+fi
+if test -z "$LIBEVENT_DIR" -o "$LIBEVENT_DIR" = no; then
+ MOZ_SYSTEM_LIBEVENT=
+elif test -z "$MOZ_SYSTEM_LIBEVENT"; then
+ CFLAGS="-I${LIBEVENT_DIR}/include $CFLAGS"
+ LDFLAGS="-L${LIBEVENT_DIR}/lib $LDFLAGS"
+ MOZ_CHECK_HEADER(event.h,
+ [if test ! -f "${LIBEVENT_DIR}/include/event.h"; then
+ AC_MSG_ERROR([event.h found, but is not in ${LIBEVENT_DIR}/include])
+ fi],
+ AC_MSG_ERROR([--with-system-libevent requested but event.h not found]))
+ AC_CHECK_LIB(event, event_init,
+ [MOZ_SYSTEM_LIBEVENT=1
+ MOZ_LIBEVENT_CFLAGS="-I${LIBEVENT_DIR}/include"
+ MOZ_LIBEVENT_LIBS="-L${LIBEVENT_DIR}/lib -levent"],
+ [MOZ_SYSTEM_LIBEVENT= MOZ_LIBEVENT_CFLAGS= MOZ_LIBEVENT_LIBS=])
+fi
+CFLAGS=$_SAVE_CFLAGS
+LDFLAGS=$_SAVE_LDFLAGS
+LIBS=$_SAVE_LIBS
+
+AC_SUBST(MOZ_SYSTEM_LIBEVENT)
+
# TODO: We need to find a better place to define this include
NSS_CFLAGS="-I${DIST}/include/nss"
AC_SUBST(NSS_CFLAGS)
@@ -2092,6 +2130,51 @@ if test "${BZ2_DIR}" -a -d "${BZ2_DIR}" -a "$MOZ_SYSTEM_BZ2" = 1; then
MOZ_BZ2_LIBS="-L${BZ2_DIR}/lib ${MOZ_BZ2_LIBS}"
fi
+dnl ========================================================
+dnl system PNG Support
+dnl ========================================================
+MOZ_ARG_WITH_STRING(system-png,
+[ --with-system-png[=PFX]
+ Use system libpng [installed at prefix PFX]],
+ PNG_DIR=$withval)
+
+_SAVE_CFLAGS=$CFLAGS
+_SAVE_LDFLAGS=$LDFLAGS
+_SAVE_LIBS=$LIBS
+if test -n "${PNG_DIR}" -a "${PNG_DIR}" != "yes"; then
+ CFLAGS="-I${PNG_DIR}/include $CFLAGS"
+ LDFLAGS="-L${PNG_DIR}/lib $LDFLAGS"
+fi
+if test -z "$PNG_DIR" -o "$PNG_DIR" = no; then
+ MOZ_SYSTEM_PNG=
+else
+ AC_CHECK_LIB(png, png_get_valid, [MOZ_SYSTEM_PNG=1 MOZ_PNG_LIBS="-lpng"],
+ AC_MSG_ERROR([--with-system-png requested but no working libpng found]))
+ AC_CHECK_LIB(png, png_get_acTL, ,
+ AC_MSG_ERROR([--with-system-png won't work because the system's libpng doesn't have APNG support]))
+fi
+if test "$MOZ_SYSTEM_PNG" = 1; then
+ AC_TRY_COMPILE([ #include <stdio.h>
+ #include <sys/types.h>
+ #include <png.h> ],
+ [ #if PNG_LIBPNG_VER < $MOZPNG
+ #error "Insufficient libpng version ($MOZPNG required)."
+ #endif
+ #ifndef PNG_UINT_31_MAX
+ #error "Insufficient libpng version."
+ #endif ],
+ MOZ_SYSTEM_PNG=1,
+ AC_MSG_ERROR([--with-system-png requested but no working libpng found]))
+fi
+CFLAGS=$_SAVE_CFLAGS
+LDFLAGS=$_SAVE_LDFLAGS
+LIBS=$_SAVE_LIBS
+
+if test "${PNG_DIR}" -a -d "${PNG_DIR}" -a "$MOZ_SYSTEM_PNG" = 1; then
+ MOZ_PNG_CFLAGS="-I${PNG_DIR}/include"
+ MOZ_PNG_LIBS="-L${PNG_DIR}/lib ${MOZ_PNG_LIBS}"
+fi
+
fi # SKIP_LIBRARY_CHECKS
dnl ========================================================
@@ -2962,6 +3045,13 @@ fi
AC_SUBST(MOZ_EME)
+dnl ========================================================
+dnl system libvpx Support
+dnl ========================================================
+MOZ_ARG_WITH_BOOL(system-libvpx,
+[ --with-system-libvpx Use system libvpx (located with pkgconfig)],
+ MOZ_SYSTEM_LIBVPX=1)
+
MOZ_LIBVPX_CFLAGS=
MOZ_LIBVPX_LIBS=
@@ -2969,6 +3059,35 @@ if test -n "$MOZ_VPX_ERROR_CONCEALMENT" ; then
AC_DEFINE(MOZ_VPX_ERROR_CONCEALMENT)
fi
+_SAVE_CFLAGS=$CFLAGS
+_SAVE_LIBS=$LIBS
+if test -n "$MOZ_SYSTEM_LIBVPX"; then
+ dnl ============================
+ dnl === libvpx Version check ===
+ dnl ============================
+ dnl Check to see if we have a system libvpx package.
+ PKG_CHECK_MODULES(MOZ_LIBVPX, vpx >= 1.5.0)
+
+ CFLAGS="$CFLAGS $MOZ_LIBVPX_CFLAGS"
+ LIBS="$LIBS $MOZ_LIBVPX_LIBS"
+
+ MOZ_CHECK_HEADER([vpx/vpx_decoder.h], [],
+ [AC_MSG_ERROR([Couldn't find vpx/vpx_decoder.h which is required for build with system libvpx. Use --without-system-libvpx to build with in-tree libvpx.])])
+
+ AC_CHECK_LIB(vpx, vpx_codec_dec_init_ver, [],
+ [AC_MSG_ERROR([--with-system-libvpx requested but symbol vpx_codec_dec_init_ver not found])])
+
+ MOZ_CHECK_HEADER([vpx_mem/vpx_mem.h],
+ [AC_CHECK_FUNC(vpx_mem_set_functions)])
+ if test "$ac_cv_header_vpx_mem_vpx_mem_h" = no -o \
+ "$ac_cv_func_vpx_mem_set_functions" = no; then
+ AC_DEFINE(MOZ_VPX_NO_MEM_REPORTING)
+ fi
+fi
+CFLAGS=$_SAVE_CFLAGS
+LIBS=$_SAVE_LIBS
+
+AC_SUBST(MOZ_SYSTEM_LIBVPX)
AC_SUBST_LIST(MOZ_LIBVPX_CFLAGS)
AC_SUBST_LIST(MOZ_LIBVPX_LIBS)
@@ -3723,6 +3842,170 @@ else
fi
fi
+dnl ========================================================
+dnl Check for sqlite
+dnl ========================================================
+
+MOZ_SYSTEM_SQLITE=
+MOZ_ARG_ENABLE_BOOL(system-sqlite,
+[ --enable-system-sqlite Use system sqlite (located with pkgconfig)],
+MOZ_SYSTEM_SQLITE=1,
+MOZ_SYSTEM_SQLITE= )
+
+if test -n "$MOZ_SYSTEM_SQLITE"
+then
+ dnl ============================
+ dnl === SQLite Version check ===
+ dnl ============================
+ dnl Check to see if the system SQLite package is new enough.
+ PKG_CHECK_MODULES(SQLITE, sqlite3 >= $SQLITE_VERSION)
+
+ dnl ==================================
+ dnl === SQLITE_SECURE_DELETE check ===
+ dnl ==================================
+ dnl Check to see if the system SQLite package is compiled with
+ dnl SQLITE_SECURE_DELETE enabled.
+ AC_MSG_CHECKING(for SQLITE_SECURE_DELETE support in system SQLite)
+ _SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $SQLITE_CFLAGS"
+ _SAVE_LIBS="$LIBS"
+ LIBS="$LIBS $SQLITE_LIBS"
+ AC_CACHE_VAL(ac_cv_sqlite_secure_delete,[
+ AC_TRY_RUN([
+ #include "sqlite3.h"
+ int main(int argc, char **argv){
+ return !sqlite3_compileoption_used("SQLITE_SECURE_DELETE");
+ }],
+ ac_cv_sqlite_secure_delete=yes,
+ ac_cv_sqlite_secure_delete=no,
+ ac_cv_sqlite_secure_delete=no
+ )
+ ])
+ AC_MSG_RESULT($ac_cv_sqlite_secure_delete)
+ CFLAGS="$_SAVE_CFLAGS"
+ LIBS="$_SAVE_LIBS"
+ if test "x$ac_cv_sqlite_secure_delete" = "xno"; then
+ AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_SECURE_DELETE.])
+ fi
+
+ dnl ===============================
+ dnl === SQLITE_THREADSAFE check ===
+ dnl ===============================
+ dnl Check to see if the system SQLite package is compiled with
+ dnl SQLITE_THREADSAFE enabled.
+ AC_MSG_CHECKING(for SQLITE_THREADSAFE support in system SQLite)
+ _SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $SQLITE_CFLAGS"
+ _SAVE_LIBS="$LIBS"
+ LIBS="$LIBS $SQLITE_LIBS"
+ AC_CACHE_VAL(ac_cv_sqlite_threadsafe,[
+ AC_TRY_RUN([
+ #include "sqlite3.h"
+ int main(int argc, char **argv){
+ return !sqlite3_compileoption_used("SQLITE_THREADSAFE=1");
+ }],
+ ac_cv_sqlite_threadsafe=yes,
+ ac_cv_sqlite_threadsafe=no,
+ ac_cv_sqlite_threadsafe=no
+ )
+ ])
+ AC_MSG_RESULT($ac_cv_sqlite_threadsafe)
+ CFLAGS="$_SAVE_CFLAGS"
+ LIBS="$_SAVE_LIBS"
+ if test "x$ac_cv_sqlite_threadsafe" = "xno"; then
+ AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_THREADSAFE.])
+ fi
+
+ dnl ================================
+ dnl === SQLITE_ENABLE_FTS3 check ===
+ dnl ================================
+ dnl check to see if the system SQLite package is compiled with
+ dnl SQLITE_ENABLE_FTS3 enabled.
+ AC_MSG_CHECKING(for SQLITE_ENABLE_FTS3 support in system SQLite)
+ _SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $SQLITE_CFLAGS"
+ _SAVE_LIBS="$LIBS"
+ LIBS="$LIBS $SQLITE_LIBS"
+ AC_CACHE_VAL(ac_cv_sqlite_enable_fts3,[
+ AC_TRY_RUN([
+ #include "sqlite3.h"
+ int main(int argc, char **argv){
+ return !sqlite3_compileoption_used("SQLITE_ENABLE_FTS3");
+ }],
+ ac_cv_sqlite_enable_fts3=yes,
+ ac_cv_sqlite_enable_fts3=no,
+ ac_cv_sqlite_enable_fts3=no
+ )
+ ])
+ AC_MSG_RESULT($ac_cv_sqlite_enable_fts3)
+ CFLAGS="$_SAVE_CFLAGS"
+ LIBS="$_SAVE_LIBS"
+ if test "x$ac_cv_sqlite_enable_fts3" = "xno"; then
+ AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_ENABLE_FTS3.])
+ fi
+
+ dnl =========================================
+ dnl === SQLITE_ENABLE_UNLOCK_NOTIFY check ===
+ dnl =========================================
+ dnl check to see if the system SQLite package is compiled with
+ dnl SQLITE_ENABLE_UNLOCK_NOTIFY enabled.
+ AC_MSG_CHECKING(for SQLITE_ENABLE_UNLOCK_NOTIFY support in system SQLite)
+ _SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $SQLITE_CFLAGS"
+ _SAVE_LIBS="$LIBS"
+ LIBS="$LIBS $SQLITE_LIBS"
+ AC_CACHE_VAL(ac_cv_sqlite_enable_unlock_notify,[
+ AC_TRY_RUN([
+ #include "sqlite3.h"
+ int main(int argc, char **argv){
+ return !sqlite3_compileoption_used("SQLITE_ENABLE_UNLOCK_NOTIFY");
+ }],
+ ac_cv_sqlite_enable_unlock_notify=yes,
+ ac_cv_sqlite_enable_unlock_notify=no,
+ ac_cv_sqlite_enable_unlock_notify=no
+ )
+ ])
+ AC_MSG_RESULT($ac_cv_sqlite_enable_unlock_notify)
+ CFLAGS="$_SAVE_CFLAGS"
+ LIBS="$_SAVE_LIBS"
+ if test "x$ac_cv_sqlite_enable_unlock_notify" = "xno"; then
+ AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_ENABLE_UNLOCK_NOTIFY.])
+ fi
+
+ dnl =========================================
+ dnl === SQLITE_ENABLE_DBSTAT_VTAB check ===
+ dnl =========================================
+ dnl check to see if the system SQLite package is compiled with
+ dnl SQLITE_ENABLE_DBSTAT_VTAB.
+ AC_MSG_CHECKING(for SQLITE_ENABLE_DBSTAT_VTAB support in system SQLite)
+ _SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $SQLITE_CFLAGS"
+ _SAVE_LIBS="$LIBS"
+ LIBS="$LIBS $SQLITE_LIBS"
+ AC_CACHE_VAL(ac_cv_sqlite_dbstat_vtab,[
+ AC_TRY_RUN([
+ #include "sqlite3.h"
+ int main(int argc, char **argv){
+ return !sqlite3_compileoption_used("SQLITE_ENABLE_DBSTAT_VTAB");
+ }],
+ ac_cv_sqlite_dbstat_vtab=yes,
+ ac_cv_sqlite_dbstat_vtab=no,
+ ac_cv_sqlite_dbstat_vtab=no
+ )
+ ])
+ AC_MSG_RESULT($ac_cv_sqlite_dbstat_vtab)
+ CFLAGS="$_SAVE_CFLAGS"
+ LIBS="$_SAVE_LIBS"
+ if test "x$ac_cv_sqlite_dbstat_vtab" = "xno"; then
+ AC_MSG_ERROR([System SQLite library is not compiled with SQLITE_ENABLE_DBSTAT_VTAB.])
+ fi
+fi
+
+if test -n "$MOZ_SYSTEM_SQLITE"; then
+ AC_DEFINE(MOZ_SYSTEM_SQLITE)
+fi
+AC_SUBST(MOZ_SYSTEM_SQLITE)
+
dnl ========================================================
dnl = Enable Google safe browsing (anti-phishing)
dnl ========================================================
@@ -5349,6 +5632,7 @@ MC_BASILISK=$MC_BASILISK
MC_PALEMOON=$MC_PALEMOON
MOZ_EME=$MOZ_EME
MOZ_WEBRTC=$MOZ_WEBRTC
+MOZ_SYSTEM_LIBEVENT=$MOZ_SYSTEM_LIBEVENT
MOZ_SYSTEM_JPEG=$MOZ_SYSTEM_JPEG
MOZ_SYSTEM_ZLIB=$MOZ_SYSTEM_ZLIB
MOZ_SYSTEM_BZ2=$MOZ_SYSTEM_BZ2
diff --git a/storage/SQLiteMutex.h b/storage/SQLiteMutex.h
index eaa69eab1..a38525fd6 100644
--- a/storage/SQLiteMutex.h
+++ b/storage/SQLiteMutex.h
@@ -50,7 +50,7 @@ public:
mMutex = aMutex;
}
-#if !defined(DEBUG)
+#if !defined(DEBUG) || defined(MOZ_SYSTEM_SQLITE)
/**
* Acquires the mutex.
*/
diff --git a/storage/moz.build b/storage/moz.build
index f0e754bdc..606c93001 100644
--- a/storage/moz.build
+++ b/storage/moz.build
@@ -99,6 +99,10 @@ if CONFIG['MOZ_MEMORY']:
DEFINES['SQLITE_MAX_LIKE_PATTERN_LENGTH'] = 50000
# See Sqlite moz.build for reasoning about TEMP_STORE.
+# For system sqlite we cannot use the compile time option, so we use a pragma.
+if CONFIG['MOZ_SYSTEM_SQLITE'] and (CONFIG['OS_TARGET'] == 'Android'
+ or CONFIG['HAVE_64BIT_BUILD']):
+ DEFINES['MOZ_MEMORY_TEMP_STORE_PRAGMA'] = True
LOCAL_INCLUDES += [
'/db/sqlite3/src',
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
index d9b167547..acfd83aa3 100644
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -195,9 +195,18 @@ if CONFIG['SERVO_TARGET_DIR']:
if CONFIG['MOZ_SYSTEM_JPEG']:
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
+if CONFIG['MOZ_SYSTEM_PNG']:
+ OS_LIBS += CONFIG['MOZ_PNG_LIBS']
+
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
+if CONFIG['MOZ_SYSTEM_LIBEVENT']:
+ OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
+
+if CONFIG['MOZ_SYSTEM_LIBVPX']:
+ OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
+
if not CONFIG['MOZ_TREE_PIXMAN']:
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
--
2.25.2

View File

@@ -0,0 +1,44 @@
From 9de464ed516e1ff2995eb5270d942048e832ae1d Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Sun, 24 May 2020 00:15:03 -0400
Subject: [PATCH 02/12] Add iceweasel-uxp application specfic override
---
docshell/base/nsAboutRedirector.cpp | 5 ++---
toolkit/xre/nsAppRunner.cpp | 4 ++--
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
index e1d883532..12a767a78 100644
--- a/docshell/base/nsAboutRedirector.cpp
+++ b/docshell/base/nsAboutRedirector.cpp
@@ -53,9 +53,8 @@ static RedirEntry kRedirMap[] = {
{ "config", "chrome://global/content/config.xul", 0 },
{ "console", "chrome://global/content/console.xul", 0 },
{
- "credits", "http://www.palemoon.org/Contributors.shtml",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- nsIAboutModule::MAKE_LINKABLE
+ "credits", "chrome://global/content/aboutCredits.html",
+ nsIAboutModule::MAKE_LINKABLE
},
#ifdef MOZ_DEVTOOLS
{
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 55072c474..ad5ba1017 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -3695,8 +3695,8 @@ XREMain::XRE_mainRun()
// reset the profile.
// For Basilisk and Pale Moon:
// Hard-code MOZ_APP_NAME to firefox because of hard-coded type in migrator.
- aKey = (((MOZ_APP_NAME == "basilisk")
- || (MOZ_APP_NAME == "palemoon"))
+ aKey = (((MOZ_APP_NAME == "iceweasel-uxp")
+ || (MOZ_APP_NAME == "iceweasel-classic"))
? "firefox" : MOZ_APP_NAME);
}
--
2.25.2

View File

@@ -0,0 +1,57 @@
From 9c9f5c4264a10773c5fbc83c7a7c64e9c1316e38 Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Sat, 20 Jul 2019 22:48:03 -0400
Subject: [PATCH 1/1] Hardcode AppName in nsAppRunner
Patches WM_ClassName and Application Name since we are keeping them unchanged for folder compatibility reasons.
Additional branding improvements of Help and Version String changes courtesy HarvettFox96.
---
toolkit/xre/nsAppRunner.cpp | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 5a51fd3e7..9fbc9c20d 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -1335,11 +1335,11 @@ DumpHelp()
#endif
#ifdef XP_UNIX
printf(" --g-fatal-warnings Make all warnings fatal.\n"
- "\n%s options\n", gAppData->name);
+ "\nIcedove-UXP options\n", gAppData->name);
#endif
printf(" -h or --help Print this message.\n"
- " -v or --version Print %s version.\n"
+ " -v or --version Print Icedove-UXP version.\n"
" -P <profile> Start with <profile>.\n"
" --profile <path> Start with profile at <path>.\n"
#ifdef MC_BASILISK
@@ -1408,9 +1408,7 @@ static int MSCRTReportHook( int aReportType, char *aMessage, int *oReturnValue)
static inline void
DumpVersion()
{
- if (gAppData->vendor)
- printf("%s ", gAppData->vendor);
- printf("%s %s", gAppData->name, gAppData->version);
+ printf("Hyperbola Icedove-UXP %s", gAppData->version);
if (gAppData->copyright)
printf(", %s", gAppData->copyright);
printf("\n");
@@ -3205,11 +3203,9 @@ XREMain::XRE_mainStartup(bool* aExitFlag)
gdk_rgb_set_install(TRUE);
#endif
- // Set program name to the one defined in application.ini.
+ // Set WM_CLASS name
{
- nsAutoCString program(gAppData->name);
- ToLowerCase(program);
- g_set_prgname(program.get());
+ g_set_prgname("Icedove-UXP");
}
// Initialize GTK here for splash.
--
2.22.0

View File

@@ -0,0 +1,39 @@
From a408d97064eccc60f75f0ac70e126a0684444b2b Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Sun, 12 Jan 2020 17:11:36 -0500
Subject: [PATCH 05/12] Disable SSLKEYLOGFILE in NSS
---
config/external/nss/Makefile.in | 2 +-
security/nss/lib/ssl/ssl.gyp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/config/external/nss/Makefile.in b/config/external/nss/Makefile.in
index 14eed9712..97d6e4b25 100644
--- a/config/external/nss/Makefile.in
+++ b/config/external/nss/Makefile.in
@@ -225,7 +225,7 @@ DEFAULT_GMAKE_FLAGS += \
endif
DEFAULT_GMAKE_FLAGS += FREEBL_NO_DEPEND=0 $(FREEBL_LOWHASH_FLAG)
-DEFAULT_GMAKE_FLAGS += NSS_ALLOW_SSLKEYLOGFILE=1
+DEFAULT_GMAKE_FLAGS += NSS_ALLOW_SSLKEYLOGFILE=0
ifdef MOZ_NO_WLZDEFS
DEFAULT_GMAKE_FLAGS += ZDEFS_FLAG=
diff --git a/security/nss/lib/ssl/ssl.gyp b/security/nss/lib/ssl/ssl.gyp
index 3e1b5531a..ca75795ea 100644
--- a/security/nss/lib/ssl/ssl.gyp
+++ b/security/nss/lib/ssl/ssl.gyp
@@ -70,7 +70,7 @@
'UNSAFE_FUZZER_MODE',
],
}],
- [ 'enable_sslkeylogfile==1', {
+ [ 'enable_sslkeylogfile==0', {
'defines': [
'NSS_ALLOW_SSLKEYLOGFILE',
],
--
2.25.2

View File

@@ -0,0 +1,44 @@
From 96b399b1986434df67b5fc02003df8a16e43122f Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Sun, 24 May 2020 00:25:59 -0400
Subject: [PATCH 06/12] Fix PGO Build
---
Makefile.in | 2 ++
gfx/thebes/gfxFont.cpp | 10 ++++++++++
2 files changed, 12 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index 6c2327388..6e4e49a4e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -404,3 +404,5 @@ config/export:
endif
# There used to be build interdependencies here. They are now in config/recurse.mk
+
+pgo-profile-run:
diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp
index a73252759..ad38e6fb1 100644
--- a/gfx/thebes/gfxFont.cpp
+++ b/gfx/thebes/gfxFont.cpp
@@ -2546,6 +2546,16 @@ IsBoundarySpace(char16_t aChar, char16_t aNextChar)
#endif
/* GetShapedWord is in gfxFont-Impl.h */
+template gfxShapedWord*
+gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
+ const uint8_t *aText,
+ uint32_t aLength,
+ uint32_t aHash,
+ Script aRunScript,
+ bool aVertical,
+ int32_t aAppUnitsPerDevUnit,
+ uint32_t aFlags,
+ gfxTextPerfMetrics *aTextPerf);
bool
gfxFont::CacheHashEntry::KeyEquals(const KeyTypePointer aKey) const
--
2.25.2

View File

@@ -0,0 +1,26 @@
From 7d02b2509f5280bb7e65a65849e4e5c04c76a28c Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Sun, 24 May 2020 00:27:45 -0400
Subject: [PATCH 07/12] init configure patch
---
build/moz.configure/init.configure | 3 ---
1 file changed, 3 deletions(-)
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 2e6034e8e..00d9935ba 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -656,9 +656,6 @@ def build_project(project, external_source_dir, build_env, help):
build_app = project[0]
- if not external_source_dir and build_app not in ('xulrunner', 'js'):
- die('Cannot find project %s', build_app)
-
build_app_abspath = os.path.join(base_dir, build_app)
if exists(build_app_abspath):
--
2.25.2

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
From ace199bce1ca06b145c94e14b2f8e2955cd60dc4 Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Wed, 2 Jun 2021 16:59:01 -0400
Subject: [PATCH 1/1] Don't use toolkit search provider
---
toolkit/components/moz.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/toolkit/components/moz.build b/toolkit/components/moz.build
index ba695a3c2..845bd9e87 100644
--- a/toolkit/components/moz.build
+++ b/toolkit/components/moz.build
@@ -82,6 +82,7 @@ if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
DIRS += ['filepicker']
if CONFIG['MOZ_TOOLKIT_SEARCH'] and not CONFIG['MC_BASILISK'] \
+ and not CONFIG['HYPE_ICEDOVE'] \
and not CONFIG['HYPE_ICEWEASEL']:
DIRS += ['search']
--
2.31.1

View File

@@ -0,0 +1,13 @@
diff --git a/mozilla/config/baseconfig.mk b/mozilla/config/baseconfig.mk
index 47a12b1..1d9f262 100644
--- a/mozilla/config/baseconfig.mk
+++ b/mozilla/config/baseconfig.mk
@@ -4,7 +4,7 @@
# whether a normal build is happening or whether the check is running.
includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+installdir = $(libdir)/$(MOZ_APP_NAME)
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
ifeq (.,$(DEPTH))
DIST = dist

View File

@@ -0,0 +1,394 @@
--- a/mail/locales/search/list.json 2021-06-05 05:01:35.000000000 +0200
+++ b/mail/locales/search/list.json 2024-12-23 01:11:38.763495274 +0100
@@ -1,315 +1,315 @@
{
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
},
"locales": {
"en-US": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ar": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ast": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"be": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"br": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ca": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"cs": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"da": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"de": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"en-GB": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"es-AR": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"es-ES": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"et": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"fi": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"fr": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ga-IE": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"gd": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"he": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"hr": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"hu": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"id": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"is": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"it": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ja-JP-mac": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ja": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"kab": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ko": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"lt": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"nb-NO": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"nl": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"nn-NO": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"pl": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"pt-PT": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"rm": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ro": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"ru": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"sk": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"sl": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"sq": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"sv-SE": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"tr": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"uk": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"vi": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
},
"zh-TW": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "wikipedia-en"
+ "wikipedia-en"
]
}
}
--- a/mail/locales/en-US/chrome/messenger-region/region.properties 2021-06-05 05:01:35.000000000 +0200
+++ b/mail/locales/en-US/chrome/messenger-region/region.properties 2024-12-23 01:14:43.163707607 +0100
@@ -3,12 +3,10 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Default search engine
-browser.search.defaultenginename=SearX
+browser.search.defaultenginename=Wikipedia (en)
# Search engine order (order displayed in the search bar dropdown)s
-browser.search.order.1=SearX
-browser.search.order.2=YaCy
-browser.search.order.3=SearX (Tor)
+browser.search.order.1=Wikipedia (en)
# To make mapit buttons to disappear in the addressbook, specify empty string. For example:
# mail.addr_book.mapit_url.format=
@@ -23,10 +21,10 @@
# @ZI == zip code
# @CO == country
# Default map service:
-mail.addr_book.mapit_url.format=https://nominatim.openstreetmap.org/search.php?polygon=1&q=@A1%2C@A2%2C@CI%2C@ST%2C@ZI%2C@CO
+mail.addr_book.mapit_url.format=
# List of available map services (up to 5 can be defined here):
-mail.addr_book.mapit_url.1.name=OpenStreetMap
-mail.addr_book.mapit_url.1.format=https://nominatim.openstreetmap.org/search.php?polygon=1&q=@A1%2C@A2%2C@CI%2C@ST%2C@ZI%2C@CO
+mail.addr_book.mapit_url.1.name=
+mail.addr_book.mapit_url.1.format=
# Recognize non-standard versions of "Re:" in subjects from localized versions of MS Outlook et al.
# Specify a comma-separated list without spaces. For example: mailnews.localizedRe=AW,SV

5473
icedove-uxp/LICENSE Normal file

File diff suppressed because it is too large Load Diff

180
icedove-uxp/PKGBUILD Normal file
View File

@@ -0,0 +1,180 @@
# Maintainer: Jesus E. <heckyel@riseup.net>
# Based on icedove package
if [ "${CARCH}" = "i686" ]; then
_pgo=false
else
_pgo=true
fi
_pkgname=UXP
pkgname=icedove-uxp
_pkgver=2021.06.02
_appver=2.5
pkgver=52.9.${_pkgver//./}
pkgrel=6
pkgdesc="A new generation of Icedove, an XUL-based standalone mail and news reader on the Unified XUL Platform (UXP)."
arch=(i686 x86_64)
license=(MPL-2.0)
depends=(gtk2 hunspell libxt sndio)
makedepends=(autoconf-legacy diffutils xorg-imake mesa pkg-config tauthon unzip xenocara-server-xvfb yasm zip)
options=(!emptydirs !makeflags)
if $_pgo; then
makedepends+=(xenocara-server-xvfb)
options+=(!ccache)
fi
url="https://wiki.hyperbola.info/$pkgname"
replaces=('icedove' 'thunderbird')
conflicts=('icedove' 'thunderbird')
provides=('icedove' 'thunderbird')
install=$pkgname.install
source=("https://repo.hyperbola.info:50000/other/$_pkgname/$_pkgname-$_pkgver.tar.gz"
"https://repo.hyperbola.info:50000/other/$pkgname/$pkgname-$_appver.tar.gz"
mozconfig
$pkgname.desktop
vendor.js
LICENSE
# Application patches
0001-Restore-risky-system-libraries.patch
0002-Add-icedove-uxp-application-specfic-override.patch
0003-Hardcode-AppName-in-nsAppRunner.patch
0004-Disable-SSLKEYLOGFILE-in-NSS.patch
0005-Fix-PGO-Build.patch
# build bustage work-around
0006-init-configure-patch.patch
# libcubeb patch
0007-Update-libcubeb-to-a1200c34.patch
0008-Don-t-use-toolkit-search-provider.patch
0009-$pkgname-install-dir.patch
0010-remove-malfunctional-searchplugins.patch)
sha512sums=('4513e30b38229654f1d02a6f4ba7914408d2169a95884560a9b1024a33fab5292dce41e113be2959fd2efbd8abd0763926352ee4362606a03700cb3ac53aeffa'
'1ab5e7e5d62d5d932cda503e3ac711f055b8f531bcee15beeded33f6e9ced7fac16053791dc94714f4b5bc65e2f8985941a9f43d8e5339e06965a5fbb85239c4'
'6553e501778cb9efc9ec054edb9b1e6503b8ad2ddeb6938114ab892f8ececb445ac65691e0bf6f794ec836d511940c8a8635a67061bd49344965b14558042e02'
'f0ae28e1a2e5a67a3bd17b3d440960ff488046c11e309655b6dcbe7497f3d840da97bae9833f737013f860b2bb8f3df4099c1ec5c5ed90f786ba3a5a2ad245b6'
'b8c38ba8f40b792fd0dde22d9f0f95c42848f43afcd627abd2bf660b68cb7670a037307f06ed01dc25776620bcb850fb7e89e21cc6f0b17987ee690f52ce4ef1'
'5b49d98ce0740ced95de8b8b39a886ee8bc5071302c4c20dbe0421b27dd1ff1aed13115819fc5fd8309745f91a94cf4c8038cf993c6237a536010185727cd7c9'
'45bb48b4d8436ef0d9535d3891848bafc3c80ff187597591533eab70a0b160eb2825c4856698e813e5858f8baaf9f054abbcd5ce6d2763a374ef3d1917952f27'
'21b137b200a3c2cd91ae6b80a704d1c82c03c590d7f6215135c7bf32a8d4c6ebf7526fe7ec52321e9a2513b11d18418d2aaddea4171a31a3c726a2e02b761118'
'ff74dd292fa0f138d37174a4aa9f4fa8267cd5b020caf401faad7085e0c7d987a06b89fab9faf58cc7723ab819adc678d75d347814ef38abd05df4440c06e227'
'4d87565a2ce99a135130fa4340f2f6ab29330d7b7e8eb40607c69951b6e807733e4dc2885bd0082c658605809103ac445d67849183ce1d5ed5aaf21dd412b1ef'
'787e271adba2f802737e381aa370331570b2d5254e05d524dc0dd1c941839f9e38a725964104c1e51ba41bb0d585b295eb864477bb66768b19646fb0815ffb9d'
'090773648376a996f03094309dd66c3b868a8923d544a02abc44eb8c374603e0126ae72182d9f6c9030fbddefc5d8cdd4d7ca7c817ac02bceb9fba6f3bb27f33'
'76f4bac91536785eadfc4bc5a220b586f34acbe36e22b16d65163c0bebf767740d1c65e0f86fe8db550749aa53736d1c735b78b879742834202d7ca9e01f98da'
'437f1521aa8eea9b3b6d9f7b030f9879b86daa46a6b70a81cc1cdbc5c1955e82318cb6f293bf08e1dd86ee1588663414669817202f7254d8c56c374515b3eb51'
'a735f553b86843069524cb4df5aa5032aa9d50b3ee200366cfb86452a2b8e8370f25ba192fb4dce09a8d881c7ffdf0573b76bcc4a163d3ab6f73e979e52acf64'
'89a23bf0338f47136d25224103cb6c7979606840e23b4de3041360f94dd990b776841331c31497126aaf1b6099d813466887bd9de29c2c1a9fd9c9da71caa824')
prepare() {
# Move the Unified XUL Platform into our application
cd "$srcdir/$pkgname-$_appver"
mv "$srcdir/$_pkgname-$_pkgver" mozilla
pushd mozilla
# Allow us to build with system libs (this is not recommended/untested per UXP devs)
patch -p1 -i "$srcdir/0001-Restore-risky-system-libraries.patch"
# Apply Icedove-UXP application specific overrides to UXP
patch -p1 -i "$srcdir/0002-Add-icedove-uxp-application-specfic-override.patch"
# Hardcode AppName in nsAppRunner
patch -p1 -i "$srcdir/0003-Hardcode-AppName-in-nsAppRunner.patch"
# Disable SSLKEYLOGFILE in NSS
patch -p1 -i "$srcdir/0004-Disable-SSLKEYLOGFILE-in-NSS.patch"
# Fix PGO build
patch -p1 -i "$srcdir/0005-Fix-PGO-Build.patch"
# Apply configure fix (Next release)
patch -p1 -i "$srcdir/0006-init-configure-patch.patch"
# Apply and update libcubeb for sndio support
patch -p1 -i "$srcdir/0007-Update-libcubeb-to-a1200c34.patch"
# Apply toolkit search bypass patch
patch -p1 -i "$srcdir/0008-Don-t-use-toolkit-search-provider.patch"
# Remove bad credit records for some CA issuers such as CNNIC, StartCom, Symantec and WoSign
sed -e '/^# Certificate .*\(CNNIC\|China\|GDCA\|StartCom\|Symantec\|UCA\|WoSign\)/,/^CKA_TRUST_STEP_UP_APPROVED/d' \
-i security/nss/lib/ckfw/builtins/certdata.txt
# Remove further bad credit records for some CA issuers such as GDCA, UCA, vTrus and TrustCor
sed -e '/^# Certificate .*\(GDCA\|UCA\|vTrus\|TrustCor\)/,/^CKA_TRUST_STEP_UP_APPROVED/d' \
-i security/nss/lib/ckfw/builtins/certdata.txt
popd
# Install to /usr/lib/icedove-uxp
patch -p1 -i "$srcdir/0009-$pkgname-install-dir.patch"
# Adapt Icedove-UXP version to $pkgver
sed -i "s|MOZ_APP_VERSION[=]52[.]9[.].*|MOZ_APP_VERSION=52.9.${_pkgver//./}|
s|MOZ_APP_VERSION_DISPLAY[=]52[.]9[.].*|MOZ_APP_VERSION_DISPLAY=52.9.${_pkgver//./}|
" mail/confvars.sh
# Remove malfunctional searchplugins
rm mail/locales/en-US/searchplugins/{searx,searx-tor}.xml
patch -Np1 -i "$srcdir/0010-remove-malfunctional-searchplugins.patch"
# Load our build config
cp "$srcdir/mozconfig" .mozconfig
mkdir "$srcdir/path"
ln -s /usr/bin/tauthon "$srcdir/path/python"
}
build() {
cd "$srcdir/$pkgname-$_appver"
# _FORTIFY_SOURCE causes configure failures
CPPFLAGS+=" -O2"
# Hardening
LDFLAGS+=" -Wl,-z,now"
export PATH="$srcdir/path:$PATH"
if $_pgo; then
# Do PGO
xvfb-run -a -n 95 -s "-extension GLX -screen 0 1280x1024x24" \
make -f client.mk build MOZ_PGO=1
else
make -f client.mk build
fi
}
package() {
cd "$srcdir/$pkgname-$_appver"
make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install
install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 ../vendor.js "$pkgdir/usr/lib/$pkgname/defaults/preferences/vendor.js"
# Install Icedove-UXP menu icon
install -Dm644 mail/branding/${pkgname%-*}/${pkgname%-*}.xpm "$pkgdir/usr/share/pixmaps/$pkgname.xpm"
# Install Icedove-UXP icons
brandingdir=mail/branding/${pkgname%-*}/app-icons
icondir="$pkgdir/usr/share/icons/hicolor"
for i in 16 22 24 32 48 64 128 256; do
install -Dm644 "$brandingdir/${pkgname%-*}$i.png" \
"$icondir/${i}x${i}/apps/$pkgname.png"
done
install -Dm644 "$brandingdir/${pkgname%-*}big.svg" \
"$icondir/scalable/apps/$pkgname.svg"
# Install Icedove-UXP desktop
install -d "$pkgdir/usr/share/applications"
install -m644 "$srcdir/$pkgname.desktop" \
"$pkgdir/usr/share/applications"
# Use system-provided dictionaries
rm -rf "$pkgdir/usr/lib/$pkgname/"{dictionaries,hyphenation}
ln -s /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries"
ln -s /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation"
# Replace duplicate binary with symlink
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -sf $pkgname "$pkgdir/usr/lib/$pkgname/$pkgname-bin"
}

View File

@@ -0,0 +1,173 @@
[Desktop Entry]
Name=Icedove-UXP
Comment=Send and receive mail with Icedove-UXP
Comment[ast]=Lleer y escribir corréu electrónicu
Comment[ca]=Llegiu i escriviu correu
Comment[cs]=Čtení a psaní pošty
Comment[da]=Skriv/læs e-post/nyhedsgruppe med Icedove-UXP
Comment[de]=E-Mails und Nachrichten mit Icedove-UXP lesen und schreiben
Comment[el]=Διαβάστε και γράψτε γράμματα με το Icedove-UXP
Comment[es]=Lea y escriba correos y noticias con Icedove-UXP
Comment[fi]=Lue ja kirjoita sähköposteja
Comment[fr]=Lire et écrire des courriels
Comment[gl]=Lea e escriba correo electrónico
Comment[he]=קריאה/כתיבה של דוא״ל/חדשות באמצעות Icedove-UXP
Comment[hr]=Čitajte/šaljite e-poštu s Icedove-UXP
Comment[hu]=Levelek írása és olvasása a Icedove-UXP
Comment[it]=Per leggere e scrivere email
Comment[ja]=メールの読み書き
Comment[ko]=Icedove-UXP 메일/뉴스 읽기 및 쓰기 클라이언트
Comment[nl]=E-mail/nieuws lezen en schrijven met Icedove-UXP
Comment[pl]=Czytanie i wysyłanie e-maili
Comment[pt_BR]=Leia e escreva suas mensagens
Comment[ru]=Читайте и пишите письма
Comment[sk]=Čítajte a píšte poštu pomocou programu Icedove-UXP
Comment[sv]=Läs och skriv e-post
Comment[ug]=ئېلخەت ۋە خەۋەرلەرنى Icedove-UXP دا كۆرۈش ۋە يېزىش
Comment[uk]=Читання та написання листів
Comment[vi]=Đọc và soạn thư điện tử
Comment[zh_CN]=阅读邮件或新闻
Comment[zh_TW]=以 Icedove-UXP 讀寫郵件或新聞
GenericName=Mail Client
GenericName[ast]=Client de correu
GenericName[ca]=Client de correu
GenericName[cs]=Poštovní klient
GenericName[da]=E-postklient
GenericName[de]=E-Mail-Anwendung
GenericName[el]=Λογισμικό αλληλογραφίας
GenericName[es]=Cliente de correo
GenericName[fi]=Sähköpostiohjelma
GenericName[fr]=Client de messagerie
GenericName[gl]=Cliente de correo electrónico
GenericName[he]=לקוח דוא״ל
GenericName[hr]=Klijent e-pošte
GenericName[hu]=Levelezőkliens
GenericName[it]=Client email
GenericName[ja]=電子メールクライアント
GenericName[ko]=메일 클라이언트
GenericName[nl]=E-mailprogramma
GenericName[pl]=Klient poczty
GenericName[pt_BR]=Cliente de E-mail
GenericName[ru]=Почтовый клиент
GenericName[sk]=Poštový klient
GenericName[ug]=ئېلخەت دېتالى
GenericName[uk]=Поштова програма
GenericName[vi]=Phần mềm khách quản lý thư điện tử
GenericName[zh_CN]=邮件新闻客户端
GenericName[zh_TW]=郵件用戶端
Exec=icedove-uxp %u
Terminal=false
Type=Application
Icon=icedove-uxp
Categories=Network;Email;
MimeType=message/rfc822;x-scheme-handler/mailto;application/x-xpinstall;
StartupNotify=true
Actions=ComposeMessage;OpenAddressBook;
[Desktop Action ComposeMessage]
Name=Write new message
Name[ar]=اكتب رسالة جديدة
Name[ast]=Redactar mensaxe nuevu
Name[be]=Напісаць новы ліст
Name[bg]=Съставяне на ново съобщение
Name[br]=Skrivañ ur gemennadenn nevez
Name[ca]=Escriu un missatge nou
Name[cs]=Napsat novou zprávu
Name[da]=Skriv en ny meddelelse
Name[de]=Neue Nachricht verfassen
Name[el]=Σύνταξη νέου μηνύματος
Name[es_AR]=Escribir un nuevo mensaje
Name[es_ES]=Redactar nuevo mensaje
Name[et]=Kirjuta uus kiri
Name[eu]=Idatzi mezu berria
Name[fi]=Kirjoita uusi viesti
Name[fr]=Rédiger un nouveau message
Name[fy_NL]=Skriuw in nij berjocht
Name[ga_IE]=Scríobh teachtaireacht nua
Name[gd]=Sgrìobh teachdaireachd ùr
Name[gl]=Escribir unha nova mensaxe
Name[he]=כתיבת הודעה חדשה
Name[hr]=Piši novu poruku
Name[hu]=Új üzenet írása
Name[hy_AM]=Գրել նոր նամակ
Name[is]=SKrifa nýjan póst
Name[it]=Scrivi nuovo messaggio
Name[ja]=新しいメッセージを作成する
Name[ko]=새 메시지 작성
Name[lt]=Rašyti naują laišką
Name[nb_NO]=Skriv ny melding
Name[nl]=Nieuw bericht aanmaken
Name[nn_NO]=Skriv ny melding
Name[pl]=Nowa wiadomość
Name[pt_BR]=Nova mensagem
Name[pt_PT]=Escrever nova mensagem
Name[rm]=Scriver in nov messadi
Name[ro]=Scrie un mesaj nou
Name[ru]=Создать новое сообщение
Name[si]=නව ලිපියක් ලියන්න
Name[sk]=Nová e-mailová správa
Name[sl]=Sestavi novo sporočilo
Name[sq]=Shkruani mesazh të ri
Name[sr]=Писање нове поруке
Name[sv_SE]=Skriv ett nytt meddelande
Name[ta_LK]=புதிய செய்தியை எழுதுக
Name[tr]=Yeni ileti yaz
Name[uk]=Написати нового листа
Name[vi]=Viết thư mới
Name[zh_CN]=编写新消息
Name[zh_TW]=寫一封新訊息
Exec=icedove-uxp -compose
[Desktop Action OpenAddressBook]
Name=Open address book
Name[ar]=افتح دفتر العناوين
Name[ast]=Abrir llibreta de direiciones
Name[be]=Адкрыць адрасную кнігу
Name[bg]=Отваряне на адресник
Name[br]=Digeriñ ur c'harned chomlec'hioù
Name[ca]=Obre la llibreta d'adreces
Name[cs]=Otevřít Adresář
Name[da]=Åbn adressebog
Name[de]=Adressbuch öffnen
Name[el]=Άνοιγμα ευρετηρίου διευθύνσεων
Name[es_AR]=Abrir libreta de direcciones
Name[es_ES]=Abrir libreta de direcciones
Name[et]=Ava aadressiraamat
Name[eu]=Ireki helbide-liburua
Name[fi]=Avaa osoitekirja
Name[fr]=Ouvrir un carnet d'adresses
Name[fy_NL]=Iepenje adresboek
Name[ga_IE]=Oscail leabhar seoltaí
Name[gd]=Fosgail leabhar-sheòlaidhean
Name[gl]=Abrir a axenda de enderezos
Name[he]=פתיחת ספר כתובות
Name[hr]=Otvori adresar
Name[hu]=Címjegyzék megnyitása
Name[hy_AM]=Բացել Հասցեագիրքը
Name[is]=Opna nafnaskrá
Name[it]=Apri rubrica
Name[ja]=アドレス帳を開く
Name[ko]=주소록 열기
Name[lt]=Atverti adresų knygą
Name[nb_NO]=Åpne adressebok
Name[nl]=Adresboek openen
Name[nn_NO]=Opne adressebok
Name[pl]=Książka adresowa
Name[pt_BR]=Catálogo de endereços
Name[pt_PT]=Abrir livro de endereços
Name[rm]=Avrir il cudeschet d'adressas
Name[ro]=Deschide agenda de contacte
Name[ru]=Открыть адресную книгу
Name[si]=ලිපින පොත විවෘත කරන්න
Name[sk]=Otvoriť adresár
Name[sl]=Odpri adressar
Name[sq]=Hapni libër adresash
Name[sr]=Отвори адресар
Name[sv_SE]=Öppna adressboken
Name[ta_LK]=முகவரி பத்தகத்தை திறக்க
Name[tr]=Adres defterini aç
Name[uk]=Відкрити адресну книгу
Name[vi]=Mở sổ địa chỉ
Name[zh_CN]=打开通讯录
Name[zh_TW]=開啟通訊錄
Exec=icedove-uxp -addressbook

View File

@@ -0,0 +1,29 @@
post_install() {
echo '>>> !!!MANUAL UPGRADE REQUIRED FOR EXISTING PROFILES!!!'
echo '>>> ================================================================================='
echo '>>> The latest version of Icedove-UXP now uses its own profile directory.'
echo '>>> In order to use your existing mail profile, please rename "~/.mozilla/thunderbird"'
echo '>>> to "~/.hyperbola/icedove-uxp". e.g.:'
echo '>>> ---------------------------------------------------------------------------------'
echo '>>> mkdir -p ~/.hyperbola/icedove-uxp'
echo '>>> cp -a ~/.mozilla/thunderbird/* ~/.hyperbola/icedove-uxp'
echo '>>> ---------------------------------------------------------------------------------'
echo '>>> Once you have confirmed your profile is working in all installed application(s)'
echo '>>> you may remove the ~/.mozilla directory.'
}
post_upgrade() {
if (( $(vercmp $2 52.9.20190826-1) < 0 )); then
echo '>>> !!!MANUAL UPGRADE REQUIRED FOR EXISTING PROFILES!!!'
echo '>>> ================================================================================='
echo '>>> The latest version of Icedove-UXP now uses its own profile directory.'
echo '>>> In order to use your existing mail profile, please rename "~/.mozilla/thunderbird"'
echo '>>> to "~/.hyperbola/icedove-uxp". e.g.:'
echo '>>> ---------------------------------------------------------------------------------'
echo '>>> mkdir -p ~/.hyperbola/icedove-uxp'
echo '>>> cp -a ~/.mozilla/thunderbird/* ~/.hyperbola/icedove-uxp'
echo '>>> ---------------------------------------------------------------------------------'
echo '>>> Once you have confirmed your profile is working in all installed application(s)'
echo '>>> you may remove the ~/.mozilla directory.'
fi
}

42
icedove-uxp/mozconfig Normal file
View File

@@ -0,0 +1,42 @@
ac_add_options --enable-application=mail
ac_add_options --enable-calendar
ac_add_options --prefix=/usr
ac_add_options --enable-release
ac_add_options --enable-gold
ac_add_options --enable-pie
ac_add_options --enable-optimize="-O2"
# Icedove-UXP
ac_add_options --disable-safe-browsing
ac_add_options --disable-url-classifier
ac_add_options --disable-tests
# System libraries
#ac_add_options --with-system-nspr # keep disabled for stability
#ac_add_options --with-system-nss # keep disabled for stability
#ac_add_options --with-system-icu # keep disabled for stability
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
#ac_add_options --with-system-libvpx # keep disabled for freedom issues
ac_add_options --enable-system-hunspell
#ac_add_options --enable-system-sqlite # keep disabled for stability
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
# Disable bloat
ac_add_options --disable-necko-wifi
ac_add_options --disable-dbus
ac_add_options --disable-jack
ac_add_options --disable-pulseaudio
# Features
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-gconf
ac_add_options --disable-crashreporter
ac_add_options --disable-alsa
ac_add_options --enable-sndio
ac_add_options --disable-updater
# vim:set ft=sh:

26
icedove-uxp/vendor.js Normal file
View File

@@ -0,0 +1,26 @@
// Use LANG environment variable to choose locale
pref("intl.locale.matchOS", true);
// Disable default mailer checking.
pref("mail.shell.checkDefaultMail", false);
// Don't disable our bundled extensions in the application directory
pref("extensions.autoDisableScopes", 11);
pref("extensions.shownSelectionUI", true);
// Disable Social API for content
pref("social.remote-install.enabled", false);
pref("social.toast-notifications.enabled", false);
// Make sure that whitelisted and directory installs are empty
pref("social.whitelist", "");
pref("social.directories", "");
// Disable the GeoLocation API for content
pref("geo.enabled", false);
// Pointing the "Help -> What's new" menu entry to wiki.hyperbola.info
pref("mailnews.start_page.override_url", "https://wiki.hyperbola.info/doku.php?id=en:project:icedove-uxp");
// Enable sndio audio backend
pref("media.cubeb.backend", "sndio");