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.belv...@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+mozi...@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 <m...@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 <st...@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 <st...@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 */

Reply via email to