diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2018-07-19 00:00:51 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2018-07-19 00:00:51 +0000 |
commit | 29145c76beecf4766959022ab9fc0fb1880561a1 (patch) | |
tree | 4572e087e9d0e8ed179a8053877c780942a72cfa /mail/thunderbird/files/patch-z-bug517422 | |
parent | mail/thunderbird: drop patches in preparation for update (diff) |
mail/thunderbird: update to 60.0
Changes: https://www.mozilla.org/thunderbird/60.0/releasenotes/
PR: 228477
Differential Revision: https://reviews.freebsd.org/D15565
Notes
Notes:
svn path=/head/; revision=474921
Diffstat (limited to 'mail/thunderbird/files/patch-z-bug517422')
-rw-r--r-- | mail/thunderbird/files/patch-z-bug517422 | 496 |
1 files changed, 496 insertions, 0 deletions
diff --git a/mail/thunderbird/files/patch-z-bug517422 b/mail/thunderbird/files/patch-z-bug517422 new file mode 100644 index 000000000000..9b041089be3f --- /dev/null +++ b/mail/thunderbird/files/patch-z-bug517422 @@ -0,0 +1,496 @@ +# Allow more config/external/ libs built against system-wide version. + +diff --git build/moz.configure/old.configure build/moz.configure/old.configure +index d0fe7accffe6..c46bdd023225 100644 +--- build/moz.configure/old.configure ++++ build/moz.configure/old.configure +@@ -285,7 +285,12 @@ def old_configure_options(*options): + '--with-system-libvpx', + '--with-system-nspr', + '--with-system-nss', ++ '--with-system-ogg', + '--with-system-png', ++ '--with-system-soundtouch', ++ '--with-system-theora', ++ '--with-system-tremor', ++ '--with-system-vorbis', + '--with-system-zlib', + '--with-thumb', + '--with-thumb-interwork', +diff --git config/external/moz.build config/external/moz.build +index 029ff8504795..2c3a40caa1ba 100644 +--- config/external/moz.build ++++ config/external/moz.build +@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2'] + + external_dirs += ['modules/xz-embedded'] + +-if CONFIG['MOZ_VORBIS']: ++if not CONFIG['MOZ_SYSTEM_OGG']: ++ external_dirs += ['media/libogg'] ++ ++if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']: + external_dirs += ['media/libvorbis'] + +-if CONFIG['MOZ_TREMOR']: ++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']: + external_dirs += ['media/libtremor'] + ++if not CONFIG['MOZ_SYSTEM_THEORA']: ++ external_dirs += ['media/libtheora'] ++ ++if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: ++ external_dirs += ['media/libsoundtouch'] ++ + if CONFIG['MOZ_WEBM_ENCODER']: + external_dirs += ['media/libmkv'] + +@@ -51,11 +60,8 @@ external_dirs += [ + 'media/kiss_fft', + 'media/libcubeb', + 'media/libnestegg', +- 'media/libogg', + 'media/libopus', +- 'media/libtheora', + 'media/libspeex_resampler', +- 'media/libsoundtouch', + 'media/mp4parse-rust', + 'media/psshparser' + ] +diff --git config/system-headers.mozbuild config/system-headers.mozbuild +index 09d3db5ca8c0..c6533b84c470 100644 +--- config/system-headers.mozbuild ++++ config/system-headers.mozbuild +@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + 'harfbuzz/hb.h', + ] + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ system_headers += [ ++ 'ogg/ogg.h', ++ 'ogg/os_types.h', ++ ] ++ ++if CONFIG['MOZ_SYSTEM_THEORA']: ++ system_headers += [ ++ 'theora/theoradec.h', ++ ] ++ ++if CONFIG['MOZ_SYSTEM_VORBIS']: ++ system_headers += [ ++ 'vorbis/codec.h', ++ 'vorbis/vorbisenc.h', ++ ] ++ ++if CONFIG['MOZ_SYSTEM_TREMOR']: ++ system_headers += [ ++ 'tremor/ivorbiscodec.h', ++ ] ++ + if CONFIG['MOZ_SYSTEM_LIBVPX']: + system_headers += [ + 'vpx_mem/vpx_mem.h', +diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp +index 93ecda4319af..ff674c64ea07 100644 +--- dom/media/AudioStream.cpp ++++ dom/media/AudioStream.cpp +@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource) + : mMonitor("AudioStream") + , mChannels(0) + , mOutChannels(0) ++#ifndef MOZ_SYSTEM_SOUNDTOUCH + , mTimeStretcher(nullptr) ++#endif + , mDumpFile(nullptr) + , mState(INITIALIZED) + , mDataSource(aSource) +@@ -142,9 +144,11 @@ AudioStream::~AudioStream() + if (mDumpFile) { + fclose(mDumpFile); + } ++#ifndef MOZ_SYSTEM_SOUNDTOUCH + if (mTimeStretcher) { + soundtouch::destroySoundTouchObj(mTimeStretcher); + } ++#endif + #if defined(XP_WIN) + if (XRE_IsContentProcess()) { + audio::AudioNotificationReceiver::Unregister(this); +@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked() + { + mMonitor.AssertCurrentThreadOwns(); + if (!mTimeStretcher) { ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++ mTimeStretcher = new soundtouch::SoundTouch(); ++#else + mTimeStretcher = soundtouch::createSoundTouchObj(); ++#endif + mTimeStretcher->setSampleRate(mAudioClock.GetInputRate()); + mTimeStretcher->setChannels(mOutChannels); + mTimeStretcher->setPitch(1.0); +diff --git dom/media/AudioStream.h dom/media/AudioStream.h +index 7dc1f60f95cc..67d402a4117f 100644 +--- dom/media/AudioStream.h ++++ dom/media/AudioStream.h +@@ -15,7 +15,11 @@ + #include "mozilla/TimeStamp.h" + #include "mozilla/UniquePtr.h" + #include "CubebUtils.h" ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++#include "soundtouch/SoundTouch.h" ++#else + #include "soundtouch/SoundTouchFactory.h" ++#endif + + #if defined(XP_WIN) + #include "mozilla/audio/AudioNotificationReceiver.h" +@@ -297,7 +301,11 @@ private: + uint32_t mChannels; + uint32_t mOutChannels; + AudioClock mAudioClock; ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher; ++#else + soundtouch::SoundTouch* mTimeStretcher; ++#endif + + // Output file for dumping audio + FILE* mDumpFile; +diff --git dom/media/moz.build dom/media/moz.build +index 86b051c58d33..fb6186dce78b 100644 +--- dom/media/moz.build ++++ dom/media/moz.build +@@ -326,6 +326,21 @@ if CONFIG['MOZ_WEBRTC']: + + DEFINES['MOZILLA_INTERNAL_API'] = True + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] ++ ++if CONFIG['MOZ_SYSTEM_THEORA']: ++ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] ++ ++if CONFIG['MOZ_SYSTEM_VORBIS']: ++ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] ++ ++if CONFIG['MOZ_SYSTEM_TREMOR']: ++ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] ++ ++if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: ++ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] ++ + if CONFIG['MOZ_ANDROID_HLS_SUPPORT']: + DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True + +diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp +index 078f6ea5ef60..c600db067539 100644 +--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp ++++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp +@@ -15,9 +15,13 @@ + #include <windows.h> + #endif + ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++#include "nsXPCOMPrivate.h" // for XUL_DLL ++#else + // We use a known symbol located in lgpllibs to determine its location. + // soundtouch happens to be always included in lgpllibs + #include "soundtouch/SoundTouch.h" ++#endif + + namespace mozilla { + +@@ -64,6 +68,12 @@ FFVPXRuntimeLinker::Init() + + sLinkStatus = LinkStatus_FAILED; + ++#ifdef MOZ_SYSTEM_SOUNDTOUCH ++ // We retrieve the path of the XUL library as this is where mozavcodec and ++ // mozavutil libs are located. ++ char* path = ++ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init); ++#else + // We retrieve the path of the lgpllibs library as this is where mozavcodec + // and mozavutil libs are located. + PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs"); +@@ -73,6 +83,7 @@ FFVPXRuntimeLinker::Init() + PathString path = + GetLibraryFilePathname(lgpllibsname.get(), + (PRFuncPtr)&soundtouch::SoundTouch::getVersionId); ++#endif + if (path.IsEmpty()) { + return false; + } +diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA +index 6213fdc7770c..ada799916a17 100644 +--- media/libogg/README_MOZILLA ++++ media/libogg/README_MOZILLA +@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script. + The int-types.patch address a bug that config_types.h generated from + Linux platform can't be used on OpenSolaris directly see Mozilla bug + 449754 ++ ++The in-tree copy may be omitted during build by --with-system-ogg. ++Keep version in old-configure.in in sync on updates. +diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA +index dc0dbe8f6886..ea73b55e3e39 100644 +--- media/libsoundtouch/README_MOZILLA ++++ media/libsoundtouch/README_MOZILLA +@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree, + using the script `update.sh`. Some changes have been made to the files, using + the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h. + ++The in-tree copy may be omitted during build by --with-system-soundtouch. ++Keep version in old-configure.in in sync on updates. +diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h +index 0af2fe618311..10973564e7a4 100644 +--- media/libsoundtouch/src/soundtouch_perms.h ++++ media/libsoundtouch/src/soundtouch_perms.h +@@ -12,7 +12,9 @@ + + #pragma GCC visibility push(default) + #include "SoundTouch.h" ++#ifndef MOZ_SYSTEM_SOUNDTOUCH + #include "SoundTouchFactory.h" ++#endif + #pragma GCC visibility pop + + #endif // MOZILLA_SOUNDTOUCH_PERMS_H +diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA +index d48dbfa6f63d..6f30f250220e 100644 +--- media/libtheora/README_MOZILLA ++++ media/libtheora/README_MOZILLA +@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh, + the addition/update of Makefile.in files for the Mozilla build system. + + The subversion revision used was r17578. ++ ++The in-tree copy may be omitted during build by --with-system-theora. ++Keep version in old-configure.in in sync on updates. +diff --git media/libtheora/moz.build media/libtheora/moz.build +index c7f85eebff95..aae7b814adb5 100644 +--- media/libtheora/moz.build ++++ media/libtheora/moz.build +@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias' + # The encoder is currently not included. + DEFINES['THEORA_DISABLE_ENCODE'] = True + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] ++ + # Suppress warnings in third-party code. + if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'): + CFLAGS += ['-Wno-type-limits'] +diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA +index ee67b53a05c5..81c971773d55 100644 +--- media/libtremor/README_MOZILLA ++++ media/libtremor/README_MOZILLA +@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system. + + The upstream release used was http://svn.xiph.org/trunk/Tremor/ + The subversion revision used was r17547. ++ ++The in-tree copy may be omitted during build by --with-system-tremor. ++Keep version in old-configure.in in sync on updates. +diff --git media/libtremor/moz.build media/libtremor/moz.build +index 83afc8e37c64..71ef159da3d7 100644 +--- media/libtremor/moz.build ++++ media/libtremor/moz.build +@@ -9,3 +9,5 @@ with Files('*'): + + DIRS += ['include/tremor', 'lib'] + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] +diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA +index 1211ac074b33..eb31084aed25 100644 +--- media/libvorbis/README_MOZILLA ++++ media/libvorbis/README_MOZILLA +@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git + + Some files are renamed during the copy to prevent clashes with object + file names with other Mozilla libraries. ++ ++The in-tree copy may be omitted during build by --with-system-vorbis. ++Keep version in old-configure.in in sync on updates. +diff --git media/libvorbis/moz.build media/libvorbis/moz.build +index adf393782cc9..923b76231107 100644 +--- media/libvorbis/moz.build ++++ media/libvorbis/moz.build +@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias' + # Suppress warnings in third-party code. + if CONFIG['CC_TYPE'] in ('clang', 'gcc'): + CFLAGS += ['-Wno-uninitialized'] ++ ++if CONFIG['MOZ_SYSTEM_OGG']: ++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] +diff --git old-configure.in old-configure.in +index b614eef85c89..85f9099dba4d 100644 +--- old-configure.in ++++ old-configure.in +@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then + fi + fi # COMPILE_ENVIRONMENT + ++dnl ======================================================== ++dnl Check for libogg ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-ogg, ++[ --with-system-ogg Use system libogg (located with pkgconfig)], ++MOZ_SYSTEM_OGG=1, ++MOZ_SYSTEM_OGG=) ++ ++if test -n "$MOZ_SYSTEM_OGG"; then ++ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3) ++ ++ _SAVE_LIBS=$LIBS ++ LIBS="$LIBS $MOZ_OGG_LIBS" ++ AC_CHECK_FUNC(ogg_set_mem_functions, [], ++ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)]) ++ LIBS=$_SAVE_LIBS ++fi ++ ++AC_SUBST(MOZ_SYSTEM_OGG) ++ ++dnl ======================================================== ++dnl Check for libvorbis ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-vorbis, ++[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], ++MOZ_SYSTEM_VORBIS=1, ++MOZ_SYSTEM_VORBIS=) ++ ++if test -n "$MOZ_SYSTEM_VORBIS"; then ++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6) ++fi ++ ++AC_SUBST(MOZ_SYSTEM_VORBIS) ++ ++dnl ======================================================== ++dnl Check for integer-only libvorbis aka tremor ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-tremor, ++[ --with-system-tremor Use system libtremor (located with pkgconfig)], ++MOZ_SYSTEM_TREMOR=1, ++MOZ_SYSTEM_TREMOR=) ++ ++if test -n "$MOZ_SYSTEM_TREMOR"; then ++ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) ++fi ++ ++AC_SUBST(MOZ_SYSTEM_TREMOR) ++ ++dnl ======================================================== ++dnl Check for libtheora ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-theora, ++[ --with-system-theora Use system libtheora (located with pkgconfig)], ++MOZ_SYSTEM_THEORA=1, ++MOZ_SYSTEM_THEORA=) ++ ++if test -n "$MOZ_SYSTEM_THEORA"; then ++ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) ++fi ++ ++AC_SUBST(MOZ_SYSTEM_THEORA) ++ ++dnl ======================================================== ++dnl Check for libSoundTouch ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-soundtouch, ++[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)], ++MOZ_SYSTEM_SOUNDTOUCH=1, ++MOZ_SYSTEM_SOUNDTOUCH=) ++ ++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then ++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0) ++ ++ AC_LANG_SAVE ++ AC_LANG_CPLUSPLUS ++ _SAVE_CXXFLAGS=$CXXFLAGS ++ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS" ++ AC_CACHE_CHECK(for soundtouch sample type, ++ ac_cv_soundtouch_sample_type, ++ [AC_TRY_COMPILE([#include <SoundTouch.h> ++ #ifndef SOUNDTOUCH_INTEGER_SAMPLES ++ #error soundtouch expects float samples ++ #endif], ++ [], ++ [ac_cv_soundtouch_sample_type=short], ++ [ac_cv_soundtouch_sample_type=float])]) ++ CXXFLAGS=$_SAVE_CXXFLAGS ++ AC_LANG_RESTORE ++ ++ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \ ++ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then ++ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.]) ++ fi ++fi ++ ++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then ++ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH) ++fi ++AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH) ++ + dnl system libvpx Support + dnl ======================================================== + MOZ_ARG_WITH_BOOL(system-libvpx, +diff --git toolkit/library/moz.build toolkit/library/moz.build +index 079a575adec3..514d901195de 100644 +--- toolkit/library/moz.build ++++ toolkit/library/moz.build +@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']: + if CONFIG['MOZ_SYSTEM_HUNSPELL']: + OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] + ++if CONFIG['MOZ_SYSTEM_OGG']: ++ OS_LIBS += CONFIG['MOZ_OGG_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_THEORA']: ++ OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_VORBIS']: ++ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_TREMOR']: ++ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] ++ ++if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']: ++ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] ++ + if CONFIG['MOZ_SYSTEM_LIBEVENT']: + OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] + +diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp +index c083ab4bc4f3..62b917043a2c 100644 +--- xpcom/build/XPCOMInit.cpp ++++ xpcom/build/XPCOMInit.cpp +@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**); + + #include "mozilla/ipc/GeckoChildProcessHost.h" + ++#ifndef MOZ_OGG_NO_MEM_REPORTING + #include "ogg/ogg.h" ++#endif + #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) + #if defined(HAVE_STDINT_H) + // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in +@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult, + // this oddness. + mozilla::SetICUMemoryFunctions(); + ++#ifndef MOZ_OGG_NO_MEM_REPORTING + // Do the same for libogg. + ogg_set_mem_functions(OggReporter::CountingMalloc, + OggReporter::CountingCalloc, + OggReporter::CountingRealloc, + OggReporter::CountingFree); ++#endif + + #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) + // And for VPX. |