add xulrunner

This commit is contained in:
Mario Fetka
2012-01-20 06:57:10 +01:00
parent 26c180d918
commit fb76201cf3
54 changed files with 2855 additions and 60 deletions

1773
net-libs/xulrunner/ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
AUX arm-bug-644136.patch 472 RMD160 bda46fa7a4ca306ebfa3455d90c6e54a3f0d97e1 SHA1 f2eb5ab3ce793fc7d8c30d9f9db6be3a714f5c16 SHA256 3152f9c5b3f9cd75caf522e71d4105be8fbcc4def3e2f4162663799d78e03511
AUX bug-270163.patch 251 RMD160 fe75db176b9425b7ded802cfa9d7af556d824d68 SHA1 7c42577b723c6a37581fd5de0814297e806b099c SHA256 92f9762412318627eb6639f576385876958503eeb47c612c92f6e4cfc58e3edf
AUX bug-606109.patch 1243 RMD160 ec262eed0480d8a13c914c4781329e3ea1c23b0f SHA1 0c0cc40ee0a663422b107cc3ae5d1412b8c45ac7 SHA256 266d9c7218cc04c3badadc54f8f31b1238326b9c3052aed057ffce40c69541dc
AUX bug-626229.patch 4172 RMD160 d7ae0bc768b6951c249d640d7f0c079cd46f3adb SHA1 bd5d649948e0cb3a662bfa35f9ce6f1f60653067 SHA256 c61d16a56bcc7e333e8f47662d1ad9bc8468806bbf9d76c500d666bf645c1ddc
AUX fix-animated-gifs.patch 7789 RMD160 a8889110a2daea27e07f92a70df6cb1e39e05546 SHA1 05b335feeefff4f06004a20182f821d998b44879 SHA256 6d85d3c103b0dcdbb073302a4041a37bea97c715384d04d299c1fb49a5da7443
AUX libnotify-0.7.patch 1777 RMD160 1669210dd704fd4cb84be3fbb8ced8bd10133abb SHA1 981a0cf66608e1b441c21db73a7203711de56fe0 SHA256 153d129004e63baca57182ce2ec381a9103feef9e5fbdf631339bce25cde9489
AUX mozilla-2.0_arm_respect_cflags.patch 3333 RMD160 d5f8b428a5a9cb0938e99666ac66d2abf3156b9b SHA1 17a5807b5f26a54ba80be7d0b64fbeb6d050364b SHA256 fb92269bcd700b257133875d5ecba063e99f33235282b251d4bb0eb37a73ba8f
AUX mozilla-2.0_support_64bit_big_endian.patch 1668 RMD160 1013dbd09d7956162351f5209eb77f08d83d9a12 SHA1 83423a47c016bdefdac562c8d606868eb81d9e62 SHA256 041ffa768a680293f97b325573a91a2c63841cd25648294e7989fcfcaedc70f2
AUX xulrunner-1.9.2-gtk+-2.21.patch 663 RMD160 20e2465da0e6c884527fd7cfebd3bdb2f8f015a9 SHA1 f2b9c26ed255bde672ccc8cb7ae4ae014f52d6f5 SHA256 79c11dc4304d748f3c2d6e451aa6d44dd1bb450d1db671e7fa4a83420c6f2c05
AUX xulrunner-default-prefs.js 677 RMD160 73ec130da332c1d6517a6f838d5fab0cc134289a SHA1 b9efc3ef5e95ad3081f6b68d771e32e848b4b9ac SHA256 53493080276f221f1619153c114caf268206a6fa107972b33a4eb7f1c1cf6fe8
DIST firefox-3.6.22.source.tar.bz2 51675082 RMD160 7b5cd6bb9264b97b0059bb254c383d9237982e4c SHA1 db7953b20568126a3ffe7c5a89ab0cecac4b0a53 SHA256 788e5a64f8bdb07183405c568fda70d8cb7759d3a8d75c404f3589fe8a039229
DIST xulrunner-1.9.2-patches-0.9.tar.bz2 15320 RMD160 2dfb86650c0a9a1f0c5bf86df7434c7c286658d6 SHA1 a2276c708eec2e92611ac1e7a2eaf25c39263d30 SHA256 5cca685442f1ab920eb1ba86719a38a437ae05bd5cefc42ababc2556425ebf5a
EBUILD xulrunner-1.9.2.22.ebuild 8569 RMD160 f11f95fa96074b007723eb53b024f70cb8400d82 SHA1 4cb10df8f55372974a25e2d0b6ffe3e31daf4bcf SHA256 abc96ffa273ccd3787ce9d0b09048f8b071e9dea6c50cbe5212afabb9f541480
MISC ChangeLog 61955 RMD160 077c03f766d369f0687d6c109cb5a105e82a578c SHA1 84f1e55e132babc6e9d5e596dad770cbe46a79e6 SHA256 c42382a39878064a732f3d073fc462f8a895dc882db4e9dd5f9e2e2aec1bfa36
MISC metadata.xml 737 RMD160 ee298932f419af0c12657a8df62b797e1ae7720b SHA1 8b9e4d04ae106f928b374568a5d3e2ff0eddcc88 SHA256 400effb40ec15054f2a51ce3d9ea5c27359a4a4456c18459c014c58773491be0

View File

@@ -0,0 +1,14 @@
diff -r 4e4c7457e8f7 js/src/ctypes/libffi/src/arm/sysv.S
--- a/js/src/ctypes/libffi/src/arm/sysv.S Sat Apr 02 11:48:22 2011 -0400
+++ b/js/src/ctypes/libffi/src/arm/sysv.S Sun Apr 03 04:55:15 2011 +0300
@@ -229,6 +229,10 @@
.size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV)
+/* Below are VFP hard-float ABI call and closure implementations.
+ Add VFP FPU directive here. */
+ .fpu vfp
+
@ r0: fn
@ r1: &ecif
@ r2: cif->bytes

View File

@@ -0,0 +1,11 @@
--- a/mozilla/gfx/ots/src/os2.cc
+++ b/mozilla/gfx/ots/src/os2.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <cstddef>
+
#include "os2.h"
#include "head.h"

View File

@@ -0,0 +1,48 @@
# HG changeset patch
# User Jory A. Pratt <anarchy@gentoo.org>
# Parent 74e4421e0a30c6e21b594675e32a8d9d663c309c
Add missing ifde MOZ_MEDIA
diff --git a/content/base/src/nsContentSink.cpp b/content/base/src/nsContentSink.cpp
--- a/content/base/src/nsContentSink.cpp
+++ b/content/base/src/nsContentSink.cpp
@@ -1860,17 +1860,19 @@ nsIAtom** const kDefaultAllowedTags [] =
&nsGkAtoms::nobr,
&nsGkAtoms::noscript,
&nsGkAtoms::ol,
&nsGkAtoms::optgroup,
&nsGkAtoms::option,
&nsGkAtoms::output,
&nsGkAtoms::p,
&nsGkAtoms::pre,
+#ifdef MOZ_MEDIA
&nsGkAtoms::progress,
+#endif
&nsGkAtoms::q,
&nsGkAtoms::rp,
&nsGkAtoms::rt,
&nsGkAtoms::ruby,
&nsGkAtoms::s,
&nsGkAtoms::samp,
&nsGkAtoms::section,
&nsGkAtoms::select,
@@ -1952,17 +1954,19 @@ nsIAtom** const kDefaultAllowedAttribute
&nsGkAtoms::itemref,
&nsGkAtoms::itemscope,
&nsGkAtoms::itemtype,
&nsGkAtoms::kind,
&nsGkAtoms::label,
&nsGkAtoms::lang,
&nsGkAtoms::list,
&nsGkAtoms::longdesc,
+#ifdef MOZ_MEDIA
&nsGkAtoms::loop,
+#endif
&nsGkAtoms::low,
&nsGkAtoms::max,
&nsGkAtoms::maxlength,
&nsGkAtoms::media,
&nsGkAtoms::min,
&nsGkAtoms::mozdonotsend,
&nsGkAtoms::method,
&nsGkAtoms::multiple,

View File

@@ -0,0 +1,177 @@
diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp
--- a/dom/ipc/ContentChild.cpp
+++ b/dom/ipc/ContentChild.cpp
@@ -43,27 +43,31 @@
#ifdef MOZ_WIDGET_QT
#include "nsQAppInstance.h"
#endif
#include "ContentChild.h"
#include "CrashReporterChild.h"
#include "TabChild.h"
+#if defined(MOZ_SYDNEYAUDIO)
#include "AudioChild.h"
+#endif
#include "mozilla/ipc/TestShellChild.h"
#include "mozilla/net/NeckoChild.h"
#include "mozilla/ipc/XPCShellEnvironment.h"
#include "mozilla/jsipc/PContextWrapperChild.h"
#include "mozilla/dom/ExternalHelperAppChild.h"
#include "mozilla/dom/StorageChild.h"
#include "mozilla/dom/PCrashReporterChild.h"
+#if defined(MOZ_SYDNEYAUDIO)
#include "nsAudioStream.h"
+#endif
#include "nsIMemoryReporter.h"
#include "nsIObserverService.h"
#include "nsTObserverArray.h"
#include "nsIObserver.h"
#include "nsIPrefService.h"
#include "nsServiceManagerUtils.h"
#include "nsXULAppAPI.h"
#include "nsWeakReference.h"
@@ -379,26 +383,32 @@ ContentChild::RecvPTestShellConstructor(
return true;
}
PAudioChild*
ContentChild::AllocPAudio(const PRInt32& numChannels,
const PRInt32& rate,
const PRInt32& format)
{
+#if defined(MOZ_SYDNEYAUDIO)
AudioChild *child = new AudioChild();
NS_ADDREF(child);
return child;
+#else
+ return nsnull;
+#endif
}
bool
ContentChild::DeallocPAudio(PAudioChild* doomed)
{
+#if defined(MOZ_SYDNEYAUDIO)
AudioChild *child = static_cast<AudioChild*>(doomed);
NS_RELEASE(child);
+#endif
return true;
}
PNeckoChild*
ContentChild::AllocPNecko()
{
return new NeckoChild();
}
diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp
--- a/dom/ipc/ContentParent.cpp
+++ b/dom/ipc/ContentParent.cpp
@@ -63,17 +63,19 @@
#include "nsCExternalHandlerService.h"
#include "nsFrameMessageManager.h"
#include "nsIAlertsService.h"
#include "nsToolkitCompsCID.h"
#include "nsIDOMGeoGeolocation.h"
#include "nsIConsoleService.h"
#include "nsIScriptError.h"
#include "nsConsoleMessage.h"
+#if defined(MOZ_SYDNEYAUDIO)
#include "AudioParent.h"
+#endif
#if defined(ANDROID) || defined(LINUX)
#include <sys/time.h>
#include <sys/resource.h>
#endif
#ifdef MOZ_PERMISSIONS
#include "nsPermissionManager.h"
@@ -682,26 +684,32 @@ ContentParent::DeallocPTestShell(PTestSh
return true;
}
PAudioParent*
ContentParent::AllocPAudio(const PRInt32& numChannels,
const PRInt32& rate,
const PRInt32& format)
{
+#if defined(MOZ_SYDNEYAUDIO)
AudioParent *parent = new AudioParent(numChannels, rate, format);
NS_ADDREF(parent);
return parent;
+#else
+ return nsnull;
+#endif
}
bool
ContentParent::DeallocPAudio(PAudioParent* doomed)
{
+#if defined(MOZ_SYDNEYAUDIO)
AudioParent *parent = static_cast<AudioParent*>(doomed);
NS_RELEASE(parent);
+#endif
return true;
}
PNeckoParent*
ContentParent::AllocPNecko()
{
return new NeckoParent();
}
diff --git a/dom/ipc/Makefile.in b/dom/ipc/Makefile.in
--- a/dom/ipc/Makefile.in
+++ b/dom/ipc/Makefile.in
@@ -51,38 +51,45 @@ DIRS = tests
DIRS = tests
endif
EXPORTS = TabMessageUtils.h PCOMContentPermissionRequestChild.h
EXPORTS_NAMESPACES = mozilla/dom
EXPORTS_mozilla/dom = \
- AudioChild.h \
- AudioParent.h \
ContentChild.h \
ContentParent.h \
ContentProcess.h \
CrashReporterChild.h \
CrashReporterParent.h \
TabParent.h \
TabChild.h \
$(NULL)
CPPSRCS = \
- AudioChild.cpp \
- AudioParent.cpp \
ContentProcess.cpp \
ContentParent.cpp \
ContentChild.cpp \
CrashReporterParent.cpp \
TabParent.cpp \
TabChild.cpp \
TabMessageUtils.cpp \
$(NULL)
+
+ifdef MOZ_SYDNEYAUDIO
+EXPORTS_mozilla/dom += \
+ AudioChild.h \
+ AudioParent.h \
+ $(NULL)
+CPPSRCS += \
+ AudioChild.cpp \
+ AudioParent.cpp \
+ $(NULL)
+endif
include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
include $(topsrcdir)/config/rules.mk
LOCAL_INCLUDES += \
-I$(srcdir)/../../content/base/src \
-I$(srcdir)/../../content/events/src \

View File

@@ -0,0 +1,246 @@
# HG changeset patch
# User Rafał Mużyło <galtgendo@o2.pl>
# Parent 69e253891ca3839b6d4b8f5cb7c0e6950bb66902
Fix animated gif flickering bug 597174
diff --git a/modules/libpr0n/decoders/gif/nsGIFDecoder2.cpp b/modules/libpr0n/decoders/gif/nsGIFDecoder2.cpp
--- a/modules/libpr0n/decoders/gif/nsGIFDecoder2.cpp
+++ b/modules/libpr0n/decoders/gif/nsGIFDecoder2.cpp
@@ -197,30 +197,29 @@ static NS_METHOD ReadDataOut(nsIInputStr
}
// Push any new rows according to mCurrentPass/mLastFlushedPass and
// mCurrentRow/mLastFlushedRow. Note: caller is responsible for
// updating mlastFlushed{Row,Pass}.
nsresult
nsGIFDecoder2::FlushImageData(PRUint32 fromRow, PRUint32 rows)
{
- nsIntRect r(0, fromRow, mGIFStruct.width, rows);
+ nsIntRect r(mGIFStruct.x_offset, mGIFStruct.y_offset + fromRow, mGIFStruct.width, rows);
// Update image
nsresult rv = mImageContainer->FrameUpdated(mGIFStruct.images_decoded, r);
if (NS_FAILED(rv)) {
return rv;
}
// Offset to the frame position
// Only notify observer(s) for first frame
if (!mGIFStruct.images_decoded && mObserver) {
PRUint32 imgCurFrame;
mImageContainer->GetCurrentFrameIndex(&imgCurFrame);
- r.y += mGIFStruct.y_offset;
mObserver->OnDataAvailable(nsnull, imgCurFrame == PRUint32(mGIFStruct.images_decoded), &r);
}
return NS_OK;
}
nsresult
nsGIFDecoder2::FlushImageData()
{
diff --git a/modules/libpr0n/src/imgContainer.cpp b/modules/libpr0n/src/imgContainer.cpp
--- a/modules/libpr0n/src/imgContainer.cpp
+++ b/modules/libpr0n/src/imgContainer.cpp
@@ -415,16 +415,18 @@ nsresult imgContainer::InternalAddFrameH
nsAutoPtr<imgFrame> frame(aFrame);
if (paletteData && paletteLength)
frame->GetPaletteData(paletteData, paletteLength);
frame->GetImageData(imageData, imageLength);
+ frame->LockImageData();
+
mFrames.InsertElementAt(framenum, frame.forget());
mNumFrames++;
return NS_OK;
}
nsresult imgContainer::InternalAddFrame(PRUint32 framenum,
PRInt32 aX, PRInt32 aY,
@@ -440,16 +442,21 @@ nsresult imgContainer::InternalAddFrame(
return NS_ERROR_INVALID_ARG;
nsAutoPtr<imgFrame> frame(new imgFrame());
NS_ENSURE_TRUE(frame, NS_ERROR_OUT_OF_MEMORY);
nsresult rv = frame->Init(aX, aY, aWidth, aHeight, aFormat, aPaletteDepth);
NS_ENSURE_SUCCESS(rv, rv);
+ if (mFrames.Length() > 0) {
+ imgFrame *prevframe = mFrames.ElementAt(mFrames.Length() - 1);
+ prevframe->UnlockImageData();
+ }
+
if (mFrames.Length() == 0) {
return InternalAddFrameHelper(framenum, frame.forget(), imageData, imageLength,
paletteData, paletteLength);
}
if (mFrames.Length() == 1) {
// Since we're about to add our second frame, initialize animation stuff
if (!ensureAnimExists())
diff --git a/modules/libpr0n/src/imgFrame.cpp b/modules/libpr0n/src/imgFrame.cpp
--- a/modules/libpr0n/src/imgFrame.cpp
+++ b/modules/libpr0n/src/imgFrame.cpp
@@ -152,16 +152,17 @@ imgFrame::imgFrame() :
mBlendMethod(1), /* imgIContainer::kBlendOver */
mSinglePixel(PR_FALSE),
mNeverUseDeviceSurface(PR_FALSE),
mFormatChanged(PR_FALSE),
mCompositingFailed(PR_FALSE)
#ifdef USE_WIN_SURFACE
, mIsDDBSurface(PR_FALSE)
#endif
+ , mLocked(PR_FALSE)
{
static PRBool hasCheckedOptimize = PR_FALSE;
if (!hasCheckedOptimize) {
if (PR_GetEnv("MOZ_DISABLE_IMAGE_OPTIMIZE")) {
gDisableOptimize = PR_TRUE;
}
hasCheckedOptimize = PR_TRUE;
}
@@ -413,18 +414,17 @@ void imgFrame::Draw(gfxContext *aContext
nsRefPtr<gfxASurface> surface;
gfxImageSurface::gfxImageFormat format;
NS_ASSERTION(!sourceRect.Intersect(subimage).IsEmpty(),
"We must be allowed to sample *some* source pixels!");
PRBool doTile = !imageRect.Contains(sourceRect);
if (doPadding || doPartialDecode) {
- gfxRect available = gfxRect(mDecoded.x, mDecoded.y, mDecoded.width, mDecoded.height) +
- gfxPoint(aPadding.left, aPadding.top);
+ gfxRect available = gfxRect(mDecoded.x, mDecoded.y, mDecoded.width, mDecoded.height);
if (!doTile && !mSinglePixel) {
// Not tiling, and we have a surface, so we can account for
// padding and/or a partial decode just by twiddling parameters.
// First, update our user-space fill rect.
sourceRect = sourceRect.Intersect(available);
gfxMatrix imageSpaceToUserSpace = userSpaceToImageSpace;
imageSpaceToUserSpace.Invert();
@@ -708,17 +708,17 @@ nsresult imgFrame::ImageUpdated(const ns
mem->IsLowMemory(&lowMemory);
if (lowMemory)
return NS_ERROR_OUT_OF_MEMORY;
mDecoded.UnionRect(mDecoded, aUpdateRect);
// clamp to bounds, in case someone sends a bogus updateRect (I'm looking at
// you, gif decoder)
- nsIntRect boundsRect(0, 0, mSize.width, mSize.height);
+ nsIntRect boundsRect(mOffset, mSize);
mDecoded.IntersectRect(mDecoded, boundsRect);
#ifdef XP_MACOSX
if (mQuartzSurface)
mQuartzSurface->Flush();
#endif
return NS_OK;
}
@@ -806,17 +806,23 @@ void imgFrame::GetPaletteData(PRUint32 *
*aPalette = (PRUint32 *) mPalettedImageData;
*length = PaletteDataLength();
}
}
nsresult imgFrame::LockImageData()
{
if (mPalettedImageData)
- return NS_OK;
+ return NS_ERROR_NOT_AVAILABLE;
+
+ NS_ABORT_IF_FALSE(!mLocked, "Trying to lock already locked image data.");
+ if (mLocked) {
+ return NS_ERROR_FAILURE;
+ }
+ mLocked = PR_TRUE;
if ((mOptSurface || mSinglePixel) && !mImageSurface) {
// Recover the pixels
mImageSurface = new gfxImageSurface(gfxIntSize(mSize.width, mSize.height),
gfxImageSurface::ImageFormatARGB32);
if (!mImageSurface || mImageSurface->CairoStatus())
return NS_ERROR_OUT_OF_MEMORY;
@@ -832,23 +838,35 @@ nsresult imgFrame::LockImageData()
#ifdef USE_WIN_SURFACE
mWinSurface = nsnull;
#endif
#ifdef XP_MACOSX
mQuartzSurface = nsnull;
#endif
}
+ if (mImageSurface)
+ mImageSurface->Flush();
+
return NS_OK;
}
nsresult imgFrame::UnlockImageData()
{
if (mPalettedImageData)
- return NS_OK;
+ return NS_ERROR_NOT_AVAILABLE;
+
+ NS_ABORT_IF_FALSE(mLocked, "Unlocking an unlocked image!");
+ if (!mLocked) {
+ return NS_ERROR_FAILURE;
+ }
+ mLocked = PR_FALSE;
+
+ if (mImageSurface)
+ mImageSurface->MarkDirty();
#ifdef XP_MACOSX
if (mQuartzSurface)
mQuartzSurface->Flush();
#endif
return NS_OK;
}
@@ -895,17 +913,17 @@ PRInt32 imgFrame::GetBlendMethod() const
void imgFrame::SetBlendMethod(PRInt32 aBlendMethod)
{
mBlendMethod = (PRInt8)aBlendMethod;
}
PRBool imgFrame::ImageComplete() const
{
- return mDecoded == nsIntRect(0, 0, mSize.width, mSize.height);
+ return mDecoded == nsIntRect(mOffset, mSize);
}
// A hint from the image decoders that this image has no alpha, even
// though we created is ARGB32. This changes our format to RGB24,
// which in turn will cause us to Optimize() to RGB24. Has no effect
// after Optimize() is called, though in all cases it will be just a
// performance win -- the pixels are still correct and have the A byte
// set to 0xff.
diff --git a/modules/libpr0n/src/imgFrame.h b/modules/libpr0n/src/imgFrame.h
--- a/modules/libpr0n/src/imgFrame.h
+++ b/modules/libpr0n/src/imgFrame.h
@@ -167,16 +167,17 @@ private: // data
gfxASurface::gfxImageFormat mFormat;
PRInt8 mPaletteDepth;
PRInt8 mBlendMethod;
PRPackedBool mSinglePixel;
PRPackedBool mNeverUseDeviceSurface;
PRPackedBool mFormatChanged;
PRPackedBool mCompositingFailed;
+ PRPackedBool mLocked;
#ifdef XP_WIN
PRPackedBool mIsDDBSurface;
#endif
};
#endif /* imgFrame_h */

View File

@@ -0,0 +1,56 @@
# HG changeset patch
# User Priit Laes <plaes@plaes.org>
# Parent 194dd9a57615185c998a87148fac65df51600758
Bug 628222 - Add support for libnotify-0.7+. r=karlt
diff --git a/toolkit/system/gnome/nsAlertsIconListener.cpp b/toolkit/system/gnome/nsAlertsIconListener.cpp
--- a/toolkit/system/gnome/nsAlertsIconListener.cpp
+++ b/toolkit/system/gnome/nsAlertsIconListener.cpp
@@ -42,16 +42,21 @@
#include "nsNetUtil.h"
#include "nsIImageToPixbuf.h"
#include "nsIStringBundle.h"
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <libnotify/notify.h>
#include <gdk/gdk.h>
+// Compatibility macro for <libnotify-0.7
+#ifndef NOTIFY_CHECK_VERSION
+#define NOTIFY_CHECK_VERSION(x,y,z) 0
+#endif
+
static PRBool gHasActions = PR_FALSE;
static void notify_action_cb(NotifyNotification *notification,
gchar *action, gpointer user_data)
{
nsAlertsIconListener* alert = static_cast<nsAlertsIconListener*> (user_data);
alert->SendCallback();
}
@@ -199,17 +204,23 @@ nsAlertsIconListener::OnStopFrame(imgIRe
return NS_OK;
}
nsresult
nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf)
{
NotifyNotification* notify = notify_notification_new(mAlertTitle.get(),
mAlertText.get(),
- NULL, NULL);
+ NULL
+// >=libnotify-0.7.0 has no support for attaching to widgets
+#if !NOTIFY_CHECK_VERSION(0,7,0)
+ , NULL
+#endif
+ );
+
if (!notify)
return NS_ERROR_OUT_OF_MEMORY;
if (aPixbuf)
notify_notification_set_icon_from_pixbuf(notify, aPixbuf);
NS_ADDREF(this);
if (mAlertHasAction) {

View File

@@ -0,0 +1,80 @@
diff -ur mozilla-release.orig//configure.in mozilla-release/configure.in
--- mozilla-release.orig//configure.in 2011-07-17 13:44:12.000000000 +0200
+++ mozilla-release/configure.in 2011-07-17 13:46:50.000000000 +0200
@@ -7165,9 +7165,6 @@
if test "$GNU_CC"; then
AC_DEFINE(MOZ_THUMB2)
AC_DEFINE(MOZ_ARM_ARCH)
- CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
else
AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains])
fi
@@ -7181,9 +7178,6 @@
arm*)
if test "$GNU_CC"; then
AC_DEFINE(MOZ_ARM_ARCH)
- CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
else
AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains])
fi
@@ -7192,16 +7186,6 @@
AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-ARM CPU architectures])
;;
esac
-else
- case "$target_cpu" in
- arm*)
- if test "$GNU_CC"; then
- CFLAGS="$CFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- CXXFLAGS="$CXXFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- ASFLAGS="$ASFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- fi
- ;;
- esac
fi
AC_SUBST(MOZ_THUMB2)
diff -ur mozilla-release.orig//js/src/configure.in mozilla-release/js/src/configure.in
--- mozilla-release.orig//js/src/configure.in 2011-07-17 13:43:42.000000000 +0200
+++ mozilla-release/js/src/configure.in 2011-07-17 13:47:39.000000000 +0200
@@ -4607,9 +4607,6 @@
if test "$GNU_CC"; then
AC_DEFINE(MOZ_THUMB2)
AC_DEFINE(MOZ_ARM_ARCH)
- CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
else
AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains])
fi
@@ -4623,9 +4620,6 @@
arm*)
if test "$GNU_CC"; then
AC_DEFINE(MOZ_ARM_ARCH)
- CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
else
AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains])
fi
@@ -4634,16 +4628,6 @@
AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-ARM CPU architectures])
;;
esac
-else
- case "$target_cpu" in
- arm*)
- if test "$GNU_CC"; then
- CFLAGS="$CFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- CXXFLAGS="$CXXFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- ASFLAGS="$ASFLAGS -march=armv5te -mthumb-interwork -msoft-float"
- fi
- ;;
- esac
fi
AC_SUBST(MOZ_THUMB2)

View File

@@ -0,0 +1,60 @@
# HG changeset patch
# User Mike Hommey <mh+mozilla@glandium.org>
# Date 1303461188 -7200
# Node ID 59771590e9203d48ef8cbcd7eaf2f8ae45dbb1c1
# Parent c4b82ec27d6d6e1c02ef0abb3b6e805bfdd092ec
Bug 638056 - Avoid "The cacheFlush support is missing on this platform" error on exotic platforms. r=cdleary
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -383,17 +383,17 @@ CPPSRCS += checks.cc \
platform.cc \
utils.cc \
$(NONE)
#
# END enclude sources for V8 dtoa
#############################################
-ifeq (,$(filter-out powerpc sparc,$(TARGET_CPU)))
+ifeq (,$(filter arm% %86 x86_64,$(TARGET_CPU)))
VPATH += $(srcdir)/assembler \
$(srcdir)/assembler/wtf \
$(srcdir)/yarr/pcre \
$(NULL)
CPPSRCS += pcre_compile.cpp \
pcre_exec.cpp \
# HG changeset patch
# User Luke Wagner <lw@mozilla.com>
# Date 1299520258 28800
# Node ID 68203913d04cf5be53fd16278816183d5670ba5c
# Parent 27e5814815491ebb68e474e453aff6c2ea908c43
Bug 618485 - Add missing 64-bit big-endian jsval_layout field (r=luke)
diff --git a/js/src/jsval.h b/js/src/jsval.h
--- a/js/src/jsval.h
+++ b/js/src/jsval.h
@@ -342,16 +342,17 @@ typedef union jsval_layout
JSValueTag tag : 17;
uint64 payload47 : 47;
} debugView;
struct {
union {
int32 i32;
uint32 u32;
JSWhyMagic why;
+ jsuword word;
} payload;
} s;
double asDouble;
void *asPtr;
} jsval_layout;
# endif /* JS_BITS_PER_WORD */
#endif /* defined(IS_LITTLE_ENDIAN) */

View File

@@ -0,0 +1,23 @@
# HG changeset patch
# User Jonathan Callen <abcd@gentoo.org>
# Parent 2599ed882191d88a8e8f0cb68492a156163c5ca7
pass MOZ_GTK_CFLAGS to ensure proper includes are avaliable.
diff --git a/toolkit/system/gnome/Makefile.in b/toolkit/system/gnome/Makefile.in
--- a/toolkit/system/gnome/Makefile.in
+++ b/toolkit/system/gnome/Makefile.in
@@ -84,13 +84,14 @@ EXTRA_DSO_LDOPTS += \
$(MOZ_LIBNOTIFY_LIBS) \
$(NULL)
LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/components/build/
include $(topsrcdir)/config/rules.mk
CXXFLAGS += \
+ $(MOZ_GTK2_CFLAGS) \
$(MOZ_GCONF_CFLAGS) \
$(MOZ_GNOMEVFS_CFLAGS) \
$(GLIB_CFLAGS) \
$(MOZ_LIBNOTIFY_CFLAGS) \
$(NULL)

View File

@@ -0,0 +1,14 @@
pref("app.update.enabled", false);
pref("app.update.autoInstallEnabled", false);
pref("browser.display.use_system_colors", true);
pref("browser.link.open_external", 3);
pref("general.smoothScroll", true);
pref("general.autoScroll", false);
pref("browser.tabs.tabMinWidth", 15);
pref("browser.backspace_action", 0);
pref("browser.urlbar.hideGoButton", true);
pref("accessibility.typeaheadfind", true);
pref("browser.shell.checkDefaultBrowser", false);
pref("browser.EULA.override", true);
pref("general.useragent.vendor", "Gentoo");
pref("intl.locale.matchOS", true);

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>mozilla</herd>
<use>
<flag name="custom-optimization">Fine-tune custom compiler optimizations</flag>
<flag name="ipc">Use inter-process communication between tabs and plugins.
Allows for greater stability in case of plugin crashes</flag>
<flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg>
installation with secure-delete enabled</flag>
<flag name="webm">Use system libvpx <pkg>media-libs/libvpx</pkg></flag>
<flag name="crashreporter">Enable crash reporter for bugs</flag>
<flag name="gconf">Enable gnome2 gconf support</flag>
</use>
</pkgmetadata>

View File

@@ -0,0 +1,263 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/xulrunner-1.9.2.22.ebuild,v 1.3 2011/12/11 14:31:32 armin76 Exp $
EAPI="3"
WANT_AUTOCONF="2.1"
inherit flag-o-matic toolchain-funcs eutils mozconfig-3 makeedit multilib java-pkg-opt-2 autotools python prefix pax-utils
MY_PV="${PV/_rc/rc}" # Handle beta
MY_PV="${MY_PV/1.9.2/3.6}"
MAJ_PV="1.9.2" # from mozilla-* branch name
PATCH="${PN}-1.9.2-patches-0.9"
DESCRIPTION="Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications"
HOMEPAGE="http://developer.mozilla.org/en/docs/XULRunner"
SRC_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${MY_PV}/source/firefox-${MY_PV}.source.tar.bz2
http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
SLOT="1.9"
LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )"
IUSE="+alsa debug gnome +ipc libnotify system-sqlite wifi"
RDEPEND="
>=sys-devel/binutils-2.16.1
>=dev-libs/nss-3.12.8
>=dev-libs/nspr-4.8.6
system-sqlite? ( >=dev-db/sqlite-3.7.4[fts3,secure-delete] )
alsa? ( media-libs/alsa-lib )
>=app-text/hunspell-1.2
>=x11-libs/cairo-1.8.8[X]
x11-libs/libXt
x11-libs/pixman
>=dev-libs/libevent-1.4.7
gnome? ( >=gnome-base/gnome-vfs-2.16.3
>=gnome-base/libgnomeui-2.16.1
>=gnome-base/gconf-2.16.0
>=gnome-base/libgnome-2.16.0 )
wifi? ( net-wireless/wireless-tools )
libnotify? ( >=x11-libs/libnotify-0.4 )"
DEPEND="java? ( >=virtual/jdk-1.4 )
${RDEPEND}
=dev-lang/python-2*[threads]
dev-util/pkgconfig"
# virtual/jre should not be in DEPEND. bug 325981
RDEPEND="java? ( >=virtual/jre-1.4 ) ${RDEPEND}"
S="${WORKDIR}/mozilla-${MAJ_PV}"
pkg_setup() {
# Ensure we always build with C locale.
export LANG="C"
export LC_ALL="C"
export LC_MESSAGES="C"
export LC_CTYPE="C"
java-pkg-opt-2_pkg_setup
python_set_active_version 2
}
src_prepare() {
# Apply our patches
EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" \
epatch "${WORKDIR}"
epatch "${FILESDIR}/bug-606109.patch"
epatch "${FILESDIR}/bug-270163.patch"
eprefixify \
extensions/java/xpcom/interfaces/org/mozilla/xpcom/Mozilla.java \
xpcom/build/nsXPCOMPrivate.h \
xulrunner/installer/Makefile.in \
xulrunner/app/nsRegisterGREUnix.cpp
# fix double symbols due to double -ljemalloc
sed -i -e '/^LIBS += $(JEMALLOC_LIBS)/s/^/#/' \
xulrunner/stub/Makefile.in || die
#Fix compilation with curl-7.21.7 bug 376027
sed -e '/#include <curl\/types\.h>/d' \
-i "${S}"/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc \
-i "${S}"/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc \
|| die
sed -e '/curl\/types\.h/d' \
-i "${S}"/config/system-headers \
-i "${S}"/js/src/config/system-headers \
|| die
# Allow user to apply additional patches without modifing ebuild
epatch_user
# Same as in config/autoconf.mk.in
MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}"
SDKDIR="/usr/$(get_libdir)/${PN}-devel-${MAJ_PV}/sdk"
# Gentoo install dirs
sed -i -e "s:@PV@:${MAJ_PV}:" "${S}"/config/autoconf.mk.in \
|| die "${MAJ_PV} sed failed!"
# Enable gnomebreakpad
if use debug ; then
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
fi
eautoreconf
cd js/src
eautoreconf
}
src_configure() {
####################################
#
# mozconfig, CFLAGS and CXXFLAGS setup
#
####################################
mozconfig_init
mozconfig_config
MEXTENSIONS="default"
MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}"
# It doesn't compile on alpha without this LDFLAGS
use alpha && append-ldflags "-Wl,--no-relax"
mozconfig_annotate '' --enable-crypto
mozconfig_annotate '' --with-default-mozilla-five-home="${MOZLIBDIR}"
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
mozconfig_annotate '' --enable-application=xulrunner
mozconfig_annotate '' --disable-mailnews
mozconfig_annotate 'broken' --disable-crashreporter
mozconfig_annotate '' --enable-image-encoder=all
mozconfig_annotate '' --enable-canvas
mozconfig_annotate 'gtk' --enable-default-toolkit=cairo-gtk2
# Bug 60668: Galeon doesn't build without oji enabled, so enable it
# regardless of java setting.
mozconfig_annotate '' --enable-oji --enable-mathml
mozconfig_annotate 'places' --enable-storage --enable-places
mozconfig_annotate '' --enable-safe-browsing
# Build mozdevelop permately
mozconfig_annotate '' --enable-jsd --enable-xpctools
# System-wide install specs
mozconfig_annotate '' --disable-installer
mozconfig_annotate '' --disable-updater
mozconfig_annotate '' --disable-strip
mozconfig_annotate '' --disable-install-strip
# Use system libraries
mozconfig_annotate '' --enable-system-cairo
mozconfig_annotate '' --enable-system-hunspell
mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr
mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr
mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir)
mozconfig_annotate '' --with-system-bz2
mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr
mozconfig_use_enable gnome gnomevfs
mozconfig_use_enable gnome gnomeui
mozconfig_use_enable ipc # +ipc, upstream default
mozconfig_use_enable libnotify
mozconfig_use_enable java javaxpcom
mozconfig_use_enable wifi necko-wifi
mozconfig_use_enable alsa ogg
mozconfig_use_enable alsa wave
mozconfig_use_enable system-sqlite
# Debug
if use debug ; then
mozconfig_annotate 'debug' --disable-optimize
mozconfig_annotate 'debug' --enable-debug=-ggdb
mozconfig_annotate 'debug' --enable-debug-modules=all
mozconfig_annotate 'debug' --enable-debugger-info-modules
fi
# Finalize and report settings
mozconfig_final
if [[ $(gcc-major-version) -lt 4 ]]; then
append-flags -fno-stack-protector
fi
####################################
#
# Configure and build
#
####################################
# Disable no-print-directory
MAKEOPTS=${MAKEOPTS/--no-print-directory/}
# Ensure that are plugins dir is enabled as default
sed -i -e "s:/usr/lib/mozilla/plugins:/usr/$(get_libdir)/nsbrowser/plugins:" \
"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path!"
# hack added to workaround bug 299905 on hosts with libc that doesn't
# support tls, (probably will only hit this condition with Gentoo Prefix)
tc-has-tls -l || export ac_cv_thread_keyword=no
CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" PYTHON="$(PYTHON)" econf
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
rm "${ED}"/usr/bin/xulrunner
MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}"
SDKDIR="/usr/$(get_libdir)/${PN}-devel-${MAJ_PV}/sdk"
if has_multilib_profile; then
local config
for config in "${ED}"/etc/gre.d/*.system.conf ; do
mv "${config}" "${config%.conf}.${CHOST}.conf"
done
fi
dodir /usr/bin
dosym "${MOZLIBDIR}/xulrunner" "/usr/bin/xulrunner-${MAJ_PV}" || die
# env.d file for ld search path
dodir /etc/env.d
echo "LDPATH=${EPREFIX}/${MOZLIBDIR}" > "${ED}"/etc/env.d/08xulrunner || die "env.d failed"
# Add our defaults to xulrunner and out of firefox
cp "${FILESDIR}"/xulrunner-default-prefs.js \
"${ED}/${MOZLIBDIR}/defaults/pref/all-gentoo.js" || \
die "failed to cp xulrunner-default-prefs.js"
pax-mark m "${D}"/${MOZLIBDIR}/plugin-container
if use java ; then
java-pkg_regjar "${ED}/${MOZLIBDIR}/javaxpcom.jar"
java-pkg_regso "${ED}/${MOZLIBDIR}/libjavaxpcomglue.so"
java-pkg_regjar "${ED}/${SDKDIR}/lib/MozillaGlue.jar"
java-pkg_regjar "${ED}/${SDKDIR}/lib/MozillaInterfaces.jar"
fi
}
pkg_postinst() {
ewarn "If firefox fails to start with \"failed to load xpcom\", run revdep-rebuild"
ewarn "If that does not fix the problem, rebuild dev-libs/nss"
ewarn "Try dev-util/lafilefixer if you get build failures related to .la files"
einfo
einfo "All prefs can be overridden by the user. The preferences are to make"
einfo "use of xulrunner out of the box on an average system without the user"
einfo "having to go through and enable the basics."
einfo
ewarn "Any package that requires xulrunner:1.9 slot could and most likely will"
ewarn "have issues. These issues should be reported to maintainer, and mozilla herd"
ewarn "should be cc'd on the bug report. Thank you anarchy@gentoo.org ."
}