diff options
Diffstat (limited to 'www/seamonkey')
18 files changed, 369 insertions, 223 deletions
diff --git a/www/seamonkey/Makefile b/www/seamonkey/Makefile index bec1514eb40a..d1316d1ffb58 100644 --- a/www/seamonkey/Makefile +++ b/www/seamonkey/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= seamonkey -DISTVERSION= 2.25 +DISTVERSION= 2.26 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ @@ -13,12 +13,14 @@ MAINTAINER= gecko@FreeBSD.org COMMENT= The open source, standards compliant web browser BUILD_DEPENDS= nspr>=4.10.3:${PORTSDIR}/devel/nspr \ - nss>=3.15.4:${PORTSDIR}/security/nss \ + nss>=3.16:${PORTSDIR}/security/nss \ + soundtouch>=1.7.0:${PORTSDIR}/audio/soundtouch \ harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ + graphite2>=1.2.4:${PORTSDIR}/graphics/graphite2 \ libvorbis>=1.3.4:${PORTSDIR}/audio/libvorbis \ opus>=1.1:${PORTSDIR}/audio/opus \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ - sqlite3>=3.8.1:${PORTSDIR}/databases/sqlite3 \ + sqlite3>=3.8.2:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ zip:${PORTSDIR}/archivers/zip \ @@ -28,13 +30,12 @@ BUILD_DEPENDS= nspr>=4.10.3:${PORTSDIR}/devel/nspr \ LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l EM_VERSION= 1.6.1_pre20140112 -L_VERSION= 3.0b1 +L_VERSION= 3.1 SSP_UNSAFE= yes USE_AUTOTOOLS= autoconf213:env USE_PYTHON_BUILD=2 OBJDIR_BUILD= # in-tree build broken after bug 789837 -USE_BZIP2= yes USE_GECKO= gecko WANT_GNOME= yes USE_QT4= # empty @@ -42,7 +43,7 @@ QT_NONSTANDARD= yes WANT_PERL= yes ALL_TARGET= default USE_GL= gl -USES= dos2unix +USES= dos2unix tar:bzip2 DOS2UNIX_FILES= mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome @@ -106,6 +107,10 @@ CXXFLAGS+= -O1 BUILD_DEPENDS+= alsa-lib>=1.0.27.2_1:${PORTSDIR}/audio/alsa-lib .endif +.if ${PORT_OPTIONS:MGSTREAMER} +BUILD_DEPENDS+= gstreamer1-libav>=1.2.4:${PORTSDIR}/multimedia/gstreamer1-libav +.endif + .if ! ${PORT_OPTIONS:MMAILNEWS} MOZ_OPTIONS+= --disable-ldap --disable-mailnews .else diff --git a/www/seamonkey/distinfo b/www/seamonkey/distinfo index 3caacf29929f..7fd733a7c48c 100644 --- a/www/seamonkey/distinfo +++ b/www/seamonkey/distinfo @@ -1,4 +1,4 @@ -SHA256 (seamonkey-2.25.source.tar.bz2) = d99c19338737d75016561340c4bfa0087e13d055971579135eb205ae975c022a -SIZE (seamonkey-2.25.source.tar.bz2) = 155695615 +SHA256 (seamonkey-2.26.source.tar.bz2) = 985262d39f38fc20d307e810c371c9f581f7c55a66cfabd6b5561c236116b874 +SIZE (seamonkey-2.26.source.tar.bz2) = 165548355 SHA256 (enigmail-1.6.1_pre20140112.tar.xz) = 2d89a9186c3ccfc9397c933c6f63c0518224fea0096d7a292dba3765de088149 SIZE (enigmail-1.6.1_pre20140112.tar.xz) = 916028 diff --git a/www/seamonkey/files/patch-bug806917 b/www/seamonkey/files/patch-bug806917 index 76874da3314a..945e2701b0d9 100644 --- a/www/seamonkey/files/patch-bug806917 +++ b/www/seamonkey/files/patch-bug806917 @@ -5,24 +5,24 @@ Date: Fri Jan 03 08:16:54 2014 -0800 Bug 806917 - support GStreamer 1.0 --- configure.in | 66 ++- - content/media/gstreamer/GStreamerAllocator.cpp | 198 +++++++ + content/media/gstreamer/GStreamerAllocator.cpp | 197 +++++++ content/media/gstreamer/GStreamerAllocator.h | 25 + content/media/gstreamer/GStreamerFormatHelper.cpp | 13 +- content/media/gstreamer/GStreamerFunctionList.h | 93 +++- content/media/gstreamer/GStreamerLoader.cpp | 48 +- content/media/gstreamer/GStreamerLoader.h | 8 + - content/media/gstreamer/GStreamerReader-0.10.cpp | 203 +++++++ + content/media/gstreamer/GStreamerReader-0.10.cpp | 200 +++++++ content/media/gstreamer/GStreamerReader.cpp | 632 ++++++++++++++-------- content/media/gstreamer/GStreamerReader.h | 42 +- content/media/gstreamer/moz.build | 11 +- content/media/test/manifest.js | 6 +- - 12 files changed, 1061 insertions(+), 284 deletions(-) + 12 files changed, 1057 insertions(+), 284 deletions(-) diff --git configure.in configure.in index 9776b8d..0b1698d 100644 --- mozilla/configure.in +++ mozilla/configure.in -@@ -3955,6 +3955,7 @@ MOZ_SAMPLE_TYPE_FLOAT32= +@@ -3988,6 +3988,7 @@ MOZ_SAMPLE_TYPE_FLOAT32= MOZ_SAMPLE_TYPE_S16= MOZ_OPUS=1 MOZ_WEBM=1 @@ -30,12 +30,13 @@ index 9776b8d..0b1698d 100644 MOZ_DIRECTSHOW= MOZ_WMF= MOZ_FMP4= -@@ -5606,43 +5607,60 @@ dnl = Enable GStreamer - dnl ======================================================== - if test "$OS_TARGET" = "Linux"; then - MOZ_GSTREAMER=1 -+ GST_API_VERSION=0.10 - fi +@@ -5634,44 +5635,61 @@ WINNT|Darwin|Android) + ;; + *) + MOZ_GSTREAMER=1 ++ GST_API_VERSION=0.10 + ;; + esac -MOZ_ARG_ENABLE_BOOL(gstreamer, -[ --enable-gstreamer Enable GStreamer support], @@ -120,7 +121,7 @@ new file mode 100644 index 0000000..69d0385 --- /dev/null +++ mozilla/content/media/gstreamer/GStreamerAllocator.cpp -@@ -0,0 +1,198 @@ +@@ -0,0 +1,197 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif @@ -179,8 +180,7 @@ index 0000000..69d0385 + mem->image->Release(); + + ImageContainer* container = ((MozGfxMemoryAllocator*) mem->memory.allocator)->reader->GetImageContainer(); -+ ImageFormat format = PLANAR_YCBCR; -+ mem->image = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(&format, 1).get()); ++ mem->image = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(ImageFormat::PLANAR_YCBCR).get()); + mem->data = mem->image->AllocateAndGetNewBuffer(mem->memory.size); +} + @@ -673,7 +673,7 @@ new file mode 100644 index 0000000..fb98bde --- /dev/null +++ mozilla/content/media/gstreamer/GStreamerReader-0.10.cpp -@@ -0,0 +1,203 @@ +@@ -0,0 +1,200 @@ +#include "nsError.h" +#include "MediaDecoderStateMachine.h" +#include "AbstractMediaDecoder.h" @@ -718,13 +718,10 @@ index 0000000..fb98bde +{ + /* allocate an image using the container */ + ImageContainer* container = mDecoder->GetImageContainer(); -+ if (!container) { -+ // We don't have an ImageContainer. We probably belong to an <audio> -+ // element. -+ return GST_FLOW_NOT_SUPPORTED; ++ if (container == nullptr) { ++ return GST_FLOW_ERROR; + } -+ ImageFormat format = PLANAR_YCBCR; -+ PlanarYCbCrImage* img = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(&format, 1).get()); ++ PlanarYCbCrImage* img = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(ImageFormat::PLANAR_YCBCR).get()); + nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img); + + /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */ @@ -802,16 +799,16 @@ index 0000000..fb98bde + + PlanarYCbCrImage::Data data; + data.mPicX = data.mPicY = 0; -+ data.mPicSize = nsIntSize(mPicture.width, mPicture.height); -+ data.mStereoMode = STEREO_MODE_MONO; ++ data.mPicSize = gfx::IntSize(mPicture.width, mPicture.height); ++ data.mStereoMode = StereoMode::MONO; + + data.mYChannel = GST_BUFFER_DATA(aBuffer); + data.mYStride = gst_video_format_get_row_stride(mFormat, 0, mPicture.width); -+ data.mYSize = nsIntSize(data.mYStride, ++ data.mYSize = gfx::IntSize(data.mYStride, + gst_video_format_get_component_height(mFormat, 0, mPicture.height)); + data.mYSkip = 0; + data.mCbCrStride = gst_video_format_get_row_stride(mFormat, 1, mPicture.width); -+ data.mCbCrSize = nsIntSize(data.mCbCrStride, ++ data.mCbCrSize = gfx::IntSize(data.mCbCrStride, + gst_video_format_get_component_height(mFormat, 1, mPicture.height)); + data.mCbChannel = data.mYChannel + gst_video_format_get_component_offset(mFormat, 1, + mPicture.width, mPicture.height); @@ -1047,7 +1044,7 @@ index 2be45dc..54509e3 100644 g_object_set(mPlayBin, "uri", "appsrc://", "video-sink", mVideoSink, -@@ -331,7 +340,7 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo, +@@ -331,13 +340,12 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo, /* Little trick: set the target caps to "skip" so that playbin2 fails to * find a decoder for the stream we want to skip. */ @@ -1056,7 +1053,13 @@ index 2be45dc..54509e3 100644 g_object_set(filter, "caps", filterCaps, nullptr); gst_caps_unref(filterCaps); gst_object_unref(filter); -@@ -358,6 +367,7 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo, + } + +- /* start the pipeline */ + LOG(PR_LOG_DEBUG, "starting metadata pipeline"); + gst_element_set_state(mPlayBin, GST_STATE_PAUSED); + +@@ -358,6 +366,7 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo, gst_message_unref(message); ret = NS_ERROR_FAILURE; } else { @@ -1227,7 +1230,7 @@ index 2be45dc..54509e3 100644 * something else has happened (Eos, etc...). Return to the state machine * to process it. */ -@@ -524,24 +573,43 @@ bool GStreamerReader::DecodeAudioData() +@@ -533,24 +584,44 @@ bool GStreamerReader::DecodeAudioData() } } @@ -1245,8 +1248,9 @@ index 2be45dc..54509e3 100644 int64_t timestamp = GST_BUFFER_TIMESTAMP(buffer); timestamp = gst_segment_to_stream_time(&mAudioSegment, GST_FORMAT_TIME, timestamp); -+ ++ timestamp = GST_TIME_AS_USECONDS(timestamp); ++ int64_t duration = 0; if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer))) duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer)); @@ -1313,7 +1317,7 @@ index 2be45dc..54509e3 100644 if ((aKeyFrameSkip && !isKeyframe)) { gst_buffer_unref(buffer); return true; -@@ -618,73 +695,55 @@ bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip, +@@ -611,10 +687,18 @@ bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip, "frame has invalid timestamp"); timestamp = GST_TIME_AS_USECONDS(timestamp); @@ -1326,16 +1330,14 @@ index 2be45dc..54509e3 100644 + if (timestamp < aTimeThreshold) { LOG(PR_LOG_DEBUG, "skipping frame %" GST_TIME_FORMAT -- " threshold %" GST_TIME_FORMAT, + " threshold %" GST_TIME_FORMAT, - GST_TIME_ARGS(timestamp), GST_TIME_ARGS(aTimeThreshold)); -+ " threshold %" GST_TIME_FORMAT, -+ GST_TIME_ARGS(timestamp * 1000), -+ GST_TIME_ARGS(aTimeThreshold * 1000)); ++ GST_TIME_ARGS(timestamp * 1000), ++ GST_TIME_ARGS(aTimeThreshold * 1000)); gst_buffer_unref(buffer); return true; } -- - if (!buffer) +@@ -623,61 +707,36 @@ bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip, /* no more frames */ return false; @@ -1499,7 +1501,7 @@ index 2be45dc..54509e3 100644 if (format == GST_FORMAT_TIME) { LOG(PR_LOG_DEBUG, "pipeline duration %" GST_TIME_FORMAT, GST_TIME_ARGS (duration)); -@@ -866,108 +954,6 @@ gboolean GStreamerReader::SeekData(GstAppSrc* aSrc, guint64 aOffset) +@@ -893,109 +984,6 @@ gboolean GStreamerReader::SeekData(GstAppSrc* aSrc, guint64 aOffset) return NS_SUCCEEDED(rv); } @@ -1563,8 +1565,9 @@ index 2be45dc..54509e3 100644 - // element. - return GST_FLOW_NOT_SUPPORTED; - } -- ImageFormat format = PLANAR_YCBCR; -- PlanarYCbCrImage* img = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(&format, 1).get()); +- PlanarYCbCrImage* img = +- reinterpret_cast<PlanarYCbCrImage*>( +- container->CreateImage(ImageFormat::PLANAR_YCBCR).get()); - nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img); - - /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */ @@ -1791,16 +1794,16 @@ index 2be45dc..54509e3 100644 + "Unsupported number of components in video frame"); + + aData->mPicX = aData->mPicY = 0; -+ aData->mPicSize = nsIntSize(mPicture.width, mPicture.height); -+ aData->mStereoMode = STEREO_MODE_MONO; ++ aData->mPicSize = gfx::IntSize(mPicture.width, mPicture.height); ++ aData->mStereoMode = StereoMode::MONO; + + aData->mYChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 0); + aData->mYStride = GST_VIDEO_FRAME_COMP_STRIDE(aFrame, 0); -+ aData->mYSize = nsIntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 0), ++ aData->mYSize = gfx::IntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 0), + GST_VIDEO_FRAME_COMP_HEIGHT(aFrame, 0)); + aData->mYSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 0) - 1; + aData->mCbCrStride = GST_VIDEO_FRAME_COMP_STRIDE(aFrame, 1); -+ aData->mCbCrSize = nsIntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 1), ++ aData->mCbCrSize = gfx::IntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 1), + GST_VIDEO_FRAME_COMP_HEIGHT(aFrame, 1)); + aData->mCbChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 1); + aData->mCrChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 2); diff --git a/www/seamonkey/files/patch-bug826985 b/www/seamonkey/files/patch-bug826985 index abc31e2e9cfd..ad74e0ef63a4 100644 --- a/www/seamonkey/files/patch-bug826985 +++ b/www/seamonkey/files/patch-bug826985 @@ -26,25 +26,26 @@ index 55e4cd1..76567b3 100644 dnl enable once Signaling lands MOZ_WEBRTC_SIGNALING=1 AC_DEFINE(MOZ_WEBRTC_SIGNALING) -@@ -8981,6 +8984,10 @@ elif test "${OS_TARGET}" = "Android"; then - fi - fi - -+if test -n "$MOZ_LIBV4L2_LIBS"; then -+ EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D use_libv4l2=1" -+fi -+ - if test -n "$MOZ_WEBRTC"; then - AC_MSG_RESULT("generating WebRTC Makefiles...") - +diff --git build/gyp.mozbuild build/gyp.mozbuild +index b483cd1..f1dd1f0 100644 +--- mozilla/build/gyp.mozbuild ++++ mozilla/build/gyp.mozbuild +@@ -11,6 +11,7 @@ gyp_vars = { + 'have_ethtool_cmd_speed_hi': 1 if CONFIG['MOZ_WEBRTC_HAVE_ETHTOOL_SPEED_HI'] else 0, + 'include_alsa_audio': 1 if CONFIG['MOZ_ALSA'] else 0, + 'include_pulse_audio': 1 if CONFIG['MOZ_PULSEAUDIO'] else 0, ++ 'use_libv4l2': 1 if CONFIG['MOZ_LIBV4L2_LIBS'] else 0, + # basic stuff for everything + 'include_internal_video_render': 0, + 'clang_use_chrome_plugins': 0, diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in index b483cd1..f1dd1f0 100644 --- mozilla/media/webrtc/signaling/test/Makefile.in +++ mozilla/media/webrtc/signaling/test/Makefile.in -@@ -17,6 +17,7 @@ LIBS = \ +@@ -7,6 +7,7 @@ LIBS = \ + $(NSPR_LIBS) \ $(NSS_LIBS) \ $(REALTIME_LIBS) \ - $(MOZ_JS_LIBS) \ + $(MOZ_LIBV4L2_LIBS) \ $(DEPTH)/xpcom/glue/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \ $(DEPTH)/media/mtransport/standalone/$(LIB_PREFIX)mtransport_s.$(LIB_SUFFIX) \ @@ -152,11 +153,14 @@ diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in index 9c16ffa..1db3794 100644 --- mozilla/toolkit/library/Makefile.in +++ mozilla/toolkit/library/Makefile.in -@@ -121,6 +121,7 @@ endif +@@ -182,6 +182,10 @@ endif + EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib) - ifdef MOZ_WEBRTC ++ifdef MOZ_LIBV4L2_LIBS +EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS) - ifdef MOZ_WEBRTC_SIGNALING - SHARED_LIBRARY_LIBS += \ - $(DEPTH)/media/webrtc/signaling/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \ ++endif ++ + ifdef MOZ_WEBRTC + ifeq (WINNT,$(OS_TARGET)) + EXTRA_DSO_LDOPTS += \ diff --git a/www/seamonkey/files/patch-bug847568 b/www/seamonkey/files/patch-bug847568 index e3c35c9606b3..279d854dabb9 100644 --- a/www/seamonkey/files/patch-bug847568 +++ b/www/seamonkey/files/patch-bug847568 @@ -14,10 +14,10 @@ index 14bfc0d..5383399 100644 $(INSTALL) system_wrappers $(DIST) diff --git config/system-headers config/system-headers -index 126391e..b711fc3 100644 +index 18e8703..bdc5f82 100644 --- mozilla/config/system-headers +++ mozilla/config/system-headers -@@ -1144,3 +1144,11 @@ unicode/utypes.h +@@ -1145,3 +1145,11 @@ unicode/utypes.h #endif libutil.h unwind.h @@ -30,36 +30,54 @@ index 126391e..b711fc3 100644 +harfbuzz/hb.h +#endif diff --git configure.in configure.in -index bbc7b40..1747206 100644 +index ac38f40..87536b7 100644 --- mozilla/configure.in +++ mozilla/configure.in -@@ -7848,6 +7848,34 @@ if test "$USE_FC_FREETYPE"; then +@@ -8032,6 +8032,52 @@ if test "$USE_FC_FREETYPE"; then fi dnl ======================================================== -+dnl Check for graphite2 and harfbuzz ++dnl Check for harfbuzz +dnl ======================================================== + +MOZ_ARG_WITH_BOOL(system-harfbuzz, +[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)], +MOZ_NATIVE_HARFBUZZ=1, -+MOZ_NATIVE_HARFBUZZ= ) ++MOZ_NATIVE_HARFBUZZ=) + +if test -n "$MOZ_NATIVE_HARFBUZZ"; then + PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.25) +fi ++ +AC_SUBST(MOZ_NATIVE_HARFBUZZ) +AC_SUBST(MOZ_HARFBUZZ_CFLAGS) +AC_SUBST(MOZ_HARFBUZZ_LIBS) + ++dnl ======================================================== ++dnl Check for graphite2 ++dnl ======================================================== +MOZ_ARG_WITH_BOOL(system-graphite2, +[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)], +MOZ_NATIVE_GRAPHITE2=1, -+MOZ_NATIVE_GRAPHITE2= ) ++MOZ_NATIVE_GRAPHITE2=) + +if test -n "$MOZ_NATIVE_GRAPHITE2"; then -+ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2 >= 1.2.4) ++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2) ++ ++ dnl graphite2.pc has bogus version, check manually ++ AC_TRY_COMPILE([ #include <graphite2/Font.h> ++ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \ ++ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \ ++ * 100 + GR2_VERSION_BUGFIX >= \ ++ (major) * 10000 + (minor) * 100 + (bugfix) ) ++ ], [ ++ #if !GR2_VERSION_REQUIRE(1,2,4) ++ #error "Insufficient graphite2 version." ++ #endif ++ ], [], ++ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) +fi ++ +AC_SUBST(MOZ_NATIVE_GRAPHITE2) +AC_SUBST(MOZ_GRAPHITE2_CFLAGS) +AC_SUBST(MOZ_GRAPHITE2_LIBS) @@ -110,7 +128,7 @@ index 519aa46..6929751 100644 'thebes', 'ipc', diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in -index 07a77a3..067f7bd 100644 +index ee0efb2..98e169d6f 100644 --- mozilla/gfx/skia/Makefile.in +++ mozilla/gfx/skia/Makefile.in @@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) @@ -123,9 +141,9 @@ index 07a77a3..067f7bd 100644 + include $(topsrcdir)/config/rules.mk - ifneq (,$(INTEL_ARCHITECTURE)) + ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1) diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in -index e9f6b6c..0df2d8d 100644 +index 45c36ae..79d32cf 100644 --- mozilla/gfx/thebes/Makefile.in +++ mozilla/gfx/thebes/Makefile.in @@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES)) @@ -144,7 +162,7 @@ index e9f6b6c..0df2d8d 100644 CXXFLAGS += $(CAIRO_FT_CFLAGS) endif diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in -index f6b9f7c..11c44f4 100644 +index f6b9f7c..60863f4 100644 --- mozilla/intl/unicharutil/util/Makefile.in +++ mozilla/intl/unicharutil/util/Makefile.in @@ -21,3 +21,7 @@ ifdef _MSC_VER @@ -153,25 +171,28 @@ index f6b9f7c..11c44f4 100644 endif + +ifdef MOZ_NATIVE_HARFBUZZ -+nsUnicodePropertyData.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) +endif diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in -index 1cacbd7..a8cd156 100644 +index 1cacbd7..f5d72bb 100644 --- mozilla/netwerk/dns/Makefile.in +++ mozilla/netwerk/dns/Makefile.in -@@ -9,3 +9,7 @@ include $(topsrcdir)/config/rules.mk - # for effective TLD data. - etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat - $(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc -+ +@@ -5,6 +5,10 @@ + + include $(topsrcdir)/config/rules.mk + +ifdef MOZ_NATIVE_HARFBUZZ -+nsIDNService.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) +endif ++ + # Generate the include file containing compact, static definitions + # for effective TLD data. + etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in -index 007f272..27f488e 100644 +index 67f0db9..d42137a 100644 --- mozilla/toolkit/library/Makefile.in +++ mozilla/toolkit/library/Makefile.in -@@ -103,6 +103,14 @@ ifndef MOZ_TREE_PIXMAN +@@ -89,6 +89,14 @@ ifndef MOZ_TREE_PIXMAN EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS) endif diff --git a/www/seamonkey/files/patch-bug878791 b/www/seamonkey/files/patch-bug878791 deleted file mode 100644 index bcdd5e9bfea4..000000000000 --- a/www/seamonkey/files/patch-bug878791 +++ /dev/null @@ -1,11 +0,0 @@ ---- mozilla/toolkit/components/osfile/modules/osfile_unix_allthreads.jsm.orig 2013-05-11 21:19:53.000000000 +0200 -+++ mozilla/toolkit/components/osfile/modules/osfile_unix_allthreads.jsm 2013-06-02 17:15:05.000000000 +0200 -@@ -41,7 +41,7 @@ let Const = SharedAll.Constants.libc; - // Open libc - let libc; - let libc_candidates = [ "libSystem.B.dylib", -- "libc.so.6", -+ "libc.so.7", - "libc.so" ]; - for (let i = 0; i < libc_candidates.length; ++i) { - try { diff --git a/www/seamonkey/files/patch-bug916589 b/www/seamonkey/files/patch-bug916589 index be2c2bc97fd4..c6aef052c4ce 100644 --- a/www/seamonkey/files/patch-bug916589 +++ b/www/seamonkey/files/patch-bug916589 @@ -2,12 +2,16 @@ diff --git media/mtransport/third_party/nrappkit/src/port/generic/include/sys/qu index 5b50785..7cf47d5 100644 --- mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h +++ mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h -@@ -31,11 +31,14 @@ +@@ -31,11 +31,18 @@ */ -#ifndef _SYS_QUEUE_H_ +#if (defined(BSD) && !defined(__OpenBSD__)) || defined(DARWIN) +#include_next <sys/queue.h> ++# if defined(__DragonFly__) ++#define STAILQ_FOREACH_SAFE STAILQ_FOREACH_MUTABLE ++#define TAILQ_FOREACH_SAFE TAILQ_FOREACH_MUTABLE ++# endif +#elif !defined(_SYS_QUEUE_H_) #define _SYS_QUEUE_H_ diff --git a/www/seamonkey/files/patch-bug961264 b/www/seamonkey/files/patch-bug961264 index 00d077b235db..1a4cd035ab7f 100644 --- a/www/seamonkey/files/patch-bug961264 +++ b/www/seamonkey/files/patch-bug961264 @@ -142,9 +142,9 @@ diff --git js/src/configure.in js/src/configure.in index bddd46d..d4b522e 100644 --- mozilla/js/src/configure.in +++ mozilla/js/src/configure.in -@@ -2348,116 +2348,13 @@ fi +@@ -2077,116 +2077,13 @@ AC_LANG_CPLUSPLUS - AC_LANG_C + MOZ_CXX11 -dnl Check for .hidden assembler directive and visibility attribute. -dnl Borrowed from glibc configure.in @@ -249,7 +249,7 @@ index bddd46d..d4b522e 100644 - ]) - if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \ - "$ac_cv_have_visibility_class_bug" = "no"; then -- VISIBILITY_FLAGS='-I$(DIST)/system_wrappers_js -include $(topsrcdir)/config/gcc_hidden.h' +- VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' - WRAP_SYSTEM_INCLUDES=1 - else - VISIBILITY_FLAGS='-fvisibility=hidden' @@ -259,7 +259,7 @@ index bddd46d..d4b522e 100644 - fi # have visibility(hidden) attribute + AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) + AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE) -+ VISIBILITY_FLAGS='-I$(DIST)/system_wrappers_js -include $(topsrcdir)/config/gcc_hidden.h' ++ VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' + WRAP_SYSTEM_INCLUDES=1 fi # GNU_CC diff --git a/www/seamonkey/files/patch-bug961816 b/www/seamonkey/files/patch-bug961816 deleted file mode 100644 index f4316f625838..000000000000 --- a/www/seamonkey/files/patch-bug961816 +++ /dev/null @@ -1,48 +0,0 @@ -diff --git config/system-headers config/system-headers -index 8803150..ae38d68 100644 ---- mozilla/config/system-headers -+++ mozilla/config/system-headers -@@ -1145,3 +1145,4 @@ unicode/ustring.h - unicode/utypes.h - #endif - libutil.h -+unwind.h -diff --git configure.in configure.in -index f452a5e..a1ebbcc 100644 ---- mozilla/configure.in -+++ mozilla/configure.in -@@ -7455,7 +7455,10 @@ dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== - if test -z "$SKIP_LIBRARY_CHECKS"; then -+ AC_LANG_SAVE -+ AC_LANG_CPLUSPLUS - MOZ_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) -+ AC_LANG_RESTORE - fi - - dnl ======================================================== -diff --git config/system-headers config/system-headers -index 8803150..ae38d68 100644 ---- mozilla/js/src/config/system-headers -+++ mozilla/js/src/config/system-headers -@@ -1145,3 +1145,4 @@ unicode/ustring.h - unicode/utypes.h - #endif - libutil.h -+unwind.h -diff --git configure.in configure.in -index f452a5e..a1ebbcc 100644 ---- mozilla/js/src/configure.in -+++ mozilla/js/src/configure.in -@@ -7455,7 +7455,10 @@ dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== - if test -z "$SKIP_LIBRARY_CHECKS"; then -+ AC_LANG_SAVE -+ AC_LANG_CPLUSPLUS - MOZ_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) -+ AC_LANG_RESTORE - fi - - dnl ======================================================== diff --git a/www/seamonkey/files/patch-bug962345 b/www/seamonkey/files/patch-bug962345 index 07292e6fbfa9..d59fb9528285 100644 --- a/www/seamonkey/files/patch-bug962345 +++ b/www/seamonkey/files/patch-bug962345 @@ -7,12 +7,3 @@ index 8803150..ae38d68 100644 libutil.h unwind.h +cairo-qt.h -diff --git config/system-headers config/system-headers -index 8803150..ae38d68 100644 ---- mozilla/js/src/config/system-headers -+++ mozilla/js/src/config/system-headers -@@ -1144,3 +1144,4 @@ unicode/utypes.h - #endif - libutil.h - unwind.h -+cairo-qt.h diff --git a/www/seamonkey/files/patch-no-videoio.h b/www/seamonkey/files/patch-bug985848 index f23d04ad6157..f23d04ad6157 100644 --- a/www/seamonkey/files/patch-no-videoio.h +++ b/www/seamonkey/files/patch-bug985848 diff --git a/www/seamonkey/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp b/www/seamonkey/files/patch-bug991253 index 32241fdfe270..32241fdfe270 100644 --- a/www/seamonkey/files/patch-mozilla-extensions-spellcheck-hunspell-src-mozHunspell.cpp +++ b/www/seamonkey/files/patch-bug991253 diff --git a/www/seamonkey/files/patch-bug993467 b/www/seamonkey/files/patch-bug993467 new file mode 100644 index 000000000000..dd9e08a77034 --- /dev/null +++ b/www/seamonkey/files/patch-bug993467 @@ -0,0 +1,11 @@ +--- config/config.mk~ ++++ config/config.mk +@@ -411,7 +411,7 @@ MY_RULES := $(DEPTH)/config/myrules.mk + # + CCC = $(CXX) + +-OS_INCLUDES += $(NSPR_CFLAGS) $(NSS_CFLAGS) $(MOZ_JPEG_CFLAGS) $(MOZ_PNG_CFLAGS) $(MOZ_ZLIB_CFLAGS) ++OS_INCLUDES += $(NSPR_CFLAGS) $(NSS_CFLAGS) $(MOZ_JPEG_CFLAGS) $(MOZ_PNG_CFLAGS) $(MOZ_ZLIB_CFLAGS) $(MOZ_PIXMAN_CFLAGS) + + INCLUDES = \ + $(LOCAL_INCLUDES) \ diff --git a/www/seamonkey/files/patch-bug791305 b/www/seamonkey/files/patch-ijg-libjpeg index 633415128199..06e9099ba36c 100644 --- a/www/seamonkey/files/patch-bug791305 +++ b/www/seamonkey/files/patch-ijg-libjpeg @@ -1,19 +1,4 @@ -commit c269a16 -Author: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Fri Sep 14 15:54:55 2012 -0400 - - Bug 791305. Use libjpeg's color conversion code instead of our own. r=joe,r=khuey - - libjpeg-turbo supports converting directly to a format compatible with cairo's - FORMAT_RGB24. Use that instead of our own handcoded function. This also gives - us SSE2 and NEON version of this function. - - --HG-- - extra : rebase_source : 18f48925f023a33ec2a097d4f4e5cc2ab40be1e9 ---- - configure.in | 6 +- - image/decoders/nsJPEGDecoder.cpp | 311 ++------------------------------------- - 2 files changed, 20 insertions(+), 297 deletions(-) +# Partially revert bug 791305 to allow building with system IJG jpeg library diff --git configure.in configure.in index f0aeb5d..1c01010 100644 diff --git a/www/seamonkey/files/patch-mozilla-js-src-Makefile.in b/www/seamonkey/files/patch-mozilla-js-src-Makefile.in deleted file mode 100644 index 885d6602fa5b..000000000000 --- a/www/seamonkey/files/patch-mozilla-js-src-Makefile.in +++ /dev/null @@ -1,11 +0,0 @@ ---- mozilla/js/src/Makefile.in~ -+++ mozilla/js/src/Makefile.in -@@ -373,7 +373,7 @@ endif - ifdef MOZ_SHARED_ICU - EXTRA_DSO_LDOPTS += $(MOZ_ICU_LIBS) - else --SHARED_LIBRARY_LIBS += $(MOZ_ICU_LIBS) -+SHARED_LIBRARY_LIBS += $(filter-out -L% -l%,$(MOZ_ICU_LIBS)) - endif - - # Prevent floating point errors caused by VC++ optimizations diff --git a/www/seamonkey/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c b/www/seamonkey/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c new file mode 100644 index 000000000000..149bf0b40182 --- /dev/null +++ b/www/seamonkey/files/patch-mozilla-media-mtransport-third_party-nICEr-src-util-mbslen.c @@ -0,0 +1,16 @@ +--- mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c~ ++++ mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c +@@ -54,6 +54,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # endif + #endif + ++#ifdef __DragonFly__ ++#include <osreldate.h> ++# if __DragonFly_version > 300502 ++# define HAVE_XLOCALE ++# endif ++#endif ++ + #ifdef HAVE_XLOCALE + #include <xlocale.h> + #endif /* HAVE_XLOCALE */ diff --git a/www/seamonkey/files/patch-mozilla-security-manager-ssl-src-nsNSSComponent.cpp b/www/seamonkey/files/patch-mozilla-security-manager-ssl-src-nsNSSComponent.cpp deleted file mode 100644 index 272a02bdb9e0..000000000000 --- a/www/seamonkey/files/patch-mozilla-security-manager-ssl-src-nsNSSComponent.cpp +++ /dev/null @@ -1,10 +0,0 @@ ---- mozilla/security/manager/ssl/src/nsNSSComponent.cpp.orig Mon May 29 23:10:54 2006 -+++ mozilla/security/manager/ssl/src/nsNSSComponent.cpp Mon May 29 23:12:22 2006 -@@ -110,6 +110,7 @@ - #include "nss.h" - #include "pk11func.h" - #include "ssl.h" -+#define NSS_ENABLE_ECC 1 - #include "sslproto.h" - #include "secmod.h" - #include "sechash.h" diff --git a/www/seamonkey/files/patch-z-bug517422 b/www/seamonkey/files/patch-z-bug517422 index 490da806c8f5..82e453baca96 100644 --- a/www/seamonkey/files/patch-z-bug517422 +++ b/www/seamonkey/files/patch-z-bug517422 @@ -1,21 +1,25 @@ -# Allow building against system-wide ogg/vorbis/opus. +# Allow more config/external/ libs built against system-wide version. diff --git config/Makefile.in config/Makefile.in -index 5383399..4393ae8 100644 +index 5383399..0410004 100644 --- mozilla/config/Makefile.in +++ mozilla/config/Makefile.in -@@ -79,6 +79,9 @@ export:: $(export-preqs) +@@ -79,6 +79,13 @@ export:: $(export-preqs) -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ + -DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \ ++ -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \ + -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \ ++ -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \ + -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \ ++ -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \ ++ -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \ $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers $(INSTALL) system_wrappers $(DIST) diff --git config/external/moz.build config/external/moz.build -index c22a36c..740402e 100644 +index f67c5c7..eb909ce 100644 --- mozilla/config/external/moz.build +++ mozilla/config/external/moz.build @@ -15,13 +15,13 @@ if CONFIG['MOZ_UPDATER']: @@ -26,7 +30,8 @@ index c22a36c..740402e 100644 +if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']: external_dirs += ['media/libvorbis'] - if CONFIG['MOZ_TREMOR']: +-if CONFIG['MOZ_TREMOR']: ++if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']: external_dirs += ['media/libtremor'] -if CONFIG['MOZ_OPUS']: @@ -34,22 +39,56 @@ index c22a36c..740402e 100644 external_dirs += ['media/libopus'] if CONFIG['MOZ_WEBM']: -@@ -34,7 +34,9 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ_NATIVE_LIBVPX']: +@@ -34,16 +34,23 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ external_dirs += ['media/libvpx'] if CONFIG['MOZ_OGG']: - external_dirs += ['media/libogg', 'media/libtheora'] + if not CONFIG['MOZ_NATIVE_OGG']: + external_dirs += ['media/libogg'] -+ external_dirs += ['media/libtheora'] ++ if not CONFIG['MOZ_NATIVE_THEORA']: ++ external_dirs += ['media/libtheora'] if not CONFIG['MOZ_NATIVE_PNG']: external_dirs += ['media/libpng'] + ++if not CONFIG['MOZ_NATIVE_SPEEX']: ++ external_dirs += ['media/libspeex_resampler'] ++ ++if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']: ++ external_dirs += ['media/libsoundtouch'] ++ + external_dirs += [ + 'media/kiss_fft', + 'media/libcubeb', +- 'media/libspeex_resampler', +- 'media/libsoundtouch', + ] + + PARALLEL_DIRS += ['../../' + i for i in external_dirs] diff --git config/system-headers config/system-headers -index b711fc3..fd3c14f 100644 +index bef567c..9807c29 100644 --- mozilla/config/system-headers +++ mozilla/config/system-headers -@@ -1153,3 +1153,17 @@ graphite2/Segment.h +@@ -1050,8 +1050,6 @@ X11/Xutil.h + xpt_struct.h + xpt_xdr.h + zmouse.h +-speex/speex_resampler.h +-soundtouch/SoundTouch.h + #if MOZ_NATIVE_PNG==1 + png.h + #endif +@@ -1119,6 +1117,8 @@ ogg/ogg.h + ogg/os_types.h + nestegg/nestegg.h + cubeb/cubeb.h ++speex/speex_resampler.h ++soundtouch/SoundTouch.h + #endif + gst/gst.h + gst/app/gstappsink.h +@@ -1155,3 +1155,29 @@ graphite2/Segment.h harfbuzz/hb-ot.h harfbuzz/hb.h #endif @@ -57,21 +96,33 @@ index b711fc3..fd3c14f 100644 +ogg/ogg.h +ogg/os_types.h +#endif ++#if MOZ_NATIVE_THEORA==1 ++theora/theoradec.h ++#endif +#if MOZ_NATIVE_VORBIS==1 +vorbis/codec.h +vorbis/vorbisenc.h +#endif ++#if MOZ_NATIVE_TREMOR==1 ++tremor/ivorbiscodec.h ++#endif +#if MOZ_NATIVE_OPUS==1 +opus.h +opus_multistream.h +opus/opus.h +opus/opus_multistream.h +#endif ++#if MOZ_NATIVE_SPEEX==1 ++speex/speex_resampler.h ++#endif ++#if MOZ_NATIVE_SOUNDTOUCH==1 ++soundtouch/SoundTouch.h ++#endif diff --git configure.in configure.in -index df49287..05e97ff 100644 +index 87db361..7947626 100644 --- mozilla/configure.in +++ mozilla/configure.in -@@ -5130,6 +5130,40 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then +@@ -5211,6 +5211,57 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then fi dnl ======================================================== @@ -81,7 +132,7 @@ index df49287..05e97ff 100644 +MOZ_ARG_WITH_BOOL(system-ogg, +[ --with-system-ogg Use system libogg (located with pkgconfig)], +MOZ_NATIVE_OGG=1, -+MOZ_NATIVE_OGG= ) ++MOZ_NATIVE_OGG=) + +if test -n "$MOZ_NATIVE_OGG"; then + PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1) @@ -98,7 +149,7 @@ index df49287..05e97ff 100644 +MOZ_ARG_WITH_BOOL(system-vorbis, +[ --with-system-vorbis Use system libvorbis (located with pkgconfig)], +MOZ_NATIVE_VORBIS=1, -+MOZ_NATIVE_VORBIS= ) ++MOZ_NATIVE_VORBIS=) + +if test -n "$MOZ_NATIVE_VORBIS"; then + PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.4) @@ -109,10 +160,27 @@ index df49287..05e97ff 100644 +AC_SUBST(MOZ_VORBIS_LIBS) + +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_NATIVE_TREMOR=1, ++MOZ_NATIVE_TREMOR=) ++ ++if test -n "$MOZ_NATIVE_TREMOR"; then ++ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1) ++fi ++ ++AC_SUBST(MOZ_NATIVE_TREMOR) ++AC_SUBST(MOZ_TREMOR_CFLAGS) ++AC_SUBST(MOZ_TREMOR_LIBS) ++ ++dnl ======================================================== dnl = Disable Opus audio codec support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(opus, -@@ -5138,6 +5172,25 @@ MOZ_ARG_DISABLE_BOOL(opus, +@@ -5219,6 +5274,76 @@ MOZ_ARG_DISABLE_BOOL(opus, MOZ_OPUS=1) dnl ======================================================== @@ -122,7 +190,7 @@ index df49287..05e97ff 100644 +MOZ_ARG_WITH_BOOL(system-opus, +[ --with-system-opus Use system libopus (located with pkgconfig)], +MOZ_NATIVE_OPUS=1, -+MOZ_NATIVE_OPUS= ) ++MOZ_NATIVE_OPUS=) + +if test -n "$MOZ_NATIVE_OPUS"; then + PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1) @@ -135,30 +203,132 @@ index df49287..05e97ff 100644 +AC_SUBST(MOZ_OPUS_LIBS) + +dnl ======================================================== ++dnl Check for libtheora ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-theora, ++[ --with-system-theora Use system libtheora (located with pkgconfig)], ++MOZ_NATIVE_THEORA=1, ++MOZ_NATIVE_THEORA=) ++ ++if test -n "$MOZ_NATIVE_THEORA"; then ++ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2) ++fi ++ ++AC_SUBST(MOZ_NATIVE_THEORA) ++AC_SUBST(MOZ_THEORA_CFLAGS) ++AC_SUBST(MOZ_THEORA_LIBS) ++ ++dnl ======================================================== ++dnl Check for libspeex resampler ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-speex, ++[ --with-system-speex Use system libspeex (located with pkgconfig)], ++MOZ_NATIVE_SPEEX=1, ++MOZ_NATIVE_SPEEX=) ++ ++if test -n "$MOZ_NATIVE_SPEEX"; then ++ PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2) ++fi ++ ++AC_SUBST(MOZ_NATIVE_SPEEX) ++AC_SUBST(MOZ_SPEEX_CFLAGS) ++AC_SUBST(MOZ_SPEEX_LIBS) ++ ++dnl ======================================================== ++dnl Check for libsoundtouch ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-soundtouch, ++[ --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)], ++MOZ_NATIVE_SOUNDTOUCH=1, ++MOZ_NATIVE_SOUNDTOUCH=) ++ ++if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then ++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.7.0) ++fi ++ ++AC_SUBST(MOZ_NATIVE_SOUNDTOUCH) ++AC_SUBST(MOZ_SOUNDTOUCH_CFLAGS) ++AC_SUBST(MOZ_SOUNDTOUCH_LIBS) ++ ++dnl ======================================================== dnl = Disable VP8 decoder support dnl ======================================================== MOZ_ARG_DISABLE_BOOL(webm, +diff --git content/media/AudioStream.cpp content/media/AudioStream.cpp +index 88c8aa6..6b03288 100644 +--- mozilla/content/media/AudioStream.cpp ++++ mozilla/content/media/AudioStream.cpp +@@ -13,7 +13,6 @@ + #include "mozilla/Mutex.h" + #include <algorithm> + #include "mozilla/Preferences.h" +-#include "soundtouch/SoundTouch.h" + #include "Latency.h" + + namespace mozilla { +diff --git content/media/AudioStream.h content/media/AudioStream.h +index 085676d..00c54fb 100644 +--- mozilla/content/media/AudioStream.h ++++ mozilla/content/media/AudioStream.h +@@ -15,6 +15,7 @@ + #include "mozilla/StaticMutex.h" + + #include "cubeb/cubeb.h" ++#include "soundtouch/SoundTouch.h" + + template <> + class nsAutoRefTraits<cubeb_stream> : public nsPointerRefTraits<cubeb_stream> diff --git content/media/Makefile.in content/media/Makefile.in -index 68f360e..76f2d57 100644 +index fd34449..c6c42c8 100644 --- mozilla/content/media/Makefile.in +++ mozilla/content/media/Makefile.in -@@ -7,4 +7,16 @@ include $(topsrcdir)/config/rules.mk +@@ -6,3 +6,31 @@ include $(topsrcdir)/config/rules.mk + CFLAGS += $(GSTREAMER_CFLAGS) CXXFLAGS += $(GSTREAMER_CFLAGS) - ++ +ifdef MOZ_NATIVE_OGG +CXXFLAGS += $(MOZ_OGG_CFLAGS) +endif + ++ifdef MOZ_NATIVE_THEORA ++CXXFLAGS += $(MOZ_THEORA_CFLAGS) ++endif ++ +ifdef MOZ_NATIVE_VORBIS +CXXFLAGS += $(MOZ_VORBIS_CFLAGS) +endif + ++ifdef MOZ_NATIVE_TREMOR ++CXXFLAGS += $(MOZ_TREMOR_CFLAGS) ++endif ++ +ifdef MOZ_NATIVE_OPUS +CXXFLAGS += $(MOZ_OPUS_CFLAGS) +endif + - AudioNodeEngineNEON.$(OBJ_SUFFIX): CXXFLAGS += -mfpu=neon ++ifdef MOZ_NATIVE_SPEEX ++CXXFLAGS += $(MOZ_SPEEX_CFLAGS) ++endif ++ ++ifdef MOZ_NATIVE_SOUNDTOUCH ++CXXFLAGS += $(MOZ_SOUNDTOUCH_CFLAGS) ++endif +diff --git media/libcubeb/src/Makefile.in media/libcubeb/src/Makefile.in +index 4c14494..1cb98e2 100644 +--- mozilla/media/libcubeb/src/Makefile.in ++++ mozilla/media/libcubeb/src/Makefile.in +@@ -9,3 +9,7 @@ CFLAGS += \ + $(MOZ_ALSA_CFLAGS) \ + $(MOZ_PULSEAUDIO_CFLAGS) \ + $(NULL) ++ ++ifdef MOZ_NATIVE_SPEEX ++CFLAGS += $(MOZ_SPEEX_CFLAGS) ++endif diff --git media/libtheora/Makefile.in media/libtheora/Makefile.in new file mode 100644 index 0000000..1f02dc0 @@ -205,7 +375,7 @@ index 0000000..1f02dc0 +CFLAGS += $(MOZ_OGG_CFLAGS) +endif diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in -index c5e82c4..91ef86a 100644 +index bbc971c..6ed7e41 100644 --- mozilla/media/webrtc/signaling/test/Makefile.in +++ mozilla/media/webrtc/signaling/test/Makefile.in @@ -48,6 +48,12 @@ LIBS += \ @@ -230,7 +400,7 @@ index 00e77e7..55f48ab 100644 ['build_with_mozilla==1', { # Mozilla provides its own build of the opus library. - 'include_dirs': [ -- '$(DIST)/include/opus', +- '/media/libopus/include', - ] + 'cflags_mozilla': [ + '$(MOZ_OPUS_CFLAGS)', @@ -239,10 +409,10 @@ index 00e77e7..55f48ab 100644 'dependencies': [ '<(DEPTH)/third_party/opus/opus.gyp:opus' diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in -index 27f488e..cd27084 100644 +index d42137a..695e75a8 100644 --- mozilla/toolkit/library/Makefile.in +++ mozilla/toolkit/library/Makefile.in -@@ -91,6 +91,18 @@ ifdef MOZ_NATIVE_HUNSPELL +@@ -77,6 +77,34 @@ ifdef MOZ_NATIVE_HUNSPELL EXTRA_DSO_LDOPTS += $(MOZ_HUNSPELL_LIBS) endif @@ -250,14 +420,30 @@ index 27f488e..cd27084 100644 +EXTRA_DSO_LDOPTS += $(MOZ_OGG_LIBS) +endif + ++ifdef MOZ_NATIVE_THEORA ++EXTRA_DSO_LDOPTS += $(MOZ_THEORA_LIBS) ++endif ++ +ifdef MOZ_NATIVE_VORBIS +EXTRA_DSO_LDOPTS += $(MOZ_VORBIS_LIBS) +endif + ++ifdef MOZ_NATIVE_TREMOR ++EXTRA_DSO_LDOPTS += $(MOZ_TREMOR_LIBS) ++endif ++ +ifdef MOZ_NATIVE_OPUS +EXTRA_DSO_LDOPTS += $(MOZ_OPUS_LIBS) +endif + ++ifdef MOZ_NATIVE_SPEEX ++EXTRA_DSO_LDOPTS += $(MOZ_SPEEX_LIBS) ++endif ++ ++ifdef MOZ_NATIVE_SOUNDTOUCH ++EXTRA_DSO_LDOPTS += $(MOZ_SOUNDTOUCH_LIBS) ++endif ++ ifdef MOZ_NATIVE_LIBEVENT EXTRA_DSO_LDOPTS += $(MOZ_LIBEVENT_LIBS) endif |