add xulrunner
This commit is contained in:
1773
net-libs/xulrunner/ChangeLog
Normal file
1773
net-libs/xulrunner/ChangeLog
Normal file
File diff suppressed because it is too large
Load Diff
15
net-libs/xulrunner/Manifest
Normal file
15
net-libs/xulrunner/Manifest
Normal 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
|
||||
14
net-libs/xulrunner/files/arm-bug-644136.patch
Normal file
14
net-libs/xulrunner/files/arm-bug-644136.patch
Normal 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
|
||||
11
net-libs/xulrunner/files/bug-270163.patch
Normal file
11
net-libs/xulrunner/files/bug-270163.patch
Normal 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"
|
||||
48
net-libs/xulrunner/files/bug-606109.patch
Normal file
48
net-libs/xulrunner/files/bug-606109.patch
Normal 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,
|
||||
177
net-libs/xulrunner/files/bug-626229.patch
Normal file
177
net-libs/xulrunner/files/bug-626229.patch
Normal 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 \
|
||||
246
net-libs/xulrunner/files/fix-animated-gifs.patch
Normal file
246
net-libs/xulrunner/files/fix-animated-gifs.patch
Normal 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 */
|
||||
56
net-libs/xulrunner/files/libnotify-0.7.patch
Normal file
56
net-libs/xulrunner/files/libnotify-0.7.patch
Normal 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) {
|
||||
|
||||
@@ -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)
|
||||
@@ -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) */
|
||||
|
||||
|
||||
|
||||
23
net-libs/xulrunner/files/xulrunner-1.9.2-gtk+-2.21.patch
Normal file
23
net-libs/xulrunner/files/xulrunner-1.9.2-gtk+-2.21.patch
Normal 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)
|
||||
14
net-libs/xulrunner/files/xulrunner-default-prefs.js
Normal file
14
net-libs/xulrunner/files/xulrunner-default-prefs.js
Normal 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);
|
||||
15
net-libs/xulrunner/metadata.xml
Normal file
15
net-libs/xulrunner/metadata.xml
Normal 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>
|
||||
263
net-libs/xulrunner/xulrunner-1.9.2.22.ebuild
Normal file
263
net-libs/xulrunner/xulrunner-1.9.2.22.ebuild
Normal 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 ."
|
||||
}
|
||||
Reference in New Issue
Block a user