Hello community, here is the log from the commit of package seamonkey for openSUSE:Factory checked in at 2015-06-30 10:42:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/seamonkey (Old) and /work/SRC/openSUSE:Factory/.seamonkey.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "seamonkey" Changes: -------- --- /work/SRC/openSUSE:Factory/seamonkey/seamonkey.changes 2015-03-23 12:19:31.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.seamonkey.new/seamonkey.changes 2015-06-30 10:42:41.000000000 +0200 @@ -1,0 +2,10 @@ +Sat Jun 27 08:13:54 UTC 2015 - antoine.belvire@laposte.net + +- Fix compilation issues: + * Add mozilla-add-D_GLIBCXX_USE_CXX11_ABI-0-to-CXXFLAG.patch (bmo#1153109) + * Add mozilla-reintroduce-pixman-code-path.patch (bmo#1136958) + * Add mozilla-visitSubstr.patch (bmo#1108834) + * Add mozilla-undef-CONST.patch (bmo#1111395) + * Add mozilla-disable-JEMALLOC_STATIC_SIZES-on-ppc.patch + +------------------------------------------------------------------- New: ---- mozilla-add-D_GLIBCXX_USE_CXX11_ABI-0-to-CXXFLAG.patch mozilla-disable-JEMALLOC_STATIC_SIZES-on-ppc.patch mozilla-reintroduce-pixman-code-path.patch mozilla-undef-CONST.patch mozilla-visitSubstr.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ seamonkey.spec ++++++ --- /var/tmp/diff_new_pack.5TBqpY/_old 2015-06-30 10:42:46.000000000 +0200 +++ /var/tmp/diff_new_pack.5TBqpY/_new 2015-06-30 10:42:46.000000000 +0200 @@ -87,6 +87,16 @@ Patch11: mozilla-icu-strncat.patch Patch12: mozilla-openaes-decl.patch Patch13: mozilla-fix-prototype.patch +# PATCH-FIX-UPSTREAM mozilla-add-D_GLIBCXX_USE_CXX11_ABI-0-to-CXXFLAG.patch -- fix build with GCC 5 (bmo#1153109) +Patch14: mozilla-add-D_GLIBCXX_USE_CXX11_ABI-0-to-CXXFLAG.patch +# PATCH-FIX-UPSTREAM mozilla-reintroduce-pixman-code-path.patch -- fix build on ppc (bmo#1136958) +Patch15: mozilla-reintroduce-pixman-code-path.patch +# PATCH-FIX-UPSTREAM mozilla-visitSubstr.patch -- fix build on ppc (bmo#1108834) +Patch16: mozilla-visitSubstr.patch +# PATCH-FIX-UPSTREAM mozilla-undef-CONST.patch -- fix build on ppc (bmo#1111395) +Patch17: mozilla-undef-CONST.patch +# PATCH-FIX-UPSTREAM mozilla-disable-JEMALLOC_STATIC_SIZES-on-ppc.patch -- fix build on ppc (from deb#763900) +Patch18: mozilla-disable-JEMALLOC_STATIC_SIZES-on-ppc.patch Patch100: seamonkey-ua-locale.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: /bin/sh coreutils @@ -194,6 +204,11 @@ %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 popd # comm patches %patch100 -p1 ++++++ mozilla-add-D_GLIBCXX_USE_CXX11_ABI-0-to-CXXFLAG.patch ++++++
From 32b9943e0d2c7c28d9d113c0e83d121c356fe5d5 Mon Sep 17 00:00:00 2001 From: Mike Hommey <mh+mozilla@glandium.org> Date: Fri, 10 Apr 2015 16:53:05 +0900 Subject: [PATCH] Bug 1153109 - Add -D_GLIBCXX_USE_CXX11_ABI=0 to CXXFLAGS when building with --enable-stdcxx-compat
--- configure.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure.in b/configure.in index 95d2a70..6c858b3 100644 --- a/configure.in +++ b/configure.in @@ -7375,16 +7375,18 @@ STDCXX_COMPAT= MOZ_ARG_ENABLE_BOOL(stdcxx-compat, [ --enable-stdcxx-compat Enable compatibility with older libstdc++], STDCXX_COMPAT=1) if test -n "$STDCXX_COMPAT"; then eval $(CXX="$CXX" HOST_CXX="$HOST_CXX" $PYTHON -m mozbuild.configure.libstdcxx) AC_SUBST(MOZ_LIBSTDCXX_TARGET_VERSION) AC_SUBST(MOZ_LIBSTDCXX_HOST_VERSION) + CXXFLAGS="$CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" + HOST_CXXFLAGS="$HOST_CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" fi dnl ======================================================== dnl = dnl = Profiling and Instrumenting dnl = dnl ======================================================== MOZ_ARG_HEADER(Profiling and Instrumenting) -- 2.3.5.1.g2355df5 ++++++ mozilla-disable-JEMALLOC_STATIC_SIZES-on-ppc.patch ++++++ --- a/memory/mozjemalloc/jemalloc.c 2014-08-25 15:17:22.000000000 +0200 +++ b/memory/mozjemalloc/jemalloc.c 2014-10-03 11:30:51.183346370 +0200 @@ -1088,7 +1088,7 @@ * controlling the malloc behavior are defined as compile-time constants * for best performance and cannot be altered at runtime. */ -#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) +#if !defined(__ia64__) && !defined(__sparc__) && !defined(__mips__) && !defined(__powerpc__) #define MALLOC_STATIC_SIZES 1 #endif ++++++ mozilla-reintroduce-pixman-code-path.patch ++++++ # HG changeset patch # User Mike Hommey <mh@glandium.org> # Date 1425858139 -32400 # Node ID 48e130d698364f246d9ab870044617fbf9e21f20 # Parent 08d7c1951e618f91863d34bddfdffe880bf78bf6 Bug 1136958 - Reintroduce pixman code path removed in bug 1097776 for --disable-skia builds. r=jmuizelaar, a=sledru diff --git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicCompositor.cpp --- a/gfx/layers/basic/BasicCompositor.cpp +++ b/gfx/layers/basic/BasicCompositor.cpp @@ -12,18 +12,23 @@ #include "gfx2DGlue.h" #include "mozilla/gfx/2D.h" #include "mozilla/gfx/Helpers.h" #include "gfxUtils.h" #include "YCbCrUtils.h" #include <algorithm> #include "ImageContainer.h" #include "gfxPrefs.h" +#ifdef MOZ_ENABLE_SKIA #include "skia/SkCanvas.h" // for SkCanvas #include "skia/SkBitmapDevice.h" // for SkBitmapDevice +#else +#define PIXMAN_DONT_DEFINE_STDINT +#include "pixman.h" // for pixman_f_transform, etc +#endif namespace mozilla { using namespace mozilla::gfx; namespace layers { class DataTextureSourceBasic : public DataTextureSource , public TextureSourceBasic @@ -172,16 +177,17 @@ DrawSurfaceWithTextureCoords(DrawTarget // Only use REPEAT if aTextureCoords is outside (0, 0, 1, 1). gfx::Rect unitRect(0, 0, 1, 1); ExtendMode mode = unitRect.Contains(aTextureCoords) ? ExtendMode::CLAMP : ExtendMode::REPEAT; FillRectWithMask(aDest, aDestRect, aSource, aFilter, DrawOptions(aOpacity), mode, aMask, aMaskTransform, &matrix); } +#ifdef MOZ_ENABLE_SKIA static SkMatrix Matrix3DToSkia(const gfx3DMatrix& aMatrix) { SkMatrix transform; transform.setAll(aMatrix._11, aMatrix._21, aMatrix._41, aMatrix._12, @@ -190,20 +196,20 @@ Matrix3DToSkia(const gfx3DMatrix& aMatri aMatrix._14, aMatrix._24, aMatrix._44); return transform; } static void -SkiaTransform(DataSourceSurface* aDest, - DataSourceSurface* aSource, - const gfx3DMatrix& aTransform, - const Point& aDestOffset) +Transform(DataSourceSurface* aDest, + DataSourceSurface* aSource, + const gfx3DMatrix& aTransform, + const Point& aDestOffset) { if (aTransform.IsSingular()) { return; } IntSize destSize = aDest->GetSize(); SkImageInfo destInfo = SkImageInfo::Make(destSize.width, destSize.height, @@ -229,16 +235,88 @@ SkiaTransform(DataSourceSurface* aDest, SkPaint paint; paint.setXfermodeMode(SkXfermode::kSrc_Mode); paint.setAntiAlias(true); paint.setFilterLevel(SkPaint::kLow_FilterLevel); SkRect destRect = SkRect::MakeXYWH(0, 0, srcSize.width, srcSize.height); destCanvas.drawBitmapRectToRect(src, nullptr, destRect, &paint); } +#else +static pixman_transform +Matrix3DToPixman(const gfx3DMatrix& aMatrix) +{ + pixman_f_transform transform; + + transform.m[0][0] = aMatrix._11; + transform.m[0][1] = aMatrix._21; + transform.m[0][2] = aMatrix._41; + transform.m[1][0] = aMatrix._12; + transform.m[1][1] = aMatrix._22; + transform.m[1][2] = aMatrix._42; + transform.m[2][0] = aMatrix._14; + transform.m[2][1] = aMatrix._24; + transform.m[2][2] = aMatrix._44; + + pixman_transform result; + pixman_transform_from_pixman_f_transform(&result, &transform); + + return result; +} + +static void +Transform(DataSourceSurface* aDest, + DataSourceSurface* aSource, + const gfx3DMatrix& aTransform, + const Point& aDestOffset) +{ + IntSize destSize = aDest->GetSize(); + pixman_image_t* dest = pixman_image_create_bits(PIXMAN_a8r8g8b8, + destSize.width, + destSize.height, + (uint32_t*)aDest->GetData(), + aDest->Stride()); + + IntSize srcSize = aSource->GetSize(); + pixman_image_t* src = pixman_image_create_bits(PIXMAN_a8r8g8b8, + srcSize.width, + srcSize.height, + (uint32_t*)aSource->GetData(), + aSource->Stride()); + + NS_ABORT_IF_FALSE(src && dest, "Failed to create pixman images?"); + + pixman_transform pixTransform = Matrix3DToPixman(aTransform); + pixman_transform pixTransformInverted; + + // If the transform is singular then nothing would be drawn anyway, return here + if (!pixman_transform_invert(&pixTransformInverted, &pixTransform)) { + pixman_image_unref(dest); + pixman_image_unref(src); + return; + } + pixman_image_set_transform(src, &pixTransformInverted); + + pixman_image_composite32(PIXMAN_OP_SRC, + src, + nullptr, + dest, + aDestOffset.x, + aDestOffset.y, + 0, + 0, + 0, + 0, + destSize.width, + destSize.height); + + pixman_image_unref(dest); + pixman_image_unref(src); +} +#endif static inline IntRect RoundOut(Rect r) { r.RoundOut(); return IntRect(r.x, r.y, r.width, r.height); } @@ -368,22 +446,26 @@ BasicCompositor::DrawQuad(const gfx::Rec } if (!aTransform.Is2D()) { dest->Flush(); RefPtr<SourceSurface> snapshot = dest->Snapshot(); RefPtr<DataSourceSurface> source = snapshot->GetDataSurface(); RefPtr<DataSourceSurface> temp = - Factory::CreateDataSourceSurface(RoundOut(transformBounds).Size(), SurfaceFormat::B8G8R8A8, true); + Factory::CreateDataSourceSurface(RoundOut(transformBounds).Size(), SurfaceFormat::B8G8R8A8 +#ifdef MOZ_ENABLE_SKIA + , true +#endif + ); if (NS_WARN_IF(!temp)) { return; } - SkiaTransform(temp, source, new3DTransform, transformBounds.TopLeft()); + Transform(temp, source, new3DTransform, transformBounds.TopLeft()); transformBounds.MoveTo(0, 0); buffer->DrawSurface(temp, transformBounds, transformBounds); } buffer->PopClip(); } diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLayerManager.cpp --- a/gfx/layers/basic/BasicLayerManager.cpp +++ b/gfx/layers/basic/BasicLayerManager.cpp @@ -41,18 +41,23 @@ #include "nsAutoPtr.h" // for nsRefPtr #include "nsCOMPtr.h" // for already_AddRefed #include "nsDebug.h" // for NS_ASSERTION, etc #include "nsISupportsImpl.h" // for gfxContext::Release, etc #include "nsPoint.h" // for nsIntPoint #include "nsRect.h" // for nsIntRect #include "nsRegion.h" // for nsIntRegion, etc #include "nsTArray.h" // for nsAutoTArray +#ifdef MOZ_ENABLE_SKIA #include "skia/SkCanvas.h" // for SkCanvas #include "skia/SkBitmapDevice.h" // for SkBitmapDevice +#else +#define PIXMAN_DONT_DEFINE_STDINT +#include "pixman.h" // for pixman_f_transform, etc +#endif class nsIWidget; namespace mozilla { namespace layers { using namespace mozilla::gfx; /** @@ -601,16 +606,17 @@ void BasicLayerManager::SetRoot(Layer* aLayer) { NS_ASSERTION(aLayer, "Root can't be null"); NS_ASSERTION(aLayer->Manager() == this, "Wrong manager"); NS_ASSERTION(InConstruction(), "Only allowed in construction phase"); mRoot = aLayer; } +#ifdef MOZ_ENABLE_SKIA static SkMatrix BasicLayerManager_Matrix3DToSkia(const gfx3DMatrix& aMatrix) { SkMatrix transform; transform.setAll(aMatrix._11, aMatrix._21, aMatrix._41, aMatrix._12, @@ -619,20 +625,20 @@ BasicLayerManager_Matrix3DToSkia(const g aMatrix._14, aMatrix._24, aMatrix._44); return transform; } static void -SkiaTransform(const gfxImageSurface* aDest, - RefPtr<DataSourceSurface> aSrc, - const gfx3DMatrix& aTransform, - gfxPoint aDestOffset) +Transform(const gfxImageSurface* aDest, + RefPtr<DataSourceSurface> aSrc, + const gfx3DMatrix& aTransform, + gfxPoint aDestOffset) { if (aTransform.IsSingular()) { return; } IntSize destSize = ToIntSize(aDest->GetSize()); SkImageInfo destInfo = SkImageInfo::Make(destSize.width, destSize.height, @@ -658,16 +664,88 @@ SkiaTransform(const gfxImageSurface* aDe SkPaint paint; paint.setXfermodeMode(SkXfermode::kSrc_Mode); paint.setAntiAlias(true); paint.setFilterLevel(SkPaint::kLow_FilterLevel); SkRect destRect = SkRect::MakeXYWH(0, 0, srcSize.width, srcSize.height); destCanvas.drawBitmapRectToRect(src, nullptr, destRect, &paint); } +#else +static pixman_transform +BasicLayerManager_Matrix3DToPixman(const gfx3DMatrix& aMatrix) +{ + pixman_f_transform transform; + + transform.m[0][0] = aMatrix._11; + transform.m[0][1] = aMatrix._21; + transform.m[0][2] = aMatrix._41; + transform.m[1][0] = aMatrix._12; + transform.m[1][1] = aMatrix._22; + transform.m[1][2] = aMatrix._42; + transform.m[2][0] = aMatrix._14; + transform.m[2][1] = aMatrix._24; + transform.m[2][2] = aMatrix._44; + + pixman_transform result; + pixman_transform_from_pixman_f_transform(&result, &transform); + + return result; +} + +static void +Transform(const gfxImageSurface* aDest, + RefPtr<DataSourceSurface> aSrc, + const gfx3DMatrix& aTransform, + gfxPoint aDestOffset) +{ + IntSize destSize = ToIntSize(aDest->GetSize()); + pixman_image_t* dest = pixman_image_create_bits(aDest->Format() == gfxImageFormat::ARGB32 ? PIXMAN_a8r8g8b8 : PIXMAN_x8r8g8b8, + destSize.width, + destSize.height, + (uint32_t*)aDest->Data(), + aDest->Stride()); + + IntSize srcSize = aSrc->GetSize(); + pixman_image_t* src = pixman_image_create_bits(aSrc->GetFormat() == SurfaceFormat::B8G8R8A8 ? PIXMAN_a8r8g8b8 : PIXMAN_x8r8g8b8, + srcSize.width, + srcSize.height, + (uint32_t*)aSrc->GetData(), + aSrc->Stride()); + + NS_ABORT_IF_FALSE(src && dest, "Failed to create pixman images?"); + + pixman_transform pixTransform = BasicLayerManager_Matrix3DToPixman(aTransform); + pixman_transform pixTransformInverted; + + // If the transform is singular then nothing would be drawn anyway, return here + if (!pixman_transform_invert(&pixTransformInverted, &pixTransform)) { + pixman_image_unref(dest); + pixman_image_unref(src); + return; + } + pixman_image_set_transform(src, &pixTransformInverted); + + pixman_image_composite32(PIXMAN_OP_SRC, + src, + nullptr, + dest, + aDestOffset.x, + aDestOffset.y, + 0, + 0, + 0, + 0, + destSize.width, + destSize.height); + + pixman_image_unref(dest); + pixman_image_unref(src); +} +#endif /** * Transform a surface using a gfx3DMatrix and blit to the destination if * it is efficient to do so. * * @param aSource Source surface. * @param aDest Desintation context. * @param aBounds Area represented by aSource. @@ -699,17 +777,17 @@ Transform3D(RefPtr<SourceSurface> aSourc aDestRect.height), gfxImageFormat::ARGB32); gfxPoint offset = aDestRect.TopLeft(); // Include a translation to the correct origin. gfx3DMatrix translation = gfx3DMatrix::Translation(aBounds.x, aBounds.y, 0); // Transform the content and offset it such that the content begins at the origin. - SkiaTransform(destImage, aSource->GetDataSurface(), translation * aTransform, offset); + Transform(destImage, aSource->GetDataSurface(), translation * aTransform, offset); // If we haven't actually drawn to aDest then return our temporary image so // that the caller can do this. return destImage.forget(); } void BasicLayerManager::PaintSelfOrChildren(PaintLayerContext& aPaintContext, ++++++ mozilla-undef-CONST.patch ++++++ # HG changeset patch # User Steve Singer <steve@ssinger.info> # Date 1418563440 -3600 # Node ID 61d908954a18a4b9b306633a86594699cf3a62ea # Parent 827b1ad5126d5946bca017eff1b2fd2f1a2ffa02 Bug 1111395 - undef CONST to fix problems in some unified builds . r=luke diff --git a/js/src/dtoa.c b/js/src/dtoa.c --- a/js/src/dtoa.c +++ b/js/src/dtoa.c @@ -3241,8 +3241,9 @@ dtoa #endif Bfree(PASS_STATE b); *s = 0; *decpt = k + 1; if (rve) *rve = s; return s0; } +#undef CONST ++++++ mozilla-visitSubstr.patch ++++++ # HG changeset patch # Parent 5a37a113c5187c82af6d56b1ba620b40d8500da9 # User Steve Singer <steve@ssinger.info> Bug 1108834 - Add visitSubstr to Lowering-None diff --git a/js/src/jit/none/Lowering-none.h b/js/src/jit/none/Lowering-none.h --- a/js/src/jit/none/Lowering-none.h +++ b/js/src/jit/none/Lowering-none.h @@ -84,16 +84,17 @@ class LIRGeneratorNone : public LIRGener bool visitAsmJSCompareExchangeHeap(MAsmJSCompareExchangeHeap *ins) { MOZ_CRASH(); } bool visitAsmJSAtomicBinopHeap(MAsmJSAtomicBinopHeap *ins) { MOZ_CRASH(); } LTableSwitch *newLTableSwitch(LAllocation, LDefinition, MTableSwitch *) { MOZ_CRASH(); } LTableSwitchV *newLTableSwitchV(MTableSwitch *) { MOZ_CRASH(); } bool visitSimdTernaryBitwise(MSimdTernaryBitwise *ins) { MOZ_CRASH(); } bool visitSimdSplatX4(MSimdSplatX4 *ins) { MOZ_CRASH(); } bool visitSimdValueX4(MSimdValueX4 *lir) { MOZ_CRASH(); } + bool visitSubstr(MSubstr *) { MOZ_CRASH(); } }; typedef LIRGeneratorNone LIRGeneratorSpecific; } // namespace jit } // namespace js #endif /* jit_none_Lowering_none_h */
participants (1)
-
root@hilbert.suse.de