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,142 @@
From 4d4919ad99c2139d2c045ef4f1b2da857aeb5d06 Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Sun, 24 May 2020 00:23:06 -0400
Subject: [PATCH 03/12] Uplift enable-proxy-bypass-protection flag
---
build/moz.configure/old.configure | 1 +
extensions/gio/nsGIOProtocolHandler.cpp | 11 ++++++++---
netwerk/base/Tickler.h | 2 ++
old-configure.in | 13 +++++++++++++
toolkit/profile/nsProfileLock.cpp | 9 +++++++++
widget/gtk/nsFilePicker.cpp | 4 ++++
6 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
index 9568b4c88..0d7684118 100644
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -216,6 +216,7 @@ def old_configure_options(*options):
'--enable-precompiled-startupcache',
'--enable-pref-extensions',
'--enable-private-build',
+ '--enable-proxy-bypass-protection',
'--enable-pulseaudio',
'--enable-sndio',
'--enable-raw',
diff --git a/extensions/gio/nsGIOProtocolHandler.cpp b/extensions/gio/nsGIOProtocolHandler.cpp
index a378e8700..9adc38f80 100644
--- a/extensions/gio/nsGIOProtocolHandler.cpp
+++ b/extensions/gio/nsGIOProtocolHandler.cpp
@@ -929,10 +929,15 @@ nsGIOProtocolHandler::InitSupportedProtocolsPref(nsIPrefBranch *prefs)
if (NS_SUCCEEDED(rv)) {
mSupportedProtocols.StripWhitespace();
ToLowerCase(mSupportedProtocols);
+ } else {
+ mSupportedProtocols.AssignLiteral(
+#ifdef MOZ_PROXY_BYPASS_PROTECTION
+ "" // use none
+#else
+ "smb:,sftp:" // use defaults
+#endif
+ );
}
- else
- mSupportedProtocols.AssignLiteral("smb:,sftp:"); // use defaults
-
LOG(("gio: supported protocols \"%s\"\n", mSupportedProtocols.get()));
}
diff --git a/netwerk/base/Tickler.h b/netwerk/base/Tickler.h
index e38f0d99c..3c37250c9 100644
--- a/netwerk/base/Tickler.h
+++ b/netwerk/base/Tickler.h
@@ -31,7 +31,9 @@
#include "nsISupports.h"
#include <stdint.h>
+#if !defined(MOZ_PROXY_BYPASS_PROTECTION)
#ifdef MOZ_USE_WIFI_TICKLER
+#endif
#include "mozilla/Mutex.h"
#include "mozilla/TimeStamp.h"
#include "nsAutoPtr.h"
diff --git a/old-configure.in b/old-configure.in
index b3ac8c2f1..06c8eb3c6 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -2240,6 +2240,7 @@ MOZ_JETPACK=1
MOZ_DEVTOOLS_SERVER=1
MOZ_DEVTOOLS=
MOZ_PLACES=1
+MOZ_PROXY_BYPASS_PROTECTION=
MOZ_SECURITY_SQLSTORE=
MOZ_SERVICES_HEALTHREPORT=1
MOZ_SERVICES_SYNC=1
@@ -5054,6 +5055,18 @@ fi
AC_SUBST(MOZ_XUL)
+dnl ========================================================
+dnl enable proxy bypass protection
+dnl ========================================================
+MOZ_ARG_ENABLE_BOOL(proxy-bypass-protection,
+[ --enable-proxy-bypass-protection Enable proxy bypass protection],
+ MOZ_PROXY_BYPASS_PROTECTION=1,
+ MOZ_PROXY_BYPASS_PROTECTION=)
+if test -n "$MOZ_PROXY_BYPASS_PROTECTION"; then
+ AC_DEFINE(MOZ_PROXY_BYPASS_PROTECTION)
+fi
+AC_SUBST(MOZ_PROXY_BYPASS_PROTECTION)
+
dnl ========================================================
dnl necko configuration options
dnl ========================================================
diff --git a/toolkit/profile/nsProfileLock.cpp b/toolkit/profile/nsProfileLock.cpp
index d75b6082d..8400c26dc 100644
--- a/toolkit/profile/nsProfileLock.cpp
+++ b/toolkit/profile/nsProfileLock.cpp
@@ -316,6 +316,14 @@ nsresult nsProfileLock::LockWithSymlink(nsIFile *aLockFile, bool aHaveFcntlLock)
struct in_addr inaddr;
inaddr.s_addr = htonl(INADDR_LOOPBACK);
+ // Avoid a DNS lookup here with --enable-proxy-bypass-protection.
+ // Instead, always use 127.0.0.1 for the IP address portion
+ // of the lock signature, which may cause the browser to refuse to
+ // start in the rare event that all of the following conditions are met:
+ // 1. The browser profile is on a network file system.
+ // 2. The file system does not support fcntl() locking.
+ // 3. The browser is run from two different computers at the same time.
+#ifndef MOZ_PROXY_BYPASS_PROTECTION
char hostname[256];
PRStatus status = PR_GetSystemInfo(PR_SI_HOSTNAME, hostname, sizeof hostname);
if (status == PR_SUCCESS)
@@ -326,6 +334,7 @@ nsresult nsProfileLock::LockWithSymlink(nsIFile *aLockFile, bool aHaveFcntlLock)
if (status == PR_SUCCESS)
memcpy(&inaddr, hostent.h_addr, sizeof inaddr);
}
+#endif
char *signature =
PR_smprintf("%s:%s%lu", inet_ntoa(inaddr), aHaveFcntlLock ? "+" : "",
diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
index 05d8bb0f0..ff0034a1a 100644
--- a/widget/gtk/nsFilePicker.cpp
+++ b/widget/gtk/nsFilePicker.cpp
@@ -395,9 +395,13 @@ nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
}
void *file_chooser = GtkFileChooserNew(title.get(), parent_widget, action, accept_button);
+ // If we have --enable-proxy-bypass-protection, then don't allow
+ // remote URLs to be used.
+#ifndef MOZ_PROXY_BYPASS_PROTECTION
if (mAllowURLs) {
gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(file_chooser), FALSE);
}
+#endif
if (action == GTK_FILE_CHOOSER_ACTION_OPEN || action == GTK_FILE_CHOOSER_ACTION_SAVE) {
GtkWidget *img_preview = gtk_image_new();
--
2.25.2

View File

@@ -0,0 +1,57 @@
From 2e63d37d5c67acf638985f9f15d6608361de66e6 Mon Sep 17 00:00:00 2001
From: Gaming4JC <g4jc@hyperbola.info>
Date: Sat, 20 Jul 2019 22:48:03 -0400
Subject: [PATCH 04/12] 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 ad5ba1017..1a516eecc 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -1331,11 +1331,11 @@ DumpHelp()
#endif
#ifdef XP_UNIX
printf(" --g-fatal-warnings Make all warnings fatal.\n"
- "\n%s options\n", gAppData->name);
+ "\nIceweasel-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 Iceweasel-UXP version.\n"
" -P <profile> Start with <profile>.\n"
" --profile <path> Start with profile at <path>.\n"
#ifdef MC_BASILISK
@@ -1404,9 +1404,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 Iceweasel-UXP %s", gAppData->version);
if (gAppData->copyright)
printf(", %s", gAppData->copyright);
printf("\n");
@@ -3195,11 +3193,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("Iceweasel-UXP");
}
// Initialize GTK here for splash.
--
2.25.2

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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,822 @@
--- a/application/iceweasel-uxp/locales/search/list.json 2021-06-02 22:37:21.000000000 +0200
+++ b/application/iceweasel-uxp/locales/search/list.json 2024-11-19 16:21:54.220827326 +0100
@@ -1,7 +1,7 @@
{
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
},
"regionOverrides": {
@@ -10,693 +10,693 @@
"en-US": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ach": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"af": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"an": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ar": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"as": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ast": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"az": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"bg": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"bn-BD": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"bn-IN": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"br": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"bs": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ca": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"cak": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"cs": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"cy": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"da": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"de": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"dsb": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"el": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"en-GB": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"en-ZA": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"eo": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"es-AR": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"es-CL": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"es-ES": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"es-MX": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"et": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"eu": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"fa": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ff": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"fi": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"fr": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"fy-NL": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ga-IE": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"gd": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"gl": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"gn": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"gu-IN": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"he": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"hi-IN": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"hr": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"hsb": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"hu": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"hy-AM": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"id": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"is": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"it": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ja-JP-mac": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ja": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ka": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"kab": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"kk": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"km": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"kn": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ko": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"lij": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"lt": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ltg": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"lv": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"mai": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"mk": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ml": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"mr": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ms": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"my": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"nb-NO": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ne-NP": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"nl": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"nn-NO": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"or": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"pa-IN": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"pl": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"pt-BR": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"pt-PT": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"rm": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ro": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ru": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"si": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"sk": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"sl": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"son": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"sq": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"sr": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"sv-SE": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ta": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"te": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"th": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"tl": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"tr": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"uk": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"ur": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"uz": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"vi": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"wo": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"xh": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"zh-CN": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
},
"zh-TW": {
"default": {
"visibleDefaultEngines": [
- "searx", "searx-tor", "yacy", "gnusocial", "invidious", "invidious-tor", "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
+ "internet-archive", "wikipedia-en", "wikimedia-commons", "hyperbola-packages"
]
}
}
--- a/application/iceweasel-uxp/locales/en-US/chrome/browser-region/region.properties 2021-06-02 22:37:21.000000000 +0200
+++ b/application/iceweasel-uxp/locales/en-US/chrome/browser-region/region.properties 2024-11-19 16:24:25.930787059 +0100
@@ -3,9 +3,9 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Default search engine
-browser.search.defaultenginename=SearX
+browser.search.defaultenginename=Internet Archive
# 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=Internet Archive
+browser.search.order.2=Hyperbola Packages
+browser.search.order.3=Wikipedia (en)
\

View File

@@ -0,0 +1,13 @@
diff --git a/config/baseconfig.mk b/config/baseconfig.mk
index 47a12b1..1d9f262 100644
--- a/config/baseconfig.mk
+++ b/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

5473
iceweasel-uxp/LICENSE Normal file

File diff suppressed because it is too large Load Diff

188
iceweasel-uxp/PKGBUILD Normal file
View File

@@ -0,0 +1,188 @@
# Maintainer: Jesus E. <heckyel@riseup.net>
# Based on iceweasel-esr and basilisk packages
if [ "${CARCH}" = "i686" ]; then
_pgo=false
else
_pgo=true
fi
_pkgname=UXP
pkgname=iceweasel-uxp
_pkgver=2021.06.02
_appver=3.0
pkgver=52.9.${_pkgver//./}
pkgrel=5
pkgdesc="A new generation of Iceweasel, an XUL-based standalone web browser on the Unified XUL Platform (UXP)."
arch=(i686 x86_64)
license=(MPL-2.0)
depends=(ffmpeg gtk2 libevent libxt sndio hunspell)
makedepends=(autoconf-legacy diffutils xorg-imake mesa tauthon unzip yasm zip)
options=(!emptydirs !makeflags !strip debug)
if $_pgo; then
makedepends+=(xenocara-server-xvfb)
options+=(!ccache)
fi
optdepends=('speech-dispatcher: Text-to-Speech')
url="https://wiki.hyperbola.info/$pkgname"
replaces=('basilisk' 'firefox' 'firefox-esr' 'icecat' 'iceweasel' 'iceweasel-esr')
conflicts=('basilisk' 'firefox' 'firefox-esr' 'icecat' 'iceweasel' 'iceweasel-esr')
provides=('basilisk' 'firefox' 'firefox-esr' 'icecat' 'iceweasel' 'iceweasel-esr')
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-iceweasel-uxp-application-specfic-override.patch
0003-Uplift-enable-proxy-bypass-protection-flag.patch
0004-Hardcode-AppName-in-nsAppRunner.patch
0005-Disable-SSLKEYLOGFILE-in-NSS.patch
0006-Fix-PGO-Build.patch
# build bustage work-around
0007-init-configure-patch.patch
# libcubeb patch
0008-Update-libcubeb-to-a1200c34.patch
0009-Tauthon.patch
# Additional application patches
0010-remove-malfunctional-searchplugins.patch
0011-$pkgname-install-dir.patch)
sha512sums=('4513e30b38229654f1d02a6f4ba7914408d2169a95884560a9b1024a33fab5292dce41e113be2959fd2efbd8abd0763926352ee4362606a03700cb3ac53aeffa'
'f78df3239819b5be0887757fba3c1f9f422f2bd69299d76d15f2d5c71b3fe69492ac962a447e5b0fac2a0b3c03d77b72531dbde31399fe1e31a20e72ae7e0b2f'
'b81e56ff312d22a9c32a9719fa8dfb1b3d6a3c94bcf697aa77b0df62f440a82ed49684de8486993c38940af1ea6ade44f9d5dcdbc41450a7157a8c2081363c5c'
'42f0003895200da7a311226d6a14245c667a1ed1c643b7a2a0f2676d2b30e0881c6198909eead14777584bb6f81733205503e6a15c78ed581d39d5bfb6b95ec4'
'eea256d545108077f90d0351ec6e43029c1d687bf532795176504b8e35e17a68b45f78395126f32f091e54adfd9209b22d361e8d07085a0b2eaf5edd3ddcdb58'
'5b49d98ce0740ced95de8b8b39a886ee8bc5071302c4c20dbe0421b27dd1ff1aed13115819fc5fd8309745f91a94cf4c8038cf993c6237a536010185727cd7c9'
'45bb48b4d8436ef0d9535d3891848bafc3c80ff187597591533eab70a0b160eb2825c4856698e813e5858f8baaf9f054abbcd5ce6d2763a374ef3d1917952f27'
'21b137b200a3c2cd91ae6b80a704d1c82c03c590d7f6215135c7bf32a8d4c6ebf7526fe7ec52321e9a2513b11d18418d2aaddea4171a31a3c726a2e02b761118'
'140dec7c094c04a1180655136d85b0f921bb7461298ff1f5d02721373be838a732aeb9684550857574ce4d056f26873f28bd7e4371ee602dc73f64d0ff5ec1fe'
'23e1c095820165a3d35f10c0eb2e4e4cf62296bb8b16d18b9bf4aefadd641539a710bb4907285ac6e014a70d6986ac9c38ebe718d11fb3a8333770dcf153ffbd'
'4d87565a2ce99a135130fa4340f2f6ab29330d7b7e8eb40607c69951b6e807733e4dc2885bd0082c658605809103ac445d67849183ce1d5ed5aaf21dd412b1ef'
'787e271adba2f802737e381aa370331570b2d5254e05d524dc0dd1c941839f9e38a725964104c1e51ba41bb0d585b295eb864477bb66768b19646fb0815ffb9d'
'090773648376a996f03094309dd66c3b868a8923d544a02abc44eb8c374603e0126ae72182d9f6c9030fbddefc5d8cdd4d7ca7c817ac02bceb9fba6f3bb27f33'
'76f4bac91536785eadfc4bc5a220b586f34acbe36e22b16d65163c0bebf767740d1c65e0f86fe8db550749aa53736d1c735b78b879742834202d7ca9e01f98da'
'07a2e719c372efc56c595a70a7faebccbee80a15739ffc8da4a47e054f914b897f8998a83852d39840a223130b521f2b58328a547994cf58f7685afd6238e63f'
'e39f63f0f9adcdaf688b0d91030fb5aa2690ee8ccf97049b84f3bc19a61ba0ec09a3b61df2c15707674eb3aaf56e80fc2cb6709c3f6fbef3133c92f07faecb82'
'30d607ed2e6c0da75930a87191c4a703f47ca918bb33748bd5f62e3f7fd6846605b65aa1f3825da48bb9828188ef784fd3c953a0673c60a28dfa8a74a13195c1')
prepare() {
# Move our application into the Unified XUL Platform
cd "$srcdir/$_pkgname-$_pkgver"
mkdir -p application
mv "$srcdir/$pkgname-$_appver" application/$pkgname
# 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 Iceweasel-UXP application specific overrides to UXP
patch -p1 -i "$srcdir/0002-Add-iceweasel-uxp-application-specfic-override.patch"
# Uplift enable-proxy-bypass-protection flag
patch -p1 -i "$srcdir/0003-Uplift-enable-proxy-bypass-protection-flag.patch"
# Hardcode AppName in nsAppRunner
patch -p1 -i "$srcdir/0004-Hardcode-AppName-in-nsAppRunner.patch"
# Disable SSLKEYLOGFILE in NSS
patch -p1 -i "$srcdir/0005-Disable-SSLKEYLOGFILE-in-NSS.patch"
# Fix PGO build
patch -p1 -i "$srcdir/0006-Fix-PGO-Build.patch"
# Apply configure fix (Next release)
patch -p1 -i "$srcdir/0007-init-configure-patch.patch"
# Apply and update libcubeb for sndio support
patch -p1 -i "$srcdir/0008-Update-libcubeb-to-a1200c34.patch"
# Apply Tauthon patch instead of using Python
patch -p1 -i "$srcdir/0009-Tauthon.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
# Remove malfunctional searchplugins
patch -Np1 -i ${srcdir}/0010-remove-malfunctional-searchplugins.patch
rm "application/$pkgname/locales/searchplugins/"{gnusocial,invidious,invidious-tor,searx,searx-tor,yacy}.xml
# Install to /usr/lib/iceweasel-uxp
patch -p1 -i "$srcdir/0011-$pkgname-install-dir.patch"
# Adapt Iceweasel-UXP version to $pkgver
sed -i "s|52.9.0_YYYYMMDD|52.9.YYYYMMDD|
s|MOZ_APP_VERSION[=]52[.]9[.].*|MOZ_APP_VERSION=52.9.${_pkgver//./}|
s|MOZ_APP_VERSION_DISPLAY[=].*date.*|MOZ_APP_VERSION_DISPLAY=${_pkgver//./}|
" application/$pkgname/confvars.sh
# Add missing versionField.textContent in aboutDialog.js
sed -i 's|let version [=] Services[.]appinfo[.]version[;]|let version = Services.appinfo.version;\n versionField.textContent = version;|' application/$pkgname/base/content/aboutDialog.js
# Load our build config
cp "$srcdir/mozconfig" .mozconfig
mkdir "$srcdir/path"
ln -s /usr/bin/tauthon "$srcdir/path/python"
}
build() {
cd "$srcdir/$_pkgname-$_pkgver"
# _FORTIFY_SOURCE causes configure failures
CPPFLAGS+=" -O2"
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-$_pkgver"
make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install
install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 "$srcdir/vendor.js" "$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
for i in 16 32 48; do
install -Dm644 application/$pkgname/branding/${pkgname%-*}/default$i.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
done
install -Dm644 application/$pkgname/branding/${pkgname%-*}/content/icon64.png \
"$pkgdir/usr/share/icons/hicolor/64x64/apps/$pkgname.png"
install -Dm644 application/$pkgname/branding/${pkgname%-*}/content/about-logo.png \
"$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
install -Dm644 application/$pkgname/branding/${pkgname%-*}/content/about-logo@2x.png \
"$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png"
install -Dm644 "$srcdir/$pkgname.desktop" \
"$pkgdir/usr/share/applications/$pkgname.desktop"
# 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"
rm "$pkgdir/usr/bin/$pkgname"
ln -srf "$pkgdir/usr/lib/$pkgname/$pkgname" \
"$pkgdir/usr/bin/$pkgname"
}

View File

@@ -0,0 +1,310 @@
[Desktop Entry]
Version=1.0
Name=Iceweasel-UXP
GenericName=Web Browser
GenericName[ar]=متصفح وِب
GenericName[ast]=Restolador Web
GenericName[bn]=ওয়েব ব্রাউজার
GenericName[ca]=Navegador web
GenericName[cs]=Webový prohlížeč
GenericName[da]=Webbrowser
GenericName[de]=Webbrowser
GenericName[el]=Περιηγητής διαδικτύου
GenericName[es]=Navegador web
GenericName[et]=Veebibrauser
GenericName[fa]=مرورگر اینترنتی
GenericName[fi]=WWW-selain
GenericName[fr]=Navigateur Web
GenericName[gl]=Navegador Web
GenericName[he]=דפדפן אינטרנט
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
GenericName[it]=Browser Web
GenericName[ja]=ウェブ・ブラウザ
GenericName[ko]=웹 브라우저
GenericName[ku]=Geroka torê
GenericName[lt]=Interneto naršyklė
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[nn]=Nettlesar
GenericName[no]=Nettleser
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[ro]=Navigator Internet
GenericName[ru]=Веб-браузер
GenericName[sk]=Internetový prehliadač
GenericName[sl]=Spletni brskalnik
GenericName[sv]=Webbläsare
GenericName[tr]=Web Tarayıcı
GenericName[ug]=توركۆرگۈ
GenericName[uk]=Веб-браузер
GenericName[vi]=Trình duyệt Web
GenericName[zh_CN]=网络浏览器
GenericName[zh_TW]=網路瀏覽器
Comment=Browse the Web
Comment[ar]=تصفح الوِب
Comment[ast]=Restola pela Rede
Comment[bn]=ইন্টারনেট ব্রাউজ করুন
Comment[ca]=Navegueu per el web
Comment[cs]=Prohlížení stránek World Wide Webu
Comment[da]=Surf på internettet
Comment[de]=Im Internet surfen
Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
Comment[es]=Navegue por la web
Comment[et]=Lehitse veebi
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
Comment[fi]=Selaa Internetin WWW-sivuja
Comment[fr]=Naviguer sur le Web
Comment[gl]=Navegar pola rede
Comment[he]=גלישה ברחבי האינטרנט
Comment[hr]=Pretražite web
Comment[hu]=A világháló böngészése
Comment[it]=Esplora il web
Comment[ja]=ウェブを閲覧します
Comment[ko]=웹을 돌아 다닙니다
Comment[ku]=Li torê bigere
Comment[lt]=Naršykite internete
Comment[nb]=Surf på nettet
Comment[nl]=Verken het internet
Comment[nn]=Surf på nettet
Comment[no]=Surf på nettet
Comment[pl]=Przeglądanie stron WWW
Comment[pt]=Navegue na Internet
Comment[pt_BR]=Navegue na Internet
Comment[ro]=Navigați pe Internet
Comment[ru]=Доступ в Интернет
Comment[sk]=Prehliadanie internetu
Comment[sl]=Brskajte po spletu
Comment[sv]=Surfa på webben
Comment[tr]=İnternet'te Gezinin
Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
Comment[uk]=Перегляд сторінок Інтернету
Comment[vi]=Để duyệt các trang web
Comment[zh_CN]=浏览互联网
Comment[zh_TW]=瀏覽網際網路
Exec=iceweasel-uxp %u
Icon=iceweasel-uxp
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=New Window
Name[ach]=Dirica manyen
Name[af]=Nuwe venster
Name[an]=Nueva finestra
Name[ar]=نافذة جديدة
Name[as]=নতুন উইন্ডো
Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn_BD]=নতুন উইন্ডো (N)
Name[bn_IN]=নতুন উইন্ডো
Name[br]=Prenestr nevez
Name[brx]=गोदान उइन्ड'(N)
Name[bs]=Novi prozor
Name[ca]=Finestra nova
Name[cak]=K'ak'a' tzuwäch
Name[cs]=Nové okno
Name[cy]=Ffenestr Newydd
Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[dsb]=Nowe wokno
Name[el]=Νέο παράθυρο
Name[en_GB]=New Window
Name[en_US]=New Window
Name[en_ZA]=New Window
Name[eo]=Nova fenestro
Name[es_AR]=Nueva ventana
Name[es_CL]=Nueva ventana
Name[es_ES]=Nueva ventana
Name[es_MX]=Nueva ventana
Name[et]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fy_NL]=Nij finster
Name[ga_IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu_IN]=નવી વિન્ડો
Name[he]=חלון חדש
Name[hi_IN]=नया विंडो
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
Name[hy_AM]=Նոր Պատուհան
Name[id]=Jendela Baru
Name[is]=Nýr gluggi
Name[it]=Nuova finestra
Name[ja]=新しいウィンドウ
Name[ja_JP-mac]=新規ウインドウ
Name[ka]=ახალი ფანჯარა
Name[kk]=Жаңа терезе
Name[km]=បង្អួចថ្មី
Name[kn]=ಹೊಸ ಕಿಟಕಿ
Name[ko]=새 창
Name[kok]=नवें जनेल
Name[ks]=نئئ وِنڈو
Name[lij]=Neuvo barcon
Name[lo]=ຫນ້າຕ່າງໃຫມ່
Name[lt]=Naujas langas
Name[ltg]=Jauns lūgs
Name[lv]=Jauns logs
Name[mai]=नव विंडो
Name[mk]=Нов прозорец
Name[ml]=പുതിയ ജാലകം
Name[mr]=नवीन पटल
Name[ms]=Tetingkap Baru
Name[my]=ဝင်းဒိုးအသစ်
Name[nb_NO]=Nytt vindu
Name[ne_NP]=नयाँ सञ्झ्याल
Name[nl]=Nieuw venster
Name[nn_NO]=Nytt vindauge
Name[or]=ନୂତନ ୱିଣ୍ଡୋ
Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
Name[pl]=Nowe okno
Name[pt_BR]=Nova janela
Name[pt_PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
Name[sat]=नावा विंडो (N)
Name[si]=නව කවුළුවක්
Name[sk]=Nové okno
Name[sl]=Novo okno
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv_SE]=Nytt fönster
Name[ta]=புதிய சாளரம்
Name[te]=కొత్త విండో
Name[th]=หน้าต่างใหม่
Name[tr]=Yeni pencere
Name[tsz]=Eraatarakua jimpani
Name[uk]=Нове вікно
Name[ur]=نیا دریچہ
Name[uz]=Yangi oyna
Name[vi]=Cửa sổ mới
Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
Exec=iceweasel-uxp --new-window %u
[Desktop Action new-private-window]
Name=New Private Window
Name[ach]=Dirica manyen me mung
Name[af]=Nuwe privaatvenster
Name[an]=Nueva finestra privada
Name[ar]=نافذة خاصة جديدة
Name[as]=নতুন ব্যক্তিগত উইন্ডো
Name[ast]=Ventana privada nueva
Name[az]=Yeni Məxfi Pəncərə
Name[be]=Новае акно адасаблення
Name[bg]=Нов прозорец за поверително сърфиране
Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
Name[br]=Prenestr merdeiñ prevez nevez
Name[brx]=गोदान प्राइभेट उइन्ड'
Name[bs]=Novi privatni prozor
Name[ca]=Finestra privada nova
Name[cak]=K'ak'a' ichinan tzuwäch
Name[cs]=Nové anonymní okno
Name[cy]=Ffenestr Breifat Newydd
Name[da]=Nyt privat vindue
Name[de]=Neues privates Fenster
Name[dsb]=Nowe priwatne wokno
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
Name[en_GB]=New Private Window
Name[en_US]=New Private Window
Name[en_ZA]=New Private Window
Name[eo]=Nova privata fenestro
Name[es_AR]=Nueva ventana privada
Name[es_CL]=Nueva ventana privada
Name[es_ES]=Nueva ventana privada
Name[es_MX]=Nueva ventana privada
Name[et]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy_NL]=Nij priveefinster
Name[ga_IE]=Fuinneog Nua Phríobháideach
Name[gd]=Uinneag phrìobhaideach ùr
Name[gl]=Nova xanela privada
Name[gn]=Ovetã ñemi pyahu
Name[gu_IN]=નવી ખાનગી વિન્ડો
Name[he]=חלון פרטי חדש
Name[hi_IN]=नयी निजी विंडो
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
Name[hy_AM]=Սկսել Գաղտնի դիտարկում
Name[id]=Jendela Mode Pribadi Baru
Name[is]=Nýr huliðsgluggi
Name[it]=Nuova finestra anonima
Name[ja]=新しいプライベートウィンドウ
Name[ja_JP-mac]=新規プライベートウインドウ
Name[ka]=ახალი პირადი ფანჯარა
Name[kk]=Жаңа жекелік терезе
Name[km]=បង្អួចឯកជនថ្មី
Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
Name[ko]=새 사생활 보호 모드
Name[kok]=नवो खाजगी विंडो
Name[ks]=نْو پرایوٹ وینڈو
Name[lij]=Nêuvo barcón privòu
Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
Name[lt]=Naujas privataus naršymo langas
Name[ltg]=Jauns privatais lūgs
Name[lv]=Jauns privātais logs
Name[mai]=नया निज विंडो (W)
Name[mk]=Нов приватен прозорец
Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
Name[mr]=नवीन वैयक्तिक पटल
Name[ms]=Tetingkap Persendirian Baharu
Name[my]=New Private Window
Name[nb_NO]=Nytt privat vindu
Name[ne_NP]=नयाँ निजी सञ्झ्याल
Name[nl]=Nieuw privévenster
Name[nn_NO]=Nytt privat vindauge
Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
Name[pl]=Nowe okno prywatne
Name[pt_BR]=Nova janela privativa
Name[pt_PT]=Nova janela privada
Name[rm]=Nova fanestra privata
Name[ro]=Fereastră privată nouă
Name[ru]=Новое приватное окно
Name[sat]=नावा निजेराक् विंडो (W )
Name[si]=නව පුද්ගලික කවුළුව (W)
Name[sk]=Nové okno v režime Súkromné prehliadanie
Name[sl]=Novo zasebno okno
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватан прозор
Name[sv_SE]=Nytt privat fönster
Name[ta]=புதிய தனிப்பட்ட சாளரம்
Name[te]=కొత్త ఆంతరంగిక విండో
Name[th]=หน้าต่างส่วนตัวใหม่
Name[tr]=Yeni gizli pencere
Name[tsz]=Juchiiti eraatarakua jimpani
Name[uk]=Приватне вікно
Name[ur]=نیا نجی دریچہ
Name[uz]=Yangi maxfiy oyna
Name[vi]=Cửa sổ riêng tư mới
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=新建隐私浏览窗口
Name[zh_TW]=新增隱私視窗
Exec=iceweasel-uxp --private-window %u

View File

@@ -0,0 +1,29 @@
post_install() {
echo '>>> !!!MANUAL UPGRADE REQUIRED FOR EXISTING PROFILES!!!'
echo '>>> ================================================================================='
echo '>>> The latest version of Iceweasel-UXP now uses its own profile directory.'
echo '>>> In order to use your existing browser profile, please rename "~/.mozilla/firefox"'
echo '>>> to "~/.hyperbola/iceweasel-uxp". e.g.:'
echo '>>> ---------------------------------------------------------------------------------'
echo '>>> mkdir -p ~/.hyperbola/iceweasel-uxp'
echo '>>> cp -a ~/.mozilla/firefox/* ~/.hyperbola/iceweasel-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 Iceweasel-UXP now uses its own profile directory.'
echo '>>> In order to use your existing browser profile, please rename "~/.mozilla/firefox"'
echo '>>> to "~/.hyperbola/iceweasel-uxp". e.g.:'
echo '>>> ---------------------------------------------------------------------------------'
echo '>>> mkdir -p ~/.hyperbola/iceweasel-uxp'
echo '>>> cp -a ~/.mozilla/firefox/* ~/.hyperbola/iceweasel-uxp'
echo '>>> ---------------------------------------------------------------------------------'
echo '>>> Once you have confirmed your profile is working in all installed application(s)'
echo '>>> you may remove the ~/.mozilla directory.'
fi
}

61
iceweasel-uxp/mozconfig Normal file
View File

@@ -0,0 +1,61 @@
ac_add_options --prefix=/usr
ac_add_options --enable-release
ac_add_options --enable-gold
ac_add_options --enable-pie
# Iceweasel-UXP
ac_add_options --enable-application=application/iceweasel-uxp
ac_add_options --disable-official-branding
ac_add_options --with-branding=application/iceweasel-uxp/branding/iceweasel
export MOZILLA_OFFICIAL=0
export MOZ_TELEMETRY_REPORTING=0
export MOZ_ADDON_SIGNING=1
export MOZ_REQUIRE_SIGNING=0
# Disable bloat
ac_add_options --disable-safe-browsing
ac_add_options --disable-url-classifier
ac_add_options --disable-eme
#ac_add_options --disable-webspeech
#ac_add_options --disable-webspeechtestbackend
ac_add_options --disable-mozril-geoloc
ac_add_options --disable-nfc
ac_add_options --disable-synth-pico
ac_add_options --disable-gamepad
ac_add_options --disable-startup-notification
ac_add_options --disable-tests
ac_add_options --disable-necko-wifi
ac_add_options --disable-dbus
ac_add_options --disable-userinfo
ac_add_options --disable-sync
ac_add_options --disable-pulseaudio
# 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
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --with-system-libevent
#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
# Features
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-gconf
ac_add_options --enable-proxy-bypass-protection
ac_add_options --disable-crashreporter
ac_add_options --disable-alsa
ac_add_options --enable-sndio
ac_add_options --disable-updater
STRIP_FLAGS="--strip-debug"
# Other
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir
# vim:set ft=sh:

277
iceweasel-uxp/vendor.js Normal file
View File

@@ -0,0 +1,277 @@
// Use LANG environment variable to choose locale
pref("intl.locale.matchOS", true);
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);
// Don't disable our bundled extensions in the application directory
pref("extensions.autoDisableScopes", 11);
pref("extensions.shownSelectionUI", true);
// Opt all of us into e10s, instead of just 50% (Disabled) https://bugzilla.mozilla.org/show_bug.cgi?id=1371886
// pref("browser.tabs.remote.autostart", true);
// Disable "alt" as a shortcut key to open full menu bar. Conflicts with "alt" as a modifier
pref("ui.key.menuAccessKeyFocuses", false);
// Disable the GeoLocation API for content
pref("geo.enabled", false);
// Make sure that the request URL of the GeoLocation backend is empty
pref("geo.wifi.uri", "");
// Disable Freedom Violating DRM Feature
pref("browser.eme.ui.enabled", false);
// EME
pref("media.eme.enabled", false);
pref("media.eme.apiVisible", false);
// Google Widevine DRM
// https://blog.mozilla.org/futurereleases/2016/04/08/mozilla-to-test-widevine-cdm-in-firefox-nightly/
// https://wiki.mozilla.org/QA/Widevine_CDM
// https://bugzilla.mozilla.org/show_bug.cgi?id=1288580
pref("media.gmp-widevinecdm.visible", false);
pref("media.gmp-widevinecdm.enabled", false);
pref("media.gmp-widevinecdm.autoupdate", false);
// Default to classic view for about:newtab
pref("browser.newtabpage.enhanced", false);
// Poodle attack
pref("security.tls.version.min", 1);
// Don't call home for blacklisting
pref("extensions.blocklist.enabled", false);
// Disable plugin installer
pref("plugins.hide_infobar_for_missing_plugin", true);
pref("plugins.hide_infobar_for_outdated_plugin", true);
pref("plugins.notifyMissingFlash", false);
//https://developer.mozilla.org/en-US/docs/Web/API/MediaSource
//pref("media.mediasource.enabled",true);
// Speeding it up
pref("network.http.pipelining", true);
pref("network.http.proxy.pipelining", true);
pref("network.http.pipelining.maxrequests", 10);
pref("nglayout.initialpaint.delay", 0);
// Disable third party cookies
pref("network.cookie.cookieBehavior", 1);
// Prevent EULA dialog to popup on first run
pref("browser.EULA.override", true);
// Spoof the useragent to a generic one
//pref("general.useragent.compatMode.firefox", false);
// Spoof the useragent to a generic one for user experience and privacy
pref("general.useragent.override", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0");
pref("general.appname.override", "Netscape");
pref("general.appversion.override", "5.0 (Windows)");
pref("general.buildID.override", "Gecko/20100101");
pref("general.oscpu.override", "Windows NT 10.0");
pref("general.platform.override", "Win64");
// Privacy & Freedom Issues
// https://webdevelopmentaid.wordpress.com/2013/10/21/customize-privacy-settings-in-mozilla-firefox-part-1-aboutconfig/
// https://panopticlick.eff.org
// http://ip-check.info
// http://browserspy.dk
// https://wiki.mozilla.org/Fingerprinting
// http://www.browserleaks.com
// http://fingerprint.pet-portal.eu
pref("privacy.donottrackheader.enabled", true);
pref("privacy.donottrackheader.value", 1);
pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
// Disable navigator.sendBeacon() tracking
// https://matomo.org/faq/how-to/faq_33087/
pref("beacon.enabled", false);
// CIS 2.1.1 Disable Auto Update / Balrog
pref("app.update.auto", false);
pref("app.update.checkInstallTime", false);
pref("app.update.enabled", false);
pref("app.update.staging.enabled", false);
pref("app.update.url", "about:blank");
pref("media.gmp-manager.certs.1.commonName", "");
pref("media.gmp-manager.certs.2.commonName", "");
// Disable Gecko media plugins: https://wiki.mozilla.org/GeckoMediaPlugins
pref("media.gmp-manager.url", "http://127.0.0.1/");
pref("media.gmp-manager.url.override", "data:text/plain,");
pref("media.gmp-provider.enabled", false);
// Don't install openh264 codec
pref("media.gmp-gmpopenh264.enabled", false);
pref("media.gmp-eme-adobe.enabled", false);
pref("media.peerconnection.video.h264_enabled", false);
// CIS 2.3.4 Block Reported Web Forgeries
// http://kb.mozillazine.org/Browser.safebrowsing.enabled
// http://kb.mozillazine.org/Safe_browsing
// https://support.mozilla.org/en-US/kb/how-does-phishing-and-malware-protection-work
// http://forums.mozillazine.org/viewtopic.php?f=39&t=2711237&p=12896849#p12896849
pref("browser.safebrowsing.enabled", false);
// CIS 2.3.5 Block Reported Attack Sites
// http://kb.mozillazine.org/Browser.safebrowsing.malware.enabled
pref("browser.safebrowsing.malware.enabled", false);
// Disable safe browsing remote lookups for downloaded files.
// This leaks information to google.
// https://www.mozilla.org/en-US/firefox/39.0/releasenotes/
// https://wiki.mozilla.org/Security/Application_Reputation
pref("browser.safebrowsing.downloads.remote.enabled", false);
pref("browser.safebrowsing.appRepURL", "about:blank");
pref("browser.safebrowsing.provider.mozilla.gethashURL", "about:blank");
pref("browser.safebrowsing.provider.mozilla.updateURL", "about:blank");
pref("browser.safebrowsing.downloads.remote.block_dangerous", false);
pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false);
pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
pref("browser.safebrowsing.downloads.remote.block_uncommon", false);
pref("browser.safebrowsing.downloads.remote.enabled", false);
pref("browser.safebrowsing.downloads.remote.url", "about:blank");
pref("browser.safebrowsing.provider.google.pver", "about:blank");
pref("browser.safebrowsing.provider.google.reportURL", "about:blank");
pref("browser.safebrowsing.provider.google.gethashURL", "about:blank");
pref("browser.safebrowsing.provider.google.updateURL", "about:blank");
pref("browser.safebrowsing.provider.google.lists", "about:blank");
// https://bugzilla.mozilla.org/show_bug.cgi?id=1025965
pref("browser.safebrowsing.phishing.enabled", false);
pref("browser.safebrowsing.provider.google4.lists", "about:blank");
pref("browser.safebrowsing.provider.google4.updateURL", "about:blank");
pref("browser.safebrowsing.provider.google4.gethashURL", "about:blank");
pref("browser.safebrowsing.provider.google4.pver", "about:blank");
pref("browser.safebrowsing.provider.google4.reportURL", "about:blank");
pref("browser.safebrowsing.provider.mozilla.lists", "about:blank");
// Disable Microsoft Family Safety MiTM support
// https://bugzilla.mozilla.org/show_bug.cgi?id=1239166
// https://wiki.mozilla.org/SecurityEngineering/Untrusted_Certificates_in_Windows_Child_Mode
// https://hg.mozilla.org/releases/mozilla-release/file/ddb37c386bb2ffa180117b4d30ca3b41a8af233c/security/manager/ssl/nsNSSComponent.cpp#l782
pref("security.family_safety.mode", 0);
// https://bugzilla.mozilla.org/show_bug.cgi?id=1265113
// https://hg.mozilla.org/releases/mozilla-release/rev/d9659c22b3c5
// https://bugzilla.mozilla.org/show_bug.cgi?id=1298883
pref("security.enterprise_roots.enabled", false);
//pref("services.sync.privacyURL", "https://www.gnu.org/software/gnuzilla/");
pref("social.enabled", false);
pref("social.remote-install.enabled", false);
pref("datareporting.healthreport.uploadEnabled", false);
pref("datareporting.healthreport.about.reportUrl", "127.0.0.1");
pref("datareporting.healthreport.documentServerURI", "127.0.0.1");
pref("healthreport.uploadEnabled", false);
pref("social.toast-notifications.enabled", false);
pref("datareporting.policy.dataSubmissionEnabled", false);
pref("datareporting.healthreport.service.enabled", false);
pref("browser.slowStartup.notificationDisabled", true);
pref("network.http.sendRefererHeader", 2);
//pref("network.http.referer.spoofSource", true);
//http://grack.com/blog/2010/01/06/3rd-party-cookies-dom-storage-and-privacy/
//pref("dom.storage.enabled", false);
pref("dom.event.clipboardevents.enabled",false);
pref("network.prefetch-next", false);
pref("network.dns.disablePrefetch", true);
pref("network.http.sendSecureXSiteReferrer", false);
pref("toolkit.telemetry.enabled", false);
pref("toolkit.telemetry.unified", false);
// Do not tell what plugins do we have enabled: https://mail.mozilla.org/pipermail/firefox-dev/2013-November/001186.html
pref("plugins.enumerable_names", "");
pref("plugin.state.flash", 0);
// Do not autoupdate search engines
pref("browser.search.update", false);
// Warn when the page tries to redirect or refresh
//pref("accessibility.blockautorefresh", true);
pref("dom.battery.enabled", false);
pref("device.sensors.enabled", false);
pref("camera.control.face_detection.enabled", false);
pref("camera.control.autofocus_moving_callback.enabled", false);
pref("network.http.speculative-parallel-limit", 0);
// No search suggestions
pref("browser.urlbar.userMadeSearchSuggestionsChoice", true);
pref("browser.search.suggest.enabled", false);
// WebRTC
pref("media.peerconnection.enabled", false);
pref("media.peerconnection.ice.default_address_only", true);
pref("font.default.x-western", "sans-serif");
// Preferences for the Get Add-ons panel and search engines
pref("extensions.webservice.discoverURL", "https://iw.addons.hyperbola.info");
pref("extensions.getAddons.search.url", "https://iw.addons.hyperbola.info");
pref("browser.search.searchEnginesURL", "https://iw.addons.hyperbola.info");
// Mobile
pref("privacy.announcements.enabled", false);
pref("browser.snippets.enabled", false);
pref("browser.snippets.syncPromo.enabled", false);
pref("identity.mobilepromo.android", "https://f-droid.org/repository/browse/?fdid=org.gnu.icecat&");
pref("browser.snippets.geoUrl", "http://127.0.0.1/");
pref("browser.snippets.updateUrl", "http://127.0.0.1/");
pref("browser.snippets.statsUrl", "http://127.0.0.1/");
pref("datareporting.policy.firstRunTime", 0);
pref("datareporting.policy.dataSubmissionPolicyVersion", 2);
pref("browser.webapps.checkForUpdates", 0);
pref("browser.webapps.updateCheckUrl", "http://127.0.0.1/");
pref("app.faqURL", "http://libreplanet.org/wiki/Group:IceCat/FAQ");
// Geolocation depends on third party services
pref("geo.enabled", false);
pref("geo.wifi.uri", "");
// Disable heartbeat
pref("browser.selfsupport.url", "");
// Disable Link to FireFox Marketplace, currently loaded with non-free "apps"
pref("browser.apps.URL", "");
// Use old style preferences, that allow javascript to be disabled
pref("browser.preferences.inContent",false);
// Don't download ads for the newtab page
pref("browser.newtabpage.directory.source", "");
pref("browser.newtabpage.directory.ping", "");
pref("browser.newtabpage.introShown", true);
// Disable home snippets
pref("browser.aboutHomeSnippets.updateUrl", "data:text/html");
// Disable hardware acceleration and WebGL
//pref("layers.acceleration.disabled", false);
pref("webgl.disabled", false);
// Disable SSDP
pref("browser.casting.enabled", false);
// Do not require xpi extensions to be signed by Mozilla
pref("xpinstall.signatures.required", false);
// Disable File and Directory Entries API (Imported from Edge/Chromium)
// https://developer.mozilla.org/en-US/Firefox/Releases/50#Files_and_directories
// https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API
// https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API/Introduction
// https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API/Firefox_support
// https://bugzilla.mozilla.org/show_bug.cgi?id=1265767
pref("dom.webkitBlink.filesystem.enabled", false);
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
// https://bugzilla.mozilla.org/show_bug.cgi?id=1258489
// https://hg.mozilla.org/releases/mozilla-release/rev/133af19777be
pref("dom.webkitBlink.dirPicker.enabled", false);
// Directory Upload API, webkitdirectory
// https://bugzilla.mozilla.org/show_bug.cgi?id=1188880
// https://bugzilla.mozilla.org/show_bug.cgi?id=907707
// https://wicg.github.io/directory-upload/proposal.html
pref("dom.input.dirpicker", false);
// Disable Captive Portal
pref("network.captive-portal-service.enabled", false);
// Disable Media Capture and Streams API (Media Streams)
pref("media.navigator.enabled", false);
// Enable sndio audio backend
pref("media.cubeb.backend", "sndio");