diff options
author | Zhang Le <r0bertz@gentoo.org> | 2010-12-20 21:13:25 +0800 |
---|---|---|
committer | Zhang Le <r0bertz@gentoo.org> | 2010-12-20 21:13:25 +0800 |
commit | 0b139a92ae2ea51793901c302e1d262e8b712636 (patch) | |
tree | 9717902776eb5714a5ea9fc151bc536a5745241c | |
parent | fixed binutils's mo confliction with gdb (diff) | |
download | loongson-0b139a92ae2ea51793901c302e1d262e8b712636.tar.gz loongson-0b139a92ae2ea51793901c302e1d262e8b712636.tar.bz2 loongson-0b139a92ae2ea51793901c302e1d262e8b712636.zip |
added xulrunner-1.9.2.13, firefox-3.6.13 and xorg-server-1.9.2.902
Signed-off-by: Zhang Le <r0bertz@gentoo.org>
-rw-r--r-- | net-libs/xulrunner/Manifest | 8 | ||||
-rw-r--r-- | net-libs/xulrunner/files/bug-606109.patch | 48 | ||||
-rw-r--r-- | net-libs/xulrunner/files/fix-animated-gifs.patch | 246 | ||||
-rw-r--r-- | net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-bus-error.patch | 24 | ||||
-rw-r--r-- | net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-n32.patch | 762 | ||||
-rw-r--r-- | net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-tls.patch | 30 | ||||
-rw-r--r-- | net-libs/xulrunner/xulrunner-1.9.2.13.ebuild | 253 | ||||
-rw-r--r-- | www-client/firefox/Manifest | 76 | ||||
-rw-r--r-- | www-client/firefox/firefox-3.6.13.ebuild | 284 | ||||
-rw-r--r-- | x11-base/xorg-server/Manifest | 4 | ||||
-rw-r--r-- | x11-base/xorg-server/files/xdm.initd-3 | 207 | ||||
-rw-r--r-- | x11-base/xorg-server/files/xorg-server-1.9.2.902-loongson.patch | 53 | ||||
-rw-r--r-- | x11-base/xorg-server/xorg-server-1.9.2.902.ebuild | 274 |
13 files changed, 2269 insertions, 0 deletions
diff --git a/net-libs/xulrunner/Manifest b/net-libs/xulrunner/Manifest index da751b2..68ddaa8 100644 --- a/net-libs/xulrunner/Manifest +++ b/net-libs/xulrunner/Manifest @@ -5,7 +5,12 @@ AUX 1000_fix-system-sqlite.patch 868 RMD160 cfca12438e3e90d80908cb91a923e14e24c7 AUX 1009-armv4t-nanojit-v2.patch 12251 RMD160 9e9d862879d4897067605879245c1a6d50cf32fe SHA1 dcfe3da40dc822f2769e244571b721b59e59f322 SHA256 68c4df9c5313b93e8c5d7c7e8ed8375a88e9afa28c05e3965180058ba06cf05b AUX 301-xulrunner-xpctools.diff 550 RMD160 12d370d5473de5c54233a70533cd35e37305ef86 SHA1 e3812ce6a4446b0b9d496a9dd4760d03bf0de449 SHA256 6bf510f7df5a41f47501cbdbcffc46d0c04865e3597dc6a575cd4a9cfae1def4 AUX README 145 RMD160 e6b6991f1dc429a081f6f16a0a7a24909c2ee576 SHA1 10e9be7039df62377a2e2ba8358beeceffbbbb07 SHA256 9b7fac0b4b5834c404c392bd34408eb3cbcfc75be6335395f44f8953adc102df +AUX bug-606109.patch 1243 RMD160 ec262eed0480d8a13c914c4781329e3ea1c23b0f SHA1 0c0cc40ee0a663422b107cc3ae5d1412b8c45ac7 SHA256 266d9c7218cc04c3badadc54f8f31b1238326b9c3052aed057ffce40c69541dc +AUX fix-animated-gifs.patch 7789 RMD160 a8889110a2daea27e07f92a70df6cb1e39e05546 SHA1 05b335feeefff4f06004a20182f821d998b44879 SHA256 6d85d3c103b0dcdbb073302a4041a37bea97c715384d04d299c1fb49a5da7443 AUX mxgot.patch 704 RMD160 34960622c2bd61336e077289c4473b189e4d0199 SHA1 173301a56c01d1458fd710dc511f9cb8e1437a5f SHA256 2ab115c54f76d4f146b283700548faf1b944c1491dd8a22217a7ed80c7fa42a7 +AUX xulrunner-1.9.2.13-mips-bus-error.patch 957 RMD160 fab47698b8e22205d5b43ee3a5268b5776b32663 SHA1 d4bc49bc1d4871ec2001e72825cdf1e0035fd2fa SHA256 609c10f9f35fe039a472e802af8628c89c796f8d257687f05f43fde846d1a109 +AUX xulrunner-1.9.2.13-mips-n32.patch 24738 RMD160 63995685e4343420469fbb056e051afd28cc56db SHA1 e6435e8e9b15db8103b6d6d0c9213ce36ec88f94 SHA256 24ac461bffbd7c2978a2cd30dc4cbed95370a77a2db054ade2794e902620d3de +AUX xulrunner-1.9.2.13-mips-tls.patch 875 RMD160 04628d62a3107ffc13089a6eef5b8c714bfb1c99 SHA1 4f1f4bd2ecad56b67ed41c4f393a2c2e221850f5 SHA256 a39c1d5d278f2bbff49711b4a5d5b35c1b1892cfdf7fc5dd89becb23824bef92 AUX xulrunner-1.9.2.8-mips-bus-error.patch 957 RMD160 fab47698b8e22205d5b43ee3a5268b5776b32663 SHA1 d4bc49bc1d4871ec2001e72825cdf1e0035fd2fa SHA256 609c10f9f35fe039a472e802af8628c89c796f8d257687f05f43fde846d1a109 AUX xulrunner-1.9.2.8-mips-n32.patch 24738 RMD160 63995685e4343420469fbb056e051afd28cc56db SHA1 e6435e8e9b15db8103b6d6d0c9213ce36ec88f94 SHA256 24ac461bffbd7c2978a2cd30dc4cbed95370a77a2db054ade2794e902620d3de AUX xulrunner-1.9.2.8-mips-tls.patch 875 RMD160 04628d62a3107ffc13089a6eef5b8c714bfb1c99 SHA1 4f1f4bd2ecad56b67ed41c4f393a2c2e221850f5 SHA256 a39c1d5d278f2bbff49711b4a5d5b35c1b1892cfdf7fc5dd89becb23824bef92 @@ -21,12 +26,15 @@ AUX xulrunner-mips-bus-error.patch 1997 RMD160 22b41e26d5ac86b53fc35c5a9220fd805 AUX xulrunner-mips-n32.patch 24732 RMD160 d5020c88801e6647131c6c2d780a90ccc0717c7a SHA1 37be69001a75f62d51e84b8b22f1946c27e8baa1 SHA256 5cce08d42a0cf629717b34ec0310b86080640ff6fe5bc14988d1b046562e7254 AUX xulrunner-mips-o32.patch 17598 RMD160 997add4cc1c0aa96c2484e860bb51441d5adb7e1 SHA1 e32d33007446db694ca5e61c853620970fe9d22e SHA256 9ce5a23a4d2582e48ae43a4cb414a7ce690e1cf029e24d0d5d93b8e301b41bc5 AUX xulrunner.conf 113 RMD160 8be48cf5040eb5753c8eb35c048cc6b2c1a8a057 SHA1 62cce7ee5b1e51343c3dbc388894011da913d9d4 SHA256 9ac56b42cfb48854d23c299330ad327af5f0815140dcb7fdee905b660cd9a8a3 +DIST firefox-3.6.13.source.tar.bz2 51478675 RMD160 658409db60a8f412ac74ff15a8c1d8c4ed85b71e SHA1 1d1bc70d651bce4006687f5762638563c0494267 SHA256 4b90775c0f29cb7e170a80894311d8c7a2cd794c50e2124b70d1b83011c45f63 DIST firefox-3.6.8.source.tar.bz2 51238976 RMD160 14e245c643d41a1da25fe4dbc15d6ae466a19e5b SHA1 4936e543f6c7492c5954cbd5b30ddda6b20e3797 SHA256 fc609cc6a0ddaa2a9ebd8511ec39ae4a404e1107a12e07b233e2afca51d9a10e DIST firefox-3.7a5.source.tar.bz2 50425212 RMD160 aa8874224fc080897d5de3c61adff83b9e91bb7c SHA1 6e71e59898baa5d8a9c51ad354accc02fa0ca46a SHA256 38644edc35d922a6cfb1c7ebc27dfb75d5a9bf870fa19d06821e1a9131b33b2d DIST firefox-4.0b5_pre_414ff9016349.source.tar.bz2 62665981 RMD160 2a1ee9e1b8596f6ec84e3658cb671bec4ebed969 SHA1 bead1813f2b78885aa83556c2be458b3dbae8d1d SHA256 30eac26556c1d39b960afba86bf842aa76580510a57b99431e9120dbdc04a3e1 DIST xulrunner-1.9.2-patches-0.6.tar.bz2 16308 RMD160 6066ea0b01f8b6c9eae1a0692ad9a07f04ab7327 SHA1 ebba861e23ef36256dc29d7d04820222be8e4241 SHA256 6a9d709f9ee15d6c139a35f8a6826cd7b473188290bd5e81e56297d8f36e2235 +DIST xulrunner-1.9.2-patches-0.9.tar.bz2 15320 RMD160 2dfb86650c0a9a1f0c5bf86df7434c7c286658d6 SHA1 a2276c708eec2e92611ac1e7a2eaf25c39263d30 SHA256 5cca685442f1ab920eb1ba86719a38a437ae05bd5cefc42ababc2556425ebf5a DIST xulrunner-1.9.3-patches-0.1.tar.bz2 4761 RMD160 d13fa5e53235fbe4eba50f210107b352530d95ab SHA1 78904c4543eb27717131d159e8ef02762e94c6f7 SHA256 fab399d174e6959afb998446e152f1da41575058afb40e9c442cfa804de326fc DIST xulrunner-2.0-patches-0.4.tar.bz2 6121 RMD160 4bb2a879632894a4185c7c778fbf80a6c80f6847 SHA1 139af0b2fabe4f2c46bda27c9e29f7dd2731c6a3 SHA256 606e9f9b44e6ce61035047e58f4c0dc8e4dc6c67b1d159a0623212dedc50c4b9 +EBUILD xulrunner-1.9.2.13.ebuild 8110 RMD160 a19351d61fa537b0b90c36dbb048915d8a8f6ebd SHA1 7b586c0456b5e6ac11089634b3bf9a9282a14a27 SHA256 f3c6882464edf0902b34d172ef8f014f0242b317a2e9299c300c2b188a5f3a49 EBUILD xulrunner-1.9.2.8-r1.ebuild 8213 RMD160 5c8d817c91155e4bbd8763bbd0d99b8ca78cdc93 SHA1 5292e24359386e503b4b3a1e3ecb7cbac3754bbe SHA256 716743ab7bf42421333843adf5a75b23109ae142519a0fb85fda87a4a94a6923 EBUILD xulrunner-1.9.3_alpha5.ebuild 6811 RMD160 3ac0a6d11b664b0a77b80164e640469c770ed089 SHA1 35bac75d31b1927848235e4d60d993edf487d7cb SHA256 a3a229d9d24b51641b5d2e8e9819766cc1b3ebc19b0827210e87857a9a609dc7 EBUILD xulrunner-2.0_beta5_pre-r2.ebuild 8139 RMD160 bd837f2c4696444398b0a7aae93d5d8172a33c5e SHA1 f03c08dbdf05005dbd5011121dd68f97238cbe92 SHA256 bc7d175790269a8699bb7cd3c3eb9947f9e63e033a1076b3af7c0a7940fc1f6c diff --git a/net-libs/xulrunner/files/bug-606109.patch b/net-libs/xulrunner/files/bug-606109.patch new file mode 100644 index 0000000..93f1142 --- /dev/null +++ b/net-libs/xulrunner/files/bug-606109.patch @@ -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, diff --git a/net-libs/xulrunner/files/fix-animated-gifs.patch b/net-libs/xulrunner/files/fix-animated-gifs.patch new file mode 100644 index 0000000..58b994c --- /dev/null +++ b/net-libs/xulrunner/files/fix-animated-gifs.patch @@ -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 */ diff --git a/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-bus-error.patch b/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-bus-error.patch new file mode 100644 index 0000000..2bf51d7 --- /dev/null +++ b/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-bus-error.patch @@ -0,0 +1,24 @@ +--- ./xpcom/glue/nsTArray.h.orig 2009-04-26 01:21:58.000000000 +0800 ++++ ./xpcom/glue/nsTArray.h 2009-04-26 01:21:33.000000000 +0800 +@@ -168,6 +168,7 @@ + + // The array's elements (prefixed with a Header). This pointer is never + // null. If the array is empty, then this will point to sEmptyHdr. ++ void *padding; + Header *mHdr; + }; + +diff --git a/layout/svg/base/src/nsSVGGlyphFrame.cpp b/layout/svg/base/src/nsSVGGlyphFrame.cpp +index 6d452d0..3ce4193 100644 +--- a/layout/svg/base/src/nsSVGGlyphFrame.cpp ++++ b/layout/svg/base/src/nsSVGGlyphFrame.cpp +@@ -169,8 +169,8 @@ private: + PRBool SetupForDirectTextRun(gfxContext *aContext, float aScale); + void SetupFor(gfxContext *aContext, float aScale); + +- nsSVGGlyphFrame *mSource; + nsAutoTArray<CharacterPosition,80> mPositions; ++ nsSVGGlyphFrame *mSource; + gfxMatrix mInitialMatrix; + // Textrun advance width from start to mCurrentChar, in appunits + gfxFloat mCurrentAdvance; diff --git a/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-n32.patch b/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-n32.patch new file mode 100644 index 0000000..c1a415d --- /dev/null +++ b/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-n32.patch @@ -0,0 +1,762 @@ +From 1aa3577cf7e79b574bd2cff058ea00221194869b Mon Sep 17 00:00:00 2001 +From: Zhang Le <r0bertz@gentoo.org> +Date: Thu, 12 Mar 2009 02:24:34 +0800 +Subject: [PATCH 2/2] xulrunner mips n32 ABI patch + +Signed-off-by: Zhang Le <r0bertz@gentoo.org> +--- + xpcom/reflect/xptcall/src/md/unix/Makefile.in | 5 + + .../xptcall/src/md/unix/xptcinvoke_asm_mips64.s | 159 ++++++++++++++ + .../xptcall/src/md/unix/xptcinvoke_mips64.cpp | 173 ++++++++++++++++ + .../xptcall/src/md/unix/xptcstubs_asm_mips64.s | 149 +++++++++++++ + .../xptcall/src/md/unix/xptcstubs_mips64.cpp | 218 ++++++++++++++++++++ + 5 files changed, 704 insertions(+), 0 deletions(-) + create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s + create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp + create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s + create mode 100644 xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp + +diff --git a/xpcom/reflect/xptcall/src/md/unix/Makefile.in b/xpcom/reflect/xptcall/src/md/unix/Makefile.in +index 524174e..63586cf 100644 +--- a/xpcom/reflect/xptcall/src/md/unix/Makefile.in ++++ b/xpcom/reflect/xptcall/src/md/unix/Makefile.in +@@ -274,8 +274,13 @@ endif + + ifeq ($(OS_ARCH),Linux) + ifneq (,$(findstring mips, $(OS_TEST))) ++ifneq (,$(findstring mips64, $(OS_TEST))) ++CPPSRCS := xptcinvoke_mips64.cpp xptcstubs_mips64.cpp ++ASFILES := xptcinvoke_asm_mips64.s xptcstubs_asm_mips64.s ++else + CPPSRCS := xptcinvoke_mips.cpp xptcstubs_mips.cpp + ASFILES := xptcinvoke_asm_mips.s xptcstubs_asm_mips.s ++endif + ASFLAGS += -I$(DIST)/include -x assembler-with-cpp + endif + endif +diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s +new file mode 100644 +index 0000000..f146ad8 +--- /dev/null ++++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s +@@ -0,0 +1,159 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Netscape Communications Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 1998 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ZHANG Le <r0bertz@gentoo.org> ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either of the GNU General Public License Version 2 or later (the "GPL"), ++ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++#include <sys/regdef.h> ++#include <sys/asm.h> ++ ++.text ++.globl invoke_count_words ++.globl invoke_copy_to_stack ++ ++LOCALSZ=7 # a0, a1, a2, a3, s0, ra, gp ++FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK ++ ++RAOFF=FRAMESZ-(1*SZREG) ++A0OFF=FRAMESZ-(2*SZREG) ++A1OFF=FRAMESZ-(3*SZREG) ++A2OFF=FRAMESZ-(4*SZREG) ++A3OFF=FRAMESZ-(5*SZREG) ++S0OFF=FRAMESZ-(6*SZREG) ++GPOFF=FRAMESZ-(7*SZREG) ++ ++# ++# _NS_InvokeByIndex_P(that, methodIndex, paramCount, params) ++# a0 a1 a2 a3 ++ ++NESTED(_NS_InvokeByIndex_P, FRAMESZ, ra) ++ PTR_SUBU sp, FRAMESZ ++ SETUP_GP64(GPOFF, _NS_InvokeByIndex_P) ++ ++ REG_S ra, RAOFF(sp) ++ REG_S a0, A0OFF(sp) ++ REG_S a1, A1OFF(sp) ++ REG_S a2, A2OFF(sp) ++ REG_S a3, A3OFF(sp) ++ REG_S s0, S0OFF(sp) ++ ++ # invoke_count_words(paramCount, params) ++ move a0, a2 ++ move a1, a3 ++ jal invoke_count_words ++ ++ # invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount, ++ # nsXPTCVariant* s, PRUint32 *reg) ++ ++ REG_L a1, A2OFF(sp) # a1 - paramCount ++ REG_L a2, A3OFF(sp) # a2 - params ++ ++ # save sp before we copy the params to the stack ++ move t0, sp ++ ++ # assume full size of 16 bytes per param to be safe ++ sll v0, 4 # 16 bytes * num params ++ subu sp, sp, v0 # make room ++ move a0, sp # a0 - param stack address ++ ++ # create temporary stack space to write int and fp regs ++ subu sp, 64 # 64 = 8 regs of 8 bytes ++ move a3, sp ++ ++ # save the old sp and save the arg stack ++ subu sp, sp, 16 ++ REG_S t0, 0(sp) ++ REG_S a0, 8(sp) ++ ++ # copy the param into the stack areas ++ jal invoke_copy_to_stack ++ ++ REG_L t3, 8(sp) # get previous a0 ++ REG_L sp, 0(sp) # get orig sp back ++ ++ REG_L a0, A0OFF(sp) # a0 - that ++ REG_L a1, A1OFF(sp) # a1 - methodIndex ++ ++ # t1 = methodIndex * pow(2, PTRLOG) ++ # (use shift instead of mult) ++ sll t1, a1, PTRLOG ++ ++ # calculate the function we need to jump to, ++ # which must then be saved in t9 ++ lw t9, 0(a0) ++ addu t9, t9, t1 ++#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ ++ lw t9, (t9) ++#else /* not G++ V3 ABI */ ++ lw t9, 2*PTRSIZE(t9) ++#endif /* G++ V3 ABI */ ++ ++ # get register save area from invoke_copy_to_stack ++ subu t1, t3, 64 ++ ++ # a1..a7 and f13..f19 should now be set to what ++ # invoke_copy_to_stack told us. skip a0 and f12 ++ # because that's the "this" pointer ++ ++ REG_L a1, 0(t1) ++ REG_L a2, 8(t1) ++ REG_L a3, 16(t1) ++ REG_L a4, 24(t1) ++ REG_L a5, 32(t1) ++ REG_L a6, 40(t1) ++ REG_L a7, 48(t1) ++ ++ l.d $f13, 0(t1) ++ l.d $f14, 8(t1) ++ l.d $f15, 16(t1) ++ l.d $f16, 24(t1) ++ l.d $f17, 32(t1) ++ l.d $f18, 40(t1) ++ l.d $f19, 48(t1) ++ ++ # save away our stack pointer and create ++ # the stack pointer for the function ++ move s0, sp ++ move sp, t3 ++ ++ jalr t9 ++ ++ move sp, s0 ++ ++ RESTORE_GP64 ++ REG_L ra, RAOFF(sp) ++ REG_L s0, S0OFF(sp) ++ PTR_ADDU sp, FRAMESZ ++ j ra ++.end _NS_InvokeByIndex_P +diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp +new file mode 100644 +index 0000000..d1d1a7d +--- /dev/null ++++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips64.cpp +@@ -0,0 +1,173 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Netscape Communications Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 1998 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ZHANG Le <r0bertz@gentoo.org> ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either of the GNU General Public License Version 2 or later (the "GPL"), ++ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++/* Platform specific code to invoke XPCOM methods on native objects */ ++ ++#include "xptcprivate.h" ++ ++#if (_MIPS_SIM != _ABIN32) ++#error "This code is for MIPS N32 only" ++#endif ++ ++extern "C" uint32 ++invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s) ++{ ++ return paramCount; ++} ++ ++extern "C" void ++invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, ++ nsXPTCVariant* s, PRUint64 *regs) ++{ ++#define N_ARG_REGS 7 /* 8 regs minus 1 for "this" ptr */ ++ ++ for (PRUint32 i = 0; i < paramCount; i++, s++) ++ { ++ if (s->IsPtrData()) { ++ if (i < N_ARG_REGS) ++ regs[i] = (PRUint64)s->ptr; ++ else ++ *d++ = (PRUint64)s->ptr; ++ continue; ++ } ++ switch (s->type) { ++ // ++ // signed types first ++ // ++ case nsXPTType::T_I8: ++ if (i < N_ARG_REGS) ++ ((PRInt64*)regs)[i] = s->val.i8; ++ else ++ *d++ = s->val.i8; ++ break; ++ case nsXPTType::T_I16: ++ if (i < N_ARG_REGS) ++ ((PRInt64*)regs)[i] = s->val.i16; ++ else ++ *d++ = s->val.i16; ++ break; ++ case nsXPTType::T_I32: ++ if (i < N_ARG_REGS) ++ ((PRInt64*)regs)[i] = s->val.i32; ++ else ++ *d++ = s->val.i32; ++ break; ++ case nsXPTType::T_I64: ++ if (i < N_ARG_REGS) ++ ((PRInt64*)regs)[i] = s->val.i64; ++ else ++ *d++ = s->val.i64; ++ break; ++ // ++ // unsigned types next ++ // ++ case nsXPTType::T_U8: ++ if (i < N_ARG_REGS) ++ regs[i] = s->val.u8; ++ else ++ *d++ = s->val.u8; ++ break; ++ case nsXPTType::T_U16: ++ if (i < N_ARG_REGS) ++ regs[i] = s->val.u16; ++ else ++ *d++ = s->val.u16; ++ break; ++ case nsXPTType::T_U32: ++ if (i < N_ARG_REGS) ++ regs[i] = s->val.u32; ++ else ++ *d++ = s->val.u32; ++ break; ++ case nsXPTType::T_U64: ++ if (i < N_ARG_REGS) ++ regs[i] = s->val.u64; ++ else ++ *d++ = s->val.u64; ++ break; ++ case nsXPTType::T_FLOAT: ++ if (i < N_ARG_REGS) ++ *(float*)®s[i] = s->val.f; ++ else ++ *(float*)d++ = s->val.f; ++ break; ++ case nsXPTType::T_DOUBLE: ++ if (i < N_ARG_REGS) ++ *(double*)®s[i] = s->val.d; ++ else ++ *(double*)d++ = s->val.d; ++ break; ++ case nsXPTType::T_BOOL: ++ if (i < N_ARG_REGS) ++ regs[i] = s->val.b; ++ else ++ *d++ = s->val.b; ++ break; ++ case nsXPTType::T_CHAR: ++ if (i < N_ARG_REGS) ++ regs[i] = s->val.c; ++ else ++ *d++ = s->val.c; ++ break; ++ case nsXPTType::T_WCHAR: ++ if (i < N_ARG_REGS) ++ regs[i] = s->val.wc; ++ else ++ *d++ = s->val.wc; ++ break; ++ default: ++ // all the others are plain pointer types ++ if (i < N_ARG_REGS) ++ regs[i] = (PRUint64)s->val.p; ++ else ++ *d++ = (PRUint64)s->val.p; ++ break; ++ } ++ } ++} ++ ++extern "C" nsresult _NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex, ++ PRUint32 paramCount, ++ nsXPTCVariant* params); ++ ++EXPORT_XPCOM_API(nsresult) ++NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex, ++ PRUint32 paramCount, nsXPTCVariant* params) ++{ ++ return _NS_InvokeByIndex_P(that, methodIndex, paramCount, params); ++} +diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s +new file mode 100644 +index 0000000..dfee24b +--- /dev/null ++++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s +@@ -0,0 +1,149 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Netscape Communications Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 1998 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ZHANG Le <r0bertz@gentoo.org> ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either of the GNU General Public License Version 2 or later (the "GPL"), ++ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++#include <sys/regdef.h> ++#include <sys/asm.h> ++ ++LOCALSZ=16 ++FRAMESZ=(((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK ++ ++A1OFF=FRAMESZ-(9*SZREG) ++A2OFF=FRAMESZ-(8*SZREG) ++A3OFF=FRAMESZ-(7*SZREG) ++A4OFF=FRAMESZ-(6*SZREG) ++A5OFF=FRAMESZ-(5*SZREG) ++A6OFF=FRAMESZ-(4*SZREG) ++A7OFF=FRAMESZ-(3*SZREG) ++GPOFF=FRAMESZ-(2*SZREG) ++RAOFF=FRAMESZ-(1*SZREG) ++ ++F13OFF=FRAMESZ-(16*SZREG) ++F14OFF=FRAMESZ-(15*SZREG) ++F15OFF=FRAMESZ-(14*SZREG) ++F16OFF=FRAMESZ-(13*SZREG) ++F17OFF=FRAMESZ-(12*SZREG) ++F18OFF=FRAMESZ-(11*SZREG) ++F19OFF=FRAMESZ-(10*SZREG) ++ ++#define SENTINEL_ENTRY(n) /* defined in cpp file, not here */ ++ ++#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */ ++#define STUB_ENTRY(x) \ ++ .if x < 10; \ ++ MAKE_STUB(x, _ZN14nsXPTCStubBase5Stub ##x ##Ev); \ ++ .elseif x < 100; \ ++ MAKE_STUB(x, _ZN14nsXPTCStubBase6Stub ##x ##Ev); \ ++ .elseif x < 1000; \ ++ MAKE_STUB(x, _ZN14nsXPTCStubBase7Stub ##x ##Ev); \ ++ .else; \ ++ .err; \ ++ .endif ++#else /* not G++ V3 ABI */ ++#define STUB_ENTRY(x) \ ++ MAKE_STUB(x, Stub ##x ##__14nsXPTCStubBase) ++#endif /* G++ V3 ABI */ ++ ++#define MAKE_STUB(x, name) \ ++ .globl name; \ ++ .type name,@function; \ ++ .aent name,0; \ ++name:; \ ++ PTR_SUBU sp,FRAMESZ; \ ++ SETUP_GP64(GPOFF, name); \ ++ li t0,x; \ ++ b sharedstub; \ ++ ++# ++# open a dummy frame for the function entries ++# ++ .text ++ .align 2 ++ .type dummy,@function ++ .ent dummy, 0 ++dummy: ++ .frame sp, FRAMESZ, ra ++ .mask 0x90000FF0, RAOFF-FRAMESZ ++ .fmask 0x000FF000, F19OFF-FRAMESZ ++ ++#include "xptcstubsdef.inc" ++ ++sharedstub: ++ ++ REG_S a1, A1OFF(sp) ++ REG_S a2, A2OFF(sp) ++ REG_S a3, A3OFF(sp) ++ REG_S a4, A4OFF(sp) ++ REG_S a5, A5OFF(sp) ++ REG_S a6, A6OFF(sp) ++ REG_S a7, A7OFF(sp) ++ REG_S ra, RAOFF(sp) ++ ++ s.d $f13, F13OFF(sp) ++ s.d $f14, F14OFF(sp) ++ s.d $f15, F15OFF(sp) ++ s.d $f16, F16OFF(sp) ++ s.d $f17, F17OFF(sp) ++ s.d $f18, F18OFF(sp) ++ s.d $f19, F19OFF(sp) ++ ++ # t0 is methodIndex ++ move a1, t0 ++ ++ # a2 is stack address where extra function params ++ # are stored that do not fit in registers ++ move a2, sp ++ addi a2, FRAMESZ ++ ++ # a3 is stack address of a1..a7 ++ move a3, sp ++ addi a3, A1OFF ++ ++ # a4 is stack address of f13..f19 ++ move a4, sp ++ addi a4, F13OFF ++ ++ # PrepareAndDispatch(that, methodIndex, args, gprArgs, fpArgs) ++ # a0 a1 a2 a3 a4 ++ # ++ jal PrepareAndDispatch ++ ++ REG_L ra, RAOFF(sp) ++ RESTORE_GP64 ++ ++ PTR_ADDU sp, FRAMESZ ++ j ra ++ END(dummy) +diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp +new file mode 100644 +index 0000000..c404065 +--- /dev/null ++++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips64.cpp +@@ -0,0 +1,218 @@ ++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ ++/* ***** BEGIN LICENSE BLOCK ***** ++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 ++ * ++ * The contents of this file are subject to the Mozilla Public License Version ++ * 1.1 (the "License"); you may not use this file except in compliance with ++ * the License. You may obtain a copy of the License at ++ * http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS IS" basis, ++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License ++ * for the specific language governing rights and limitations under the ++ * License. ++ * ++ * The Original Code is mozilla.org code. ++ * ++ * The Initial Developer of the Original Code is ++ * Netscape Communications Corporation. ++ * Portions created by the Initial Developer are Copyright (C) 1999 ++ * the Initial Developer. All Rights Reserved. ++ * ++ * Contributor(s): ++ * ZHANG Le <r0bertz@gentoo.org> ++ * ++ * Alternatively, the contents of this file may be used under the terms of ++ * either of the GNU General Public License Version 2 or later (the "GPL"), ++ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), ++ * in which case the provisions of the GPL or the LGPL are applicable instead ++ * of those above. If you wish to allow use of your version of this file only ++ * under the terms of either the GPL or the LGPL, and not to allow others to ++ * use your version of this file under the terms of the MPL, indicate your ++ * decision by deleting the provisions above and replace them with the notice ++ * and other provisions required by the GPL or the LGPL. If you do not delete ++ * the provisions above, a recipient may use your version of this file under ++ * the terms of any one of the MPL, the GPL or the LGPL. ++ * ++ * ***** END LICENSE BLOCK ***** */ ++ ++#include "xptcprivate.h" ++#include "xptiprivate.h" ++ ++#if (_MIPS_SIM != _ABIN32) ++#error "This code is for MIPS N32 only" ++#endif ++ ++/* ++ * This is for MIPS N32 ABI ++ * ++ * When we're called, the "gp" registers are stored in gprData and ++ * the "fp" registers are stored in fprData. There are 8 regs ++ * available which coorespond to the first 7 parameters of the ++ * function and the "this" pointer. If there are additional parms, ++ * they are stored on the stack at address "args". ++ * ++ */ ++extern "C" nsresult ++PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint64* args, ++ PRUint64 *gprData, double *fprData) ++{ ++#define PARAM_BUFFER_COUNT 16 ++#define PARAM_GPR_COUNT 7 ++#define PARAM_FPR_COUNT 7 ++ ++ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; ++ nsXPTCMiniVariant* dispatchParams = NULL; ++ const nsXPTMethodInfo* info; ++ PRUint8 paramCount; ++ PRUint8 i; ++ nsresult result = NS_ERROR_FAILURE; ++ ++ NS_ASSERTION(self,"no self"); ++ ++ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info); ++ NS_ASSERTION(info,"no method info"); ++ ++ paramCount = info->GetParamCount(); ++ ++ // setup variant array pointer ++ if(paramCount > PARAM_BUFFER_COUNT) ++ dispatchParams = new nsXPTCMiniVariant[paramCount]; ++ else ++ dispatchParams = paramBuffer; ++ NS_ASSERTION(dispatchParams,"no place for params"); ++ ++ PRUint64* ap = args; ++ PRUint32 iCount = 0; ++ for(i = 0; i < paramCount; i++) ++ { ++ const nsXPTParamInfo& param = info->GetParam(i); ++ const nsXPTType& type = param.GetType(); ++ nsXPTCMiniVariant* dp = &dispatchParams[i]; ++ ++ if(param.IsOut() || !type.IsArithmetic()) ++ { ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.p = (void*)gprData[iCount++]; ++ else ++ dp->val.p = (void*)*ap++; ++ continue; ++ } ++ // else ++ switch(type) ++ { ++ case nsXPTType::T_I8: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.i8 = (PRInt8)gprData[iCount++]; ++ else ++ dp->val.i8 = (PRInt8)*ap++; ++ break; ++ ++ case nsXPTType::T_I16: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.i16 = (PRInt16)gprData[iCount++]; ++ else ++ dp->val.i16 = (PRInt16)*ap++; ++ break; ++ ++ case nsXPTType::T_I32: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.i32 = (PRInt32)gprData[iCount++]; ++ else ++ dp->val.i32 = (PRInt32)*ap++; ++ break; ++ ++ case nsXPTType::T_I64: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.i64 = (PRInt64)gprData[iCount++]; ++ else ++ dp->val.i64 = (PRInt64)*ap++; ++ break; ++ ++ case nsXPTType::T_U8: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.u8 = (PRUint8)gprData[iCount++]; ++ else ++ dp->val.u8 = (PRUint8)*ap++; ++ break; ++ ++ case nsXPTType::T_U16: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.u16 = (PRUint16)gprData[iCount++]; ++ else ++ dp->val.u16 = (PRUint16)*ap++; ++ break; ++ ++ case nsXPTType::T_U32: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.u32 = (PRUint32)gprData[iCount++]; ++ else ++ dp->val.u32 = (PRUint32)*ap++; ++ break; ++ ++ case nsXPTType::T_U64: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.u64 = (PRUint64)gprData[iCount++]; ++ else ++ dp->val.u64 = (PRUint64)*ap++; ++ break; ++ ++ case nsXPTType::T_FLOAT: ++ if (iCount < PARAM_FPR_COUNT) ++ dp->val.f = (double)fprData[iCount++]; ++ else ++ dp->val.f = *((double*)ap++); ++ break; ++ ++ case nsXPTType::T_DOUBLE: ++ if (iCount < PARAM_FPR_COUNT) ++ dp->val.d = (double)fprData[iCount++]; ++ else ++ dp->val.d = *((double*)ap++); ++ break; ++ ++ case nsXPTType::T_BOOL: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.b = (PRBool)gprData[iCount++]; ++ else ++ dp->val.b = (PRBool)*ap++; ++ break; ++ ++ case nsXPTType::T_CHAR: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.c = (char)gprData[iCount++]; ++ else ++ dp->val.c = (char)*ap++; ++ break; ++ ++ case nsXPTType::T_WCHAR: ++ if (iCount < PARAM_GPR_COUNT) ++ dp->val.wc = (wchar_t)gprData[iCount++]; ++ else ++ dp->val.wc = (wchar_t)*ap++; ++ break; ++ ++ default: ++ NS_ASSERTION(0, "bad type"); ++ break; ++ } ++ } ++ ++ result = self->mOuter->CallMethod((PRUint16)methodIndex, info, dispatchParams); ++ ++ if(dispatchParams != paramBuffer) ++ delete [] dispatchParams; ++ ++ return result; ++} ++ ++#define STUB_ENTRY(n) /* defined in the assembly file */ ++ ++#define SENTINEL_ENTRY(n) \ ++nsresult nsXPTCStubBase::Sentinel##n() \ ++{ \ ++ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \ ++ return NS_ERROR_NOT_IMPLEMENTED; \ ++} ++ ++#include "xptcstubsdef.inc" +-- +1.6.2 + diff --git a/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-tls.patch b/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-tls.patch new file mode 100644 index 0000000..51aaf57 --- /dev/null +++ b/net-libs/xulrunner/files/xulrunner-1.9.2.13-mips-tls.patch @@ -0,0 +1,30 @@ + +# HG changeset patch +# User Mike Hommey <mh+mozilla@glandium.org> +# Date 1271746824 -7200 +# Node ID bfe106e6ca9a983a0059911df70b0701c0c1786b +# Parent a164b2809859dd76bc254e077b7191ffb4b06469 +Bug 528687 - Don't use TLS variables on mips, because of a binutils bug [r=benjamin] + +diff --git a/configure.in b/configure.in +--- a/configure.in ++++ b/configure.in +@@ -4269,7 +4269,16 @@ AC_CACHE_CHECK(for __thread keyword for + ac_cv_thread_keyword=no)]) + LDFLAGS=$_SAVE_LDFLAGS + if test "$ac_cv_thread_keyword" = yes; then +- AC_DEFINE(HAVE_THREAD_TLS_KEYWORD) ++ # mips builds fail with TLS variables because of a binutils bug. ++ # See bug 528687 ++ case "${target_cpu}" in ++ mips*) ++ : ++ ;; ++ *) ++ AC_DEFINE(HAVE_THREAD_TLS_KEYWORD) ++ ;; ++ esac + fi + + dnl Check for the existence of various allocation headers/functions + diff --git a/net-libs/xulrunner/xulrunner-1.9.2.13.ebuild b/net-libs/xulrunner/xulrunner-1.9.2.13.ebuild new file mode 100644 index 0000000..9068788 --- /dev/null +++ b/net-libs/xulrunner/xulrunner-1.9.2.13.ebuild @@ -0,0 +1,253 @@ +# Copyright 1999-2010 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.13.ebuild,v 1.7 2010/12/11 15:58:24 jer 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 hppa ~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 +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.1[fts3,secure-delete] ) + alsa? ( media-libs/alsa-lib ) + >=app-text/hunspell-1.2 + >=x11-libs/cairo-1.8.8[X] + x11-libs/pango[X] + x11-libs/libXt + x11-libs/pixman + >=dev-libs/libevent-1.4.7 + 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}/fix-animated-gifs.patch" + + if use mips; then + epatch "${FILESDIR}"/${P}-mips-n32.patch + epatch "${FILESDIR}"/${P}-mips-bus-error.patch + epatch "${FILESDIR}"/${P}-mips-tls.patch + fi + + 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 + + # 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 '' --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 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 ." +} diff --git a/www-client/firefox/Manifest b/www-client/firefox/Manifest index 16a5f48..352a5e5 100644 --- a/www-client/firefox/Manifest +++ b/www-client/firefox/Manifest @@ -13,6 +13,81 @@ AUX mips-nanojit.patch 72977 RMD160 07f1bd89b81a132121b314734cf29533968b81f1 SHA AUX mozilla-filepicker.patch 722 RMD160 5d47c8d1c7f6288071295dadc0779b1eed13a2f2 SHA1 987535d45fbefd2ae0a3de4cc19e7fc86dc17c3e SHA256 f716c34efe691c8fe8924682b663670926614962bf782bac13e52fb77aeee13c AUX xulrunner-1.9.2-arm-fixes.patch 587 RMD160 495e8037785a1867fad0c088a4c834df6f02291c SHA1 5f08ef1f65771c2891a067c7baac8a4ef8466deb SHA256 a1b0aef546deecafe64c9ce70b08e7252a3eaf8d84a381a62b5edfaf1f735817 AUX xulrunner-1.9.2-noalsa-fixup.patch 1031 RMD160 6eae45ee3e29fa47a7b31688cfcbfb594fcdd79b SHA1 845d4962708281bbd0cba45db82335739a50897b SHA256 1c4e017b6a8d81267a9d4b29b10cc4cfe69b090f8f8903a663f25b5e300eddd5 +DIST firefox-3.6-patches-0.4.tar.bz2 5791 RMD160 17944b3605138c3b651b31fcad306a432b73b80c SHA1 4ddff9a613cc703b34667aab3aea993187405920 SHA256 39bbbe412f70b50e8870e11dbd3f9e74ed7cbeaa23ed47dea1ea6ff72f48e54f +DIST firefox-3.6.13-af.xpi 121613 RMD160 2c86214e466b3a0962d0dbbb523caa15e39538a4 SHA1 5164d5830aa8ee6a5c1f912fcc25fff8aa6f4c79 SHA256 04d9cc80be553f84635808ca4fbcb6432b1d2005d490094ceded53ec11117dc1 +DIST firefox-3.6.13-ar.xpi 132117 RMD160 58cc8d3586e6ce0ae24e913d6ca296be9b3c4deb SHA1 654b7d7899198096663e4879aa953adcf475d329 SHA256 636d4290a77a474220a78d1395049a9f9008e54d7965e1889f5f0b750b4f81e6 +DIST firefox-3.6.13-as.xpi 134263 RMD160 ea4b4bf8014be98f63289829ff9914e927ceb9a1 SHA1 df8e4a1c2e3112f34a37e1db07aa11f5106ba1f4 SHA256 b07f7236dc4b9742a244809e959c1d95d830296aeec0c3d7ae2a0937e9315d6b +DIST firefox-3.6.13-be.xpi 122231 RMD160 e46f198cb08d383a83756e777518431aae104778 SHA1 64c39469f8ea9214293db070b2f02aaab0da64bc SHA256 900220c777328301c0122b48b0af5b0bdd7494bf7bf575794e6bc5622d729708 +DIST firefox-3.6.13-bg.xpi 134072 RMD160 80b69009ced7543b5b1f0271b4d2cf3fbf9b908c SHA1 d005d5794f7b6fd543860e36ae3530ac09d86d2f SHA256 8e42369967661f0a3a099614a7ff51e521baea74de98dc404c1754211f517048 +DIST firefox-3.6.13-bn-BD.xpi 141147 RMD160 fbec1d6e017759e40e4f972910ddb23018821567 SHA1 ce0c2f566e12610dab5240496c111c771648883b SHA256 fd29805ed1851a734b5e11023429e9a740783e0e96d9351bfbb77cbd7150fe30 +DIST firefox-3.6.13-bn-IN.xpi 160070 RMD160 6ec9cac6f44d96c8f9dad310920c3170406b5642 SHA1 a5e001fe74559ed79d659d79670229817da0f18c SHA256 109fc889c84cfeb0cdae6075ae104fb032b4519850cc26ed87e4b4979b6874c8 +DIST firefox-3.6.13-ca.xpi 127932 RMD160 d7ccd5a7621ba31156e62d520d65afb83c2dacc5 SHA1 8db557f83a0988986236eb96ab46e7b04f8f35f6 SHA256 0edceed6c7b93d947f148b6f024adb7aed21eb1712c0935ae417c04e3a6a2f0a +DIST firefox-3.6.13-cs.xpi 126726 RMD160 8508ac62c6acb3d37baede5ef35d062c41195af3 SHA1 5bce78c4f596fd8360c022cf59872f4af5c0a272 SHA256 f0abd6aed216b88962896dc59a45cd49192f19b5cbe9e217a7a6b3f2eecae057 +DIST firefox-3.6.13-cy.xpi 121982 RMD160 a403fe1c44e9495add54b83b59be5bec0418e506 SHA1 71ffab5de1b8400ed76588c4d9d8b2336acec797 SHA256 c808f04ac9cd3f41e4618c168f94cbb3573555302a606462745deabc00ceaee4 +DIST firefox-3.6.13-da.xpi 125615 RMD160 c92577413da91e2898f5b14a53988aca11c40246 SHA1 786a1fd9a78e81bc0ad81b30ecd77aa8a610d3f1 SHA256 fba5ba84a0beeed7aeaee18d58dad30f1be329b8e9581e32114c05343c97ea5a +DIST firefox-3.6.13-de.xpi 128972 RMD160 7bb6993929ffa8f2eef3fb6da6c525005dff0f52 SHA1 70db9d27c95119db876179f36614550bd1954dd9 SHA256 b71d74588802554b4823f1b701fddfedf4a57183e925660ebaec656af4a83b9c +DIST firefox-3.6.13-el.xpi 135215 RMD160 21de97f34137cc6c782779c2f7855ced4729245c SHA1 219f2d3c9a8584d2a28391eadbbe30533301c78f SHA256 03def382ecba187070ac95f476bb595eecc907e7559d68a3770e08c366bd59ee +DIST firefox-3.6.13-en-GB.xpi 119228 RMD160 a5179b404f13e4f178d08651936a6fcce78d4280 SHA1 134b033a95bb908565c14372258cb1551ff6bba5 SHA256 ad12f3970269d20256ed1245dc9a64c1813cacd33b4e1d3a0900b809baabb18e +DIST firefox-3.6.13-eo.xpi 121854 RMD160 07fb9e1a700f851e6dd32c5ac364f26b14979c52 SHA1 a8db5cd0967b474cf7e13fd880ecd317d9fa65e1 SHA256 fb256250e57dac1698cf6f70a40c37361c1c4696cb0c8939972bdfa7b1afe7fc +DIST firefox-3.6.13-es-AR.xpi 127824 RMD160 e0b96def23adf3dfba73577e5553047d401bb967 SHA1 6e8f8ec0435efac9316f2f88fde57d22d00cc290 SHA256 f60a9006bddc02f9e02184ef7ce5ae45cc079d28c1fa9c1824d8029dfc08d6c7 +DIST firefox-3.6.13-es-CL.xpi 129470 RMD160 df0cd61160cd0da07490ebb8aecfb354d27f0ffb SHA1 029ae3ab6bf018dfe915a94eb1a7096d2ddcd2ce SHA256 c3ab0dbbe00bc1f4969dc8fcdba0809fc2ca91b25c65acb58ae3bb13d217ebc4 +DIST firefox-3.6.13-es-ES.xpi 27050 RMD160 c8c69ac66acd23a7a9c296f31c352e2bd2ba433f SHA1 bbfa00419f60de7e126456f93b49b2c1da26c94d SHA256 64a8e54f625eab581eea3576df9915de355984c270e49c68c7e8fbe63d7aae88 +DIST firefox-3.6.13-es-MX.xpi 127398 RMD160 e48ac3cb0be13356a8b13d2b157fe3c6db91cc1e SHA1 1fd72ab2a475f4e0892fb269bd75a18cc8a9dc67 SHA256 269476d3bf5a425e34149e58d434f109a3aac1a3f16c782597ca51b7bd160e44 +DIST firefox-3.6.13-et.xpi 127368 RMD160 86d729e28d7333abe711f1d50b5928eb40999b45 SHA1 3c596fd8c965b82724f3a3a777ddede18cb859e2 SHA256 7a15b05df5c0e6c9451025a55ef7578905a3a70755f2b9b98fb5ac564fc8d7d3 +DIST firefox-3.6.13-eu.xpi 121856 RMD160 25043c0e698fe00443b28466f83713be31abaebd SHA1 c42a0496ed9f8e8a3ecf0e75b19f58ef620d9515 SHA256 88dcb6dd862fab6e2f48200c413ef859290b18407abde7540e44cc53567fbd9c +DIST firefox-3.6.13-fa.xpi 138376 RMD160 46dad7ed23646cbf9afead405ff773308cf666f4 SHA1 aabf1ebf254b2606f93bef2444104d94e98e9fc9 SHA256 7825e74985e4ac67c857ce6f9e5b51e4e8077765891a53cb1fc487ee5778e7db +DIST firefox-3.6.13-fi.xpi 126793 RMD160 ac829e044fb04772035ad020e83fcefc1439f664 SHA1 5f40eef549c50c2527e0a82d5815978ffcb9a700 SHA256 71d81ecbe7f11231a390c21e217ad750c2caef7ddfafc7c165d4369da6a1b417 +DIST firefox-3.6.13-fr.xpi 128990 RMD160 bbd050f27a35e1859ee2b6ec967abb630124c326 SHA1 063cf833f9b338ebaa506a008f11b8e0e0c3c7c1 SHA256 5324702f7f2b083d6a0ee9fd0bae61ea30fffa9463da651dc54d7d62fa46dfc1 +DIST firefox-3.6.13-fy-NL.xpi 129159 RMD160 d27cc1f1887cc55e8a5ca05a5663565b623be389 SHA1 2c5dde27949cd83fc5b95b5e90259699dec5de69 SHA256 0fe1cd7af910de1b6592e92e320b436da9370832d9bbb7691eb1664c3650667e +DIST firefox-3.6.13-ga-IE.xpi 127774 RMD160 199bf9f163f4ee7f0475c5e65cf23bbd325c374c SHA1 c2cd307ebf37918800a7486b4dcf9bc0c53fa8dd SHA256 0b6d8051e096a3d92393ad55c19d65c24f68211cb8a999be64cdd929c2391826 +DIST firefox-3.6.13-gl.xpi 124798 RMD160 257eddeabff8279d51b5e56a268d2d49bbb9de2f SHA1 216937aa3a597549d6a2bffebf1c94da5087d400 SHA256 613a896fcf83734efa867980426f6991bfe8cd94c54f994ea1efcab5bf9c250c +DIST firefox-3.6.13-gu-IN.xpi 146318 RMD160 63d1d5f43a8ac26a3597b49b2e074b64d2da6e87 SHA1 9ad51d112d63a51221c86afe2f3ccc19c89f827b SHA256 fbd02b20e89025cbc2bc28ca88b09ae5588b126a4d64bd62365cee6c373c9bc2 +DIST firefox-3.6.13-he.xpi 123104 RMD160 3991a9679f2993286303f2d81ec0a5162b6cb0d2 SHA1 e899a0a548a91a61e181995483ad1d170f46412c SHA256 ce2237903dbb69c3bc41abfd4923bef5207780287427f2b25c52b3937198eb0c +DIST firefox-3.6.13-hi-IN.xpi 141921 RMD160 f254e9d7078bf67d63e7c2dd8c0c80425de755f4 SHA1 4b8d4aea6a776f6c6bb0962a600330b46c82b26d SHA256 0231bb4aaf69a69a9bc44e1ced15140c0f60e14aad74dd6430ff67e75c87b7d2 +DIST firefox-3.6.13-hr.xpi 127046 RMD160 46c36c7e82df3ddbec94a1f23615a8b527301b1e SHA1 865ce24966aa7f179475fc3e687df1bcaded59e4 SHA256 0ee01acf060e89f4e94fae693906ccd80b83eb3034fe5f07871b9c639fb9cca3 +DIST firefox-3.6.13-hu.xpi 131129 RMD160 7d2ac0befa1bb09e9da17a048dcc479fe788dc53 SHA1 926545ebd86eb8d16f9d76b434e23cee3824f681 SHA256 dfcab314f58217248b33ddc01a2a161874b5999e018103f448cda1afff5d1189 +DIST firefox-3.6.13-id.xpi 103928 RMD160 47848109d58a108b8e5c0082e702663fa70d2f52 SHA1 9823e2cc52d144d884f0c126532caae86f174f7e SHA256 51bac9f686628805b4c234b7007560f14b41b8d9a005a2025ca4284e1d4ea5a0 +DIST firefox-3.6.13-is.xpi 123338 RMD160 abed72e61544bc5aab5e7748cf6f5ac4fde823cb SHA1 6e4236f40690799609d297df3ad528f2594c4b3c SHA256 1760cd0efed7a5dd6cb00d684ba3009370c4d234e8efe7baedf924d767a4a967 +DIST firefox-3.6.13-it.xpi 107935 RMD160 fd80f0367de3b3715871e219716ddbb3ba9e97a1 SHA1 97b9343c324699e5ef462c95428ec65331d79465 SHA256 ceca5bb87782f5a6805e4501f25f6ea8a1e8525fc777a847eae2b43e3e9c7557 +DIST firefox-3.6.13-ja.xpi 137042 RMD160 5d23d8e07f08b55f26d2003512469b7419143dde SHA1 7cc4585e1a80527dc4b18979ef50a32fff318e17 SHA256 f40df9c92000f43737a55d6240246c90bbe95d03b096870748f7d05b3b5766f3 +DIST firefox-3.6.13-ka.xpi 154121 RMD160 95a48173edc26311740cd134caaa07815a13b956 SHA1 1d35b7b92ee23b174e60f3bc5f9e514a91fd5e30 SHA256 85be28e78fb97f60e4b505dcb06e12bc1fb93704d056701978853a028160b50f +DIST firefox-3.6.13-kk.xpi 137758 RMD160 c1f189f3ede9833a8fa2ca810c938e21a55b4ed1 SHA1 fca0e03a2a802df9098750453cc3d9d64e978dbb SHA256 ff772b83e1ae3df9b43b6ea702cc4310b0aef96cf580ecf5e5297628bfcd1adf +DIST firefox-3.6.13-kn.xpi 148747 RMD160 c91425e442b1f7b5977475e9fa4cb9a3e0af8f6e SHA1 6fde73189db92f40ef716f081f1c5f0966f07371 SHA256 519007ab568a73cb6f500cae000d8339d416e3627ed27a152c314108bfd225f2 +DIST firefox-3.6.13-ko.xpi 115704 RMD160 25cf498504611cd504b7b58a70c3a0037472146f SHA1 60b4b959d9f062f281f2e8bfdbbff67f7460b0ab SHA256 a5ffdb0e27fd848bb798be0e6fa088fed0b3518129c3d2666ec25493ab0d752b +DIST firefox-3.6.13-ku.xpi 130806 RMD160 616a2265b8a60c2405bf8ff10f8993d319ee596b SHA1 0d343c477b3c6d2a9153d0138762c069fea801e4 SHA256 451869f18cc3e443db8decfc9838b036262561fd8124917cc7028d5186040e92 +DIST firefox-3.6.13-lt.xpi 139683 RMD160 5c4afe63910b16b7eaa21c8a49c267c9d7c0f2bf SHA1 7409b3ce8f5599ab185ab8d7e50c5b7351031663 SHA256 07447ea5a876c78b3d41e08c94022acd686fc70e81cd5a7339a09afea094a035 +DIST firefox-3.6.13-lv.xpi 124804 RMD160 5b5ebf29046c33f98920f37d961775128bc7dc54 SHA1 738369646575f783c9734ecc70fd2284d9fb1fd1 SHA256 9f4cd563e703f18d870e5684ae44f1ef59f636c044d1cb000a055586dbfc760e +DIST firefox-3.6.13-mk.xpi 128271 RMD160 b5cb4bad368199a80a4dfd79fac9929ec9aee21f SHA1 f8991d2ac9716ff432ade5d63940a8c305a1cd8a SHA256 4297aa9f42d205f6666105619c6c2ced1ad687b9dd980849f5d672e21af21421 +DIST firefox-3.6.13-ml.xpi 152202 RMD160 90e23a99d784a4ff84189b5178ac639a135ea644 SHA1 0f1ae3e3bf1414a1a0b9ceaff14b80a2230c1fad SHA256 9734fb8926734d91dc77b6976f598d8f7804cc295ba36c9bdb14cf1bfe085e6e +DIST firefox-3.6.13-mr.xpi 141149 RMD160 7c94803143123202f00b027c22c694acf6b496c1 SHA1 a4250e7cf01cb7528e69ac937ef02f2edb528fac SHA256 f9901bba586377e90086d93320e845d4179c81097887c68e458d29fd934fde12 +DIST firefox-3.6.13-nb-NO.xpi 124100 RMD160 85d47c26edf42d5ea98f768420f780f3619538a3 SHA1 4265a226515d489c111752f233372b8d1656f017 SHA256 7c60e8a2e0123dd081c0e9890292d4a9020eee7d4d34aa26f7a51f181e958f6f +DIST firefox-3.6.13-nl.xpi 126412 RMD160 6527f6599b10e0f0ab5c97c615031b0170330fed SHA1 0d66ccfb7fdd4f2f1d9ede91fb4bd489cc57dff8 SHA256 2eee7d8cda261a7113acb5ceafe6186afd4e248c38dd87c1373bf7eb5f6d0916 +DIST firefox-3.6.13-nn-NO.xpi 125104 RMD160 851ae1fe4cf6e970b6ffcb8c85bde6a178c8d62d SHA1 1b2938c8ce1091280db497badc670f5877784a1d SHA256 376f5149514efb36eeddba0dc8b0557da60475bd57ded480eda6f31ff163eec6 +DIST firefox-3.6.13-oc.xpi 108343 RMD160 3d971402d54ca3d01d6986d56e732761d4a2bf48 SHA1 7c9319a14de186aae8f6883bd93d59dbf6c0b9cc SHA256 4c159085069764be3c5f100593ac3b3b5eab9c9d90763fb45fd81957da72a04c +DIST firefox-3.6.13-or.xpi 142522 RMD160 eb579db892c9d86cc08219a29397299992f5f6ea SHA1 cc42cef27998b088e41b877fe7651e26bb987bfe SHA256 d89ebf679add3281f0edbec9d94f75e0b5b7d92c8e551b7537282a3f736c5f3e +DIST firefox-3.6.13-pa-IN.xpi 142078 RMD160 fc3874a07172c1a7ccd26fb02580867e0bfe592b SHA1 074362d4c7c8b6530a1797b86f58a70e5273fced SHA256 b9e2609beb12bb155e5da70151c9d1e360cbb22180abf3735a55ed3ec2512097 +DIST firefox-3.6.13-pl.xpi 131057 RMD160 955e0a733c1c0f5fc361461e9db710fcabe78ce1 SHA1 3aaa000178f36b1c940cc0173758a1002aaf2b56 SHA256 391bc5f105d15cebbf3e700935a979ad61b16ecbc1beb6b5a90245fd2596bb5b +DIST firefox-3.6.13-pt-BR.xpi 125432 RMD160 d421757d8de6a10a1fbb315e94af4a92c85728d6 SHA1 d4ed898f4a703e3c5225c06d2804a2455c55b58c SHA256 56458e4ffb952a1f575ec101ba90642e0550d9a9dcae3fe06c8e89ab2780cfe0 +DIST firefox-3.6.13-pt-PT.xpi 125389 RMD160 bff034638ff23416428c58904e245439f5b19f92 SHA1 bd5a22a82301bed8cb85008e3c9926f4f7784cfd SHA256 905c2ac1b7ea1ebeaf46787e7efde96d42daec04359746764b8161fa00b474fb +DIST firefox-3.6.13-rm.xpi 127422 RMD160 9a8797ebd5479d0694d10af69a59e84b51a350c5 SHA1 199013f4db6ff746f3222804cfb145590327827c SHA256 cd14ae20680b88700969492205014ada1cf668af325753d49b9008e623717b4a +DIST firefox-3.6.13-ro.xpi 128737 RMD160 4001d10d950b30f0890b4e79c468673fd3e20cf4 SHA1 ab2d54e26f149f8743e911d5b0ba0e5b9145eb07 SHA256 2da79bbde01851f4a10f5d4dab33e3fd0c893ef1c88bb0f0a89a8d710a04ad95 +DIST firefox-3.6.13-ru.xpi 124791 RMD160 893d26458690dd40afdf31dabdc9ef6c5c06c09e SHA1 a613a38e49d436f6d2b590afa5533ff14e89a36c SHA256 07ad3fdc8654d244061c2a9b383909e51ec984c8f56a42e2347229e43805ab61 +DIST firefox-3.6.13-si.xpi 142228 RMD160 1084e2f0e33bd8898579a0b212411fccb7435580 SHA1 7c03f45c04f754cace380ef96d72abc48c35e6b1 SHA256 f6ebcb474f2cf5358699c88ba722d2f7ba936c0d721850e439c02159bebcff56 +DIST firefox-3.6.13-sk.xpi 131177 RMD160 5e4b4e11bc00d44fecefab6ccb3b271c1bf59c18 SHA1 6305bcd3ff4d7b418c534d11bee7c271f8f423b4 SHA256 b241482d36732acfefac6fc72341e65fe4deba7b227787ad92025905f2587eee +DIST firefox-3.6.13-sl.xpi 124317 RMD160 dc14ecfd4c564b6f1d63f608bb8056d669337413 SHA1 d3b079fb7faee6cf84cbb1cc9187b635f1d9714e SHA256 1ab4b0d20042c1074445489bcc6b51132c5821771599c8443d1bf07f04b29ffb +DIST firefox-3.6.13-sq.xpi 121321 RMD160 f1f95ce2374a888da7712fc31fd5845bb237b597 SHA1 4fceac19c6e24bf112d4a11bc219b1b41d94b1fa SHA256 f6560cdd12f165580ee4504737de1b29c36dba5088c4116ac57057eb13988d3e +DIST firefox-3.6.13-sr.xpi 135917 RMD160 c035ecdef30418619b65b3c1becff5bd7dd82e46 SHA1 dfab519448e842eed76ee7ec661ff1db758831de SHA256 767b319049172b2b8762d799f0f06ee2e77976024ff610c0937bdc1914d529c7 +DIST firefox-3.6.13-sv-SE.xpi 128407 RMD160 0d2fa6918de72dbbd48dedf8a40574b9fca6b957 SHA1 686d1d4c34a031d3af8eb8f9af60116ff1fa3c92 SHA256 02f38da0b9effc8e603a75cebc8763ddd9c8834cceb852f209e611fb478906fb +DIST firefox-3.6.13-ta-LK.xpi 149284 RMD160 3a3b904c6943a544c7e281429533bf3b9fd6d4ce SHA1 882c0dbb735e405f2dc1e723fbad999069b748d4 SHA256 8d0d494e16e3db01cd525836ce75f3567b96e3920d0a307710fd4ff9b14debd9 +DIST firefox-3.6.13-ta.xpi 137239 RMD160 7f2c39ca8f04d8748da5697333c60450bc7f0a8d SHA1 bb863518156823fced32b52d490f7b74839fbc8b SHA256 9485d70531451daf7b408076c9be0c1eda24e70ed8693b18ed02b54446e70e15 +DIST firefox-3.6.13-te.xpi 147867 RMD160 ee3863e472ef52c81213c647feac2b5e4c7380a6 SHA1 0ae4f603afbca32f432ff31b8b56eecce0bbaa4e SHA256 92249d374dad37fa81695e300d2a012eb5edbe74852ed307b6c7fd94eba5955e +DIST firefox-3.6.13-th.xpi 134363 RMD160 b77257be23d1dbdfa630f604cdc5239f745a3f21 SHA1 390955262564d0e4d079037d62ed9233e8c78c34 SHA256 1bf33c3ce831ff9d803faff0e0ae3e1fdc44a4a916f9c5b52e6c3a386a411e34 +DIST firefox-3.6.13-tr.xpi 125409 RMD160 3aace735e8fd3d2746b82385f8abce026b5b4b23 SHA1 4ee331554517106b1459c3f85d07b8cd6f1cbde3 SHA256 fdae0169b32697204de2e09a041a16edf598af803c2baca4251633b84797059d +DIST firefox-3.6.13-uk.xpi 143185 RMD160 f2f11dc1fd5baf03f37bd38bb33c942d4f93a91f SHA1 88550f81fa144947400ea520837c1b6dbbe855af SHA256 75b22763798e6089bc76c0ab27c0126edcf7614d2516ee2c96aa98c94d1eed48 +DIST firefox-3.6.13-vi.xpi 129058 RMD160 da03e5beaa5378790d0ca804becaea81f2fc0d82 SHA1 18132ad11ae92bdb1232b20d5112ffe8bfd4e59c SHA256 0daefe04fee36dad427086c97cd2a564415db78da492afabee3b49db34d8451f +DIST firefox-3.6.13-zh-CN.xpi 127091 RMD160 9282e0df5df92bcc1ec89d37b69e5e090dbecbf6 SHA1 9c73bdcc81d3556586cb501acd20f4bd6aa34b42 SHA256 6b3c07d1959c4c077de097f9390f225fee1fe6ccb4bef4613ca995eb435874e1 +DIST firefox-3.6.13-zh-TW.xpi 128550 RMD160 6bd4ebb4a329252d99d7df273eb8d47b5d2f231e SHA1 238d42efcb7a726369136a8b15c5472b568625ee SHA256 278873d8e31cbf50a5de3b7c7d2c42f9ed394cd93c30d89f5cbebf6e97686e11 +DIST firefox-3.6.13.source.tar.bz2 51478675 RMD160 658409db60a8f412ac74ff15a8c1d8c4ed85b71e SHA1 1d1bc70d651bce4006687f5762638563c0494267 SHA256 4b90775c0f29cb7e170a80894311d8c7a2cd794c50e2124b70d1b83011c45f63 DIST firefox-3.6.8.source.tar.bz2 51238976 RMD160 14e245c643d41a1da25fe4dbc15d6ae466a19e5b SHA1 4936e543f6c7492c5954cbd5b30ddda6b20e3797 SHA256 fc609cc6a0ddaa2a9ebd8511ec39ae4a404e1107a12e07b233e2afca51d9a10e DIST mozilla-firefox-3.6-patches-0.6.tar.bz2 5201 RMD160 d721f5b7070b978e61b27c1d138dd8f464cfa9a4 SHA1 00e9e6955fb405e462598e500f48b937d5085b41 SHA256 3ccc057da61bf6d174fe0e3fcb1f213c27813d78b09cc8526a86d95b043a5c64 DIST mozilla-firefox-3.6.8-af.xpi 121616 RMD160 57c21fcd31bfa9486c336cedd789cccd313594d6 SHA1 a81b55b76d07bea95b3d66c04fba2b1ad45952ca SHA256 f3e646123cc01c77108862ffa256415c58ab2f9805f1e02728c1f04a4cdd635b @@ -88,4 +163,5 @@ DIST mozilla-firefox-3.6.8-uk.xpi 143211 RMD160 f8cfb5229ef0cc6b7bbb8115c2eea799 DIST mozilla-firefox-3.6.8-vi.xpi 129026 RMD160 48b6fccab58c18444e8618dd5e917cf14139217e SHA1 b4928f29df364a21f972bb165f0b94873395ea47 SHA256 9c4863d749339ea464bc17b091ff18303f0fd4f643066c48e2c45050f25d7f6d DIST mozilla-firefox-3.6.8-zh-CN.xpi 127101 RMD160 58aa997adb28a963f3c36fcb08b48f6c6654d49e SHA1 1d497484ccb381410947509d0413d76d2ca6e247 SHA256 0c66e888b740809a4062f0b833f3c137fca8fab884ff1fd2974f54873dede6f4 DIST mozilla-firefox-3.6.8-zh-TW.xpi 128402 RMD160 db52c9fc22357f79970725db9a7b35d8b80ae6af SHA1 cb7f676b7279825ff3e24e24e3a3460729d2b0af SHA256 063ef6e1ad038a5e335960b5e21e1838c8afc098d5f7c0f3a7a432ebf28e821c +EBUILD firefox-3.6.13.ebuild 9270 RMD160 5f0f105b53729e29bd70ce4c7db205e57fe7f2fd SHA1 7144b4fac698cb5ff8bb31156cb976f52f2b56fb SHA256 b4e8f2d46c15ebf90ae3050c33e070074f2174363fd24c0a323732321228ee5a EBUILD firefox-3.6.8.ebuild 9532 RMD160 70a3a29698b05c652698cec5a556d27f2676c4c3 SHA1 eef7a91f267bbb2098669a459a598d8f27b0023a SHA256 aa5fd07c00d2b881f7da153ee303b92a191e978fbfbbefdc1d77260a8d4c5853 diff --git a/www-client/firefox/firefox-3.6.13.ebuild b/www-client/firefox/firefox-3.6.13.ebuild new file mode 100644 index 0000000..f1be049 --- /dev/null +++ b/www-client/firefox/firefox-3.6.13.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-client/firefox/firefox-3.6.13.ebuild,v 1.7 2010/12/11 15:59:15 jer Exp $ +EAPI="3" +WANT_AUTOCONF="2.1" + +inherit flag-o-matic toolchain-funcs eutils mozconfig-3 makeedit multilib pax-utils fdo-mime autotools mozextension java-pkg-opt-2 python + +LANGS="af ar as be bg bn-BD bn-IN ca cs cy da de el en en-GB en-US eo es-AR \ +es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gl gu-IN he hi-IN hr hu id is it \ +ja ka kk kn ko ku lt lv mk ml mr nb-NO nl nn-NO oc or pa-IN pl pt-BR pt-PT rm \ +ro ru si sk sl sq sr sv-SE ta ta-LK te th tr uk vi zh-CN zh-TW" +NOSHORTLANGS="en-GB es-AR es-CL es-MX pt-BR zh-CN zh-TW" + +MAJ_XUL_PV="1.9.2" +MAJ_PV="${PV/_*/}" # Without the _rc and _beta stuff +DESKTOP_PV="3.6" +MY_PV="${PV/_rc/rc}" # Handle beta for SRC_URI +XUL_PV="${MAJ_XUL_PV}${MAJ_PV/${DESKTOP_PV}/}" # Major + Minor version no.s +PATCH="${PN}-3.6-patches-0.4" + +DESCRIPTION="Firefox Web Browser" +HOMEPAGE="http://www.mozilla.com/firefox" + +KEYWORDS="~alpha amd64 arm hppa ~ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris" +SLOT="0" +LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )" +IUSE="+alsa bindist +ipc java libnotify system-sqlite wifi" + +REL_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases" +SRC_URI="${REL_URI}/${MY_PV}/source/firefox-${MY_PV}.source.tar.bz2 + http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.bz2" + +for X in ${LANGS} ; do + if [ "${X}" != "en" ] && [ "${X}" != "en-US" ]; then + SRC_URI="${SRC_URI} + linguas_${X/-/_}? ( ${REL_URI}/${MY_PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )" + fi + IUSE="${IUSE} linguas_${X/-/_}" + # english is handled internally + if [ "${#X}" == 5 ] && ! has ${X} ${NOSHORTLANGS}; then + if [ "${X}" != "en-US" ]; then + SRC_URI="${SRC_URI} + linguas_${X%%-*}? ( ${REL_URI}/${PV}/linux-i686/xpi/${X}.xpi -> ${P}-${X}.xpi )" + fi + IUSE="${IUSE} linguas_${X%%-*}" + fi +done + +RDEPEND=" + >=sys-devel/binutils-2.16.1 + >=dev-libs/nss-3.12.8 + >=dev-libs/nspr-4.8.6 + >=app-text/hunspell-1.2 + system-sqlite? ( >=dev-db/sqlite-3.7.1[fts3,secure-delete] ) + alsa? ( media-libs/alsa-lib ) + >=x11-libs/cairo-1.8.8[X] + x11-libs/pango[X] + wifi? ( net-wireless/wireless-tools ) + libnotify? ( >=x11-libs/libnotify-0.4 ) + ~net-libs/xulrunner-${XUL_PV}[ipc=,java=,wifi=,libnotify=,system-sqlite=]" + +DEPEND="${RDEPEND} + java? ( >=virtual/jdk-1.4 ) + =dev-lang/python-2*[threads] + dev-util/pkgconfig" + +RDEPEND="${RDEPEND} java? ( >=virtual/jre-1.4 )" + +S="${WORKDIR}/mozilla-1.9.2" + +# This is a copy of the launcher program installed as part of xulrunner, so has +# already been stripped. Bug #332071 for details. +QA_PRESTRIPPED="usr/$(get_libdir)/${PN}/firefox" + +linguas() { + local LANG SLANG + for LANG in ${LINGUAS}; do + if has ${LANG} en en_US; then + has en ${linguas} || linguas="${linguas:+"${linguas} "}en" + continue + elif has ${LANG} ${LANGS//-/_}; then + has ${LANG//_/-} ${linguas} || linguas="${linguas:+"${linguas} "}${LANG//_/-}" + continue + elif [[ " ${LANGS} " == *" ${LANG}-"* ]]; then + for X in ${LANGS}; do + if [[ "${X}" == "${LANG}-"* ]] && \ + [[ " ${NOSHORTLANGS} " != *" ${X} "* ]]; then + has ${X} ${linguas} || linguas="${linguas:+"${linguas} "}${X}" + continue 2 + fi + done + fi + ewarn "Sorry, but ${PN} does not support the ${LANG} LINGUA" + done +} + +# XXX FIXME XXX: All refs to mozilla-${PN} need to become ${PN} with the next bump +# Note that this WILL cause breakage for packages that use fx's libdir and includedir +pkg_setup() { + # Ensure we always build with C locale. + export LANG="C" + export LC_ALL="C" + export LC_MESSAGES="C" + export LC_CTYPE="C" + + if ! use bindist ; then + einfo + elog "You are enabling official branding. You may not redistribute this build" + elog "to any users on your network or the internet. Doing so puts yourself into" + elog "a legal problem with Mozilla Foundation" + elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag" + fi + + java-pkg-opt-2_pkg_setup + + python_set_active_version 2 +} + +src_unpack() { + unpack firefox-${MY_PV}.source.tar.bz2 ${PATCH}.tar.bz2 + + linguas + for X in ${linguas}; do + # FIXME: Add support for unpacking xpis to portage + [[ ${X} != "en" ]] && xpi_unpack "${P}-${X}.xpi" + done +} + +src_prepare() { + # Apply our patches + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}" + + # Allow user to apply additional patches without modifing ebuild + epatch_user + + eautoreconf + + cd "${S}" + epatch "${FILESDIR}/mips-nanojit.patch" + + cd js/src + eautoreconf +} + +src_configure() { + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + MEXTENSIONS="default" + + #################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + #################################### + + mozconfig_init + mozconfig_config + + # It doesn't compile on alpha without this LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}" + mozconfig_annotate '' --enable-application=browser + 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-libxul + mozconfig_annotate '' --with-libxul-sdk="${EPREFIX}"/usr/$(get_libdir)/xulrunner-devel-${MAJ_XUL_PV} + + 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 + mozconfig_use_enable !bindist official-branding + + # Other ff-specific settings + mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME} + + # Finalize and report settings + mozconfig_final + + if [[ $(gcc-major-version) -lt 4 ]]; then + append-cxxflags -fno-stack-protector + fi + + #################################### + # + # Configure and build + # + #################################### + + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" PYTHON="$(PYTHON)" econf +} + +src_compile() { + # Should the build use multiprocessing? Not enabled by default, as it tends to break + [ "${WANT_MP}" = "true" ] && jobs=${MAKEOPTS} || jobs="-j1" + emake ${jobs} || die +} + +src_install() { + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + emake DESTDIR="${D}" install || die "emake install failed" + + linguas + for X in ${linguas}; do + [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${P}-${X}" + done + + # Install icon and .desktop for menu entry + if ! use bindist ; then + newicon "${S}"/other-licenses/branding/firefox/content/icon48.png ${PN}-icon.png + newmenu "${FILESDIR}"/icon/${PN}-1.5.desktop \ + mozilla-${PN}-${DESKTOP_PV}.desktop + else + newicon "${S}"/browser/branding/unofficial/content/icon48.png ${PN}-icon-unbranded.png + newmenu "${FILESDIR}"/icon/${PN}-1.5-unbranded.desktop \ + mozilla-${PN}-${DESKTOP_PV}.desktop + sed -i -e "s:Bon\ Echo:Namoroka:" \ + "${ED}"/usr/share/applications/mozilla-${PN}-${DESKTOP_PV}.desktop || die "sed failed!" + fi + + # Add StartupNotify=true bug 237317 + if use startup-notification ; then + echo "StartupNotify=true" >> "${ED}"/usr/share/applications/mozilla-${PN}-${DESKTOP_PV}.desktop + fi + + pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/firefox + + # Enable very specific settings not inherited from xulrunner + cp "${FILESDIR}"/firefox-default-prefs.js \ + "${ED}/${MOZILLA_FIVE_HOME}/defaults/preferences/all-gentoo.js" || \ + die "failed to cp firefox-default-prefs.js" + + # Plugins dir + dosym ../nsbrowser/plugins "${MOZILLA_FIVE_HOME}"/plugins \ + || die "failed to symlink" + + # very ugly hack to make firefox not sigbus on sparc + use sparc && { sed -e 's/Firefox/FirefoxGentoo/g' \ + -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" || \ + die "sparc sed failed"; } +} + +pkg_postinst() { + ewarn "We have finished moving away from mozilla-${PN}" + ewarn "to plain jane ${PN}. If for some reason you have a bug" + ewarn "that results please open a report and assign to maintainer" + ewarn "with mozilla@gentoo.org being CC'd on the bug report." + elog + + # Update mimedb for the new .desktop file + fdo-mime_desktop_database_update +} diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index 4f17aa2..46133b8 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -44,6 +44,7 @@ AUX xdm-setup.initd-1 346 RMD160 e68512e71adbf15743f789bb6b5587b07a9812a3 SHA1 f AUX xdm.confd-3 853 RMD160 363cd18f760650923e16579bf55f661e93dad63b SHA1 0027b98f2aeb5c43219fa4f9b7d81a05101bec6f SHA256 00af0d957ff1b4f31c1aa4701d93a54080408548792deafac5414cbfa13b89ec AUX xdm.initd 5392 RMD160 eec0b0ccefeee366e891afc73d195240b447421f SHA1 d3ce725e86fa3889f77403354b7f69d8184181ae SHA256 0c087c42d46563fd9d63da655753128aab2a0815efb83f906db3f54ba5c886ce AUX xdm.initd-2 5428 RMD160 85c40a4874e1f3358077056294947f4b5f7f7a3a SHA1 11ee3c7a7000ae4ac9ab7d33667c44f98193266f SHA256 8582cc4265da2f93f498252b88e0dc055f78152b1daa9fbd7ecc0852f463730c +AUX xdm.initd-3 5396 RMD160 eb1741ec3a80f83948150610a595115ff96d4833 SHA1 788097c7b72ae7c3df2348b2b503405b50046156 SHA256 10181710766bac1dc33093ee2775d63f58a43d2d9ffcc709d0b9181749912b70 AUX xorg-server-1.3.0.0-loongson.patch 1931 RMD160 cc84def06fdfa7099342411baa037529166f56c0 SHA1 3596b2abaab7f58e78722988f9e4f1ca97bd7cd3 SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 AUX xorg-server-1.4-loongson.patch 2039 RMD160 9ae834b71e29de0fd9698843833dcf967a4385f6 SHA1 828246c5fdd34f6018c3fab8654ce9e095142608 SHA256 c875ede2906969d0c6cb2f9b5548f9002a93f25f174d82e013c8310697265cf5 AUX xorg-server-1.5.2-loongson.patch 2039 RMD160 9ae834b71e29de0fd9698843833dcf967a4385f6 SHA1 828246c5fdd34f6018c3fab8654ce9e095142608 SHA256 c875ede2906969d0c6cb2f9b5548f9002a93f25f174d82e013c8310697265cf5 @@ -59,6 +60,7 @@ AUX xorg-server-1.8-nouveau-default.patch 963 RMD160 cb8e530815c21a6015052594204 AUX xorg-server-1.8.2-loongson.patch 1899 RMD160 5705d24c037697d7c8f4eed53e6fd0c6b0962040 SHA1 27b6440970ffcceec5bb45c09de16a8ee8a6ef1e SHA256 fa2b1769ff6d5b1879053d64328bd1a08f9ead1b676ceda06a897d1f7c509552 AUX xorg-server-1.9-nouveau-default.patch 916 RMD160 0ebdf0fb76364b7fd0c520c3a2f7cc2cc1a83446 SHA1 daddde0f4f4276e12b87354d2e6825ed5c74c6eb SHA256 a7ff421dd928e3025194279f9afb7cc033a896b3417abe339741e9c6ed4b54ea AUX xorg-server-1.9.0-loongson.patch 1899 RMD160 5705d24c037697d7c8f4eed53e6fd0c6b0962040 SHA1 27b6440970ffcceec5bb45c09de16a8ee8a6ef1e SHA256 fa2b1769ff6d5b1879053d64328bd1a08f9ead1b676ceda06a897d1f7c509552 +AUX xorg-server-1.9.2.902-loongson.patch 1899 RMD160 5705d24c037697d7c8f4eed53e6fd0c6b0962040 SHA1 27b6440970ffcceec5bb45c09de16a8ee8a6ef1e SHA256 fa2b1769ff6d5b1879053d64328bd1a08f9ead1b676ceda06a897d1f7c509552 AUX xorg-server-9999-loongson.patch 4107 RMD160 19aed186ec0163a4a1a81574040592ab8d8e1a06 SHA1 a39df02932f9d24693e79bbcbb80e7e6a5c74fa0 SHA256 a19a28c5f4930348e7e4ed471d3d0e53f9d936e7a4c756281ada480b63ecc039 AUX xorg-server-disable-acpi.patch 663 RMD160 7074ca5276369b746ea7606a0795232aafe07c90 SHA1 d300a37dd2e0a8aa3965948c13f6995e6767841d SHA256 5b3cc7c8bea18fe3ba81851d2846d19ffd8fab9cdf5d8f3a274846847e734200 AUX xorg-server-loongson-fix-smi-16bpp.patch 478 RMD160 bc4383c3ce55e051e255cd972d496542ac9a5eb5 SHA1 e020301ec281e8fdd4bf9d05f8d62448ae4ac20a SHA256 39d65416a4a8f8db3c73165109c265c92c7977b4b54f9092cf2551a855e392ca @@ -74,12 +76,14 @@ DIST xorg-server-1.6.5.tar.bz2 4678406 RMD160 702970358a5643dbc9205f42e39c5b8ed2 DIST xorg-server-1.7.5.tar.bz2 4926990 RMD160 900863aeb73967e33265e0445ddaa61feeecc452 SHA1 c385293b66a6b0bc6bad648588f611d844c26ee7 SHA256 91e5f3d05c3e7270f4122235b6ab071210cc79579dcb842ffd4e71199b6bb7aa DIST xorg-server-1.8.2.tar.bz2 5226285 RMD160 dee713fe677fdcccc0fec29a02b0af4ef48819f2 SHA1 825d11757b729444800e0a3afd4e98d19d286b1a SHA256 52157e12295cfb6f1553d3ce64af2b27ee5b512958d4c66d21065d2376aeace2 DIST xorg-server-1.9.0.tar.bz2 5345092 RMD160 9d0152458e4d82681422705d9ab0c7808a0aa372 SHA1 a18d2212df80446b597b71b8948d133f52c399cc SHA256 1064f04c648285af9960e9c8e9cd5b8efabd58113c229e3af2408da39e829ad3 +DIST xorg-server-1.9.2.902.tar.bz2 5287890 RMD160 c02f539db2b85b0c97bfd90c15aff534196f2a11 SHA1 80f8276a8f547d67ce67c787aa4728a3c457b5f3 SHA256 b89064cc9473f48aa2a6a81c330d6107b95a6ea08fda9a62404f834b353e2af9 EBUILD xorg-server-1.4.0.90-r3.ebuild 19571 RMD160 2a18b5ff8b87141e0a6f06e3589d71e0a1f934dd SHA1 6fd1e7f78a2faefbc13f1ad5c3a8f77d121a458b SHA256 4f3375321e37883fa765105cbb7056f90e6d2d6e74d4ab06072a31d635618781 EBUILD xorg-server-1.5.3.ebuild 16703 RMD160 97d1d64120e5c7a6c40236894880bcce0e27e6dd SHA1 0abc2d7b74dc01ccfdd765dd6d73e73d2258a887 SHA256 3c7aa222bb7aa967f6c0cd2e8f03b542dfb619599c5f3c36a07ea8b37392a257 EBUILD xorg-server-1.6.5.ebuild 6897 RMD160 70aa46bdd55ff4517d10517f2d26b2fb9495d59c SHA1 4835b5c31a380fb573404123a7045abd5a902713 SHA256 f503bf6f5d693c0533af3e1cb88472a3b1132d28072287b8309e7f3d9021cabd EBUILD xorg-server-1.7.5.ebuild 7170 RMD160 826bc1ab53d6703b79798b9c79664ba641574278 SHA1 e6c410063e2862c3a81af6e0cf2207c7341257d4 SHA256 a9958384cc851512a108af346a8169771df4940d94d0f45f07f401262676d853 EBUILD xorg-server-1.8.2.ebuild 8241 RMD160 2fa4126a8c52b3f8be9ae45b0d087cfe669e4d1d SHA1 8fea1dede1e3bcd9c5a0729920e3a6750043251a SHA256 52f9a3925448037b9e68aa538c238401c07b0ce19850371dd925a46e905da37a EBUILD xorg-server-1.9.0.ebuild 7853 RMD160 a5e96a4414e17fecde10ab9b16e8d726d909c140 SHA1 00c4a70acc477aa1cf95ae9eef9af7930efeed9a SHA256 9c4b389edecbd3baeef6c46bd525ae3434a02ad2d816c47f27f70165ec40d76f +EBUILD xorg-server-1.9.2.902.ebuild 8067 RMD160 f835be6b42d62dc44050145ffedf8c0ce7eac99e SHA1 ca35dedcba423f17be3be2dd15af65834c262c6f SHA256 ba801538aca09efd026508a8ffcaf18e9208530b303dc91cbd46cbcf5c19fa82 EBUILD xorg-server-9999.ebuild 13974 RMD160 5df9e7a97e2becf05a56756b21e2945416ec04ba SHA1 4ae167f622911208539bb80330d287ffdce259a6 SHA256 bd73081e164fe8aae6b2d589b04d345d999ec098a7be4eec09b296b0140ed26b MISC ChangeLog 46548 RMD160 fd66dad1dc5b8181e294f00b2d867e273f375fed SHA1 c1c264afd91f7d13bd8c4cd5d8d03cc9327e1e14 SHA256 ae56c39d52f287b2e1e0c5be5bffe5207fbc60e0cbf906a15f50f7f849bd69d7 MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 diff --git a/x11-base/xorg-server/files/xdm.initd-3 b/x11-base/xorg-server/files/xdm.initd-3 new file mode 100644 index 0000000..ae5f59e --- /dev/null +++ b/x11-base/xorg-server/files/xdm.initd-3 @@ -0,0 +1,207 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm.initd-3,v 1.1 2010/09/28 12:43:19 scarabeus Exp $ + +# This is here to serve as a note to myself, and future developers. +# +# Any Display manager (gdm,kdm,xdm) has the following problem: if +# it is started before any getty, and no vt is specified, it will +# usually run on vt2. When the getty on vt2 then starts, and the +# DM is already started, the getty will take control of the keyboard, +# leaving us with a "dead" keyboard. +# +# Resolution: add the following line to /etc/inittab +# +# x:a:once:/etc/X11/startDM.sh +# +# and have /etc/X11/startDM.sh start the DM in daemon mode if +# a lock is present (with the info of what DM should be started), +# else just fall through. +# +# How this basically works, is the "a" runlevel is a additional +# runlevel that you can use to fork processes with init, but the +# runlevel never gets changed to this runlevel. Along with the "a" +# runlevel, the "once" key word means that startDM.sh will only be +# run when we specify it to run, thus eliminating respawning +# startDM.sh when "xdm" is not added to the default runlevel, as was +# done previously. +# +# This script then just calls "telinit a", and init will run +# /etc/X11/startDM.sh after the current runlevel completes (this +# script should only be added to the actual runlevel the user is +# using). +# +# Martin Schlemmer +# aka Azarah +# 04 March 2002 + +depend() { + need localmount xdm-setup + + # this should start as early as possible + # we can't do 'before *' as that breaks it + # (#139824) Start after ypbind and autofs for network authentication + # (#145219 #180163) Could use lirc mouse as input device + # (#70689 comment #92) Start after consolefont to avoid display corruption + # (#291269) Start after quota, since some dm need readable home + after bootmisc consolefont modules netmount + after readahead-list ypbind autofs openvpn gpm lircmd + after quota + before alsasound + + # Start before X + use consolekit xfs +} + +setup_dm() { + local MY_XDM + + MY_XDM=$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]') + + # Load our root path from profile.env + # Needed for kdm + PATH=${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}") + + NAME= + case "${MY_XDM}" in + kdm|kde) + EXE="$(which kdm)" + PIDFILE=/var/run/kdm.pid + ;; + kdm-*) + EXE="/usr/kde/${MY_XDM#kdm-}/bin/kdm" + PIDFILE=/var/run/kdm.pid + ;; + entrance*) + EXE=/usr/sbin/entranced + PIDFILE=/var/lib/entranced.pid + ;; + gdm|gnome) + EXE=/usr/bin/gdm + [ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary + PIDFILE=/var/run/gdm.pid + ;; + wdm) + EXE=/usr/bin/wdm + PIDFILE= + ;; + gpe) + EXE=/usr/bin/gpe-dm + PIDFILE=/var/run/gpe-dm.pid + ;; + *) + # first find out if there is such executable + EXE="$(which ${MY_XDM} 2>/dev/null)" + PIDFILE="/var/run/${MY_XDM}.pid" + + # warn user that he is doing sick things if the exe was not found + if [ -z "${EXE}" ]; then + echo "ERROR: Your XDM value is invalid." + echo " No ${MY_XDM} executable could be found on your system." + fi + ;; + esac + + if ! [ -x "${EXE}" ]; then + EXE=/usr/bin/xdm + PIDFILE=/var/run/xdm.pid + if ! [ -x "/usr/bin/xdm" ]; then + echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm," + echo " or install x11-apps/xdm package" + eend 255 + fi + fi +} + +# Check to see if something is defined on our VT +vtstatic() { + if [ -e /etc/inittab ] ; then + grep -Eq "^[^#]+.*\<tty$1\>" /etc/inittab + elif [ -e /etc/ttys ] ; then + grep -q "^ttyv$(($1 - 1))" /etc/ttys + else + return 1 + fi +} + +start() { + local EXE NAME PIDFILE + setup_dm + + if [ -f /etc/.noxdm ]; then + einfo "Skipping ${EXE##*/}, /etc/.noxdm found or \"nox\" bootparam passed." + rm /etc/.noxdm + return 0 + fi + + ebegin "Setting up ${EXE##*/}" + + # save the prefered DM + save_options "service" "${EXE}" + save_options "name" "${NAME}" + save_options "pidfile" "${PIDFILE}" + + if [ -n "${CHECKVT-y}" ] ; then + if vtstatic "${CHECKVT:-7}" ; then + if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ]; then + ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later" + telinit a >/dev/null 2>&1 + return 0 + else + eerror "Something is already defined on VT ${CHECKVT:-7}, not starting" + return 1 + fi + fi + fi + + /etc/X11/startDM.sh + eend 0 +} + +stop() { + local curvt retval + + retval=0 + if [ -t 0 ]; then + if type fgconsole >/dev/null 2>&1; then + curvt=$(fgconsole 2>/dev/null) + else + curvt=$(tty) + case "${curvt}" in + /dev/ttyv[0-9]*) curvt=${curvt#/dev/ttyv} ;; + *) curvt= ;; + esac + fi + fi + local myexe myname mypidfile myservice + myexe=$(get_options "service") + myname=$(get_options "name") + mypidfile=$(get_options "pidfile") + myservice=${myexe##*/} + + [ -z "${myexe}" ] && return 0 + + ebegin "Stopping ${myservice}" + + if start-stop-daemon --quiet --test --stop --exec "${myexe}"; then + start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \ + ${mypidfile:+--pidfile} ${mypidfile} \ + ${myname:+--name} ${myname} + retval=${?} + fi + + # switch back to original vt + if [ -n "${curvt}" ]; then + if type chvt >/dev/null 2>&1; then + chvt "${curvt}" + else + vidcontrol -s "$((curvt + 1))" + fi + fi + + eend ${retval} "Error stopping ${myservice}" + return ${retval} +} + +# vim: set ts=4 : diff --git a/x11-base/xorg-server/files/xorg-server-1.9.2.902-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.9.2.902-loongson.patch new file mode 100644 index 0000000..4351f28 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.9.2.902-loongson.patch @@ -0,0 +1,53 @@ +diff --git a/hw/xfree86/dri/sarea.h b/hw/xfree86/dri/sarea.h +index 1528cc1..6be12b9 100644 +--- a/hw/xfree86/dri/sarea.h ++++ b/hw/xfree86/dri/sarea.h +@@ -42,6 +42,8 @@ + /* SAREA area needs to be at least a page */ + #if defined(__alpha__) + #define SAREA_MAX 0x2000 ++#elif defined(__mips__) ++#define SAREA_MAX 0x4000 + #elif defined(__ia64__) + #define SAREA_MAX 0x10000 /* 64kB */ + #else +diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c +index 688106a..1552860 100644 +--- a/hw/xfree86/os-support/linux/lnx_video.c ++++ b/hw/xfree86/os-support/linux/lnx_video.c +@@ -505,9 +505,10 @@ _X_EXPORT volatile unsigned char *ioBase = NULL; + _X_EXPORT Bool + xf86EnableIO(void) + { +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) + int fd; + unsigned int ioBase_phys; ++ extern unsigned int IOPortBase; + #endif + + if (ExtendedEnabled) +@@ -532,7 +533,22 @@ xf86EnableIO(void) + #endif + } + close(fd); +-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) ++#elif defined(__mips__) ++ fd = open("/dev/mem", O_RDWR); ++ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000, ++ PROT_READ | PROT_WRITE, MAP_SHARED, fd, ++ 0x1fd00000); ++ if (IOPortBase == MAP_FAILED) { ++ xf86Msg(X_WARNING, ++ "xf86EnableIOPorts: Failed to map iobase (%s)\n", ++ strerror(errno)); ++ return FALSE; ++ } ++ close(fd); ++ xf86Msg(X_WARNING, ++ "xf86EnableIOPorts: map iobase (%x)\n", ++ IOPortBase); ++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) + if (ioperm(0, 1024, 1) || iopl(3)) { + if (errno == ENODEV) + ErrorF("xf86EnableIOPorts: no I/O ports found\n"); diff --git a/x11-base/xorg-server/xorg-server-1.9.2.902.ebuild b/x11-base/xorg-server/xorg-server-1.9.2.902.ebuild new file mode 100644 index 0000000..26eabe2 --- /dev/null +++ b/x11-base/xorg-server/xorg-server-1.9.2.902.ebuild @@ -0,0 +1,274 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.9.2.902.ebuild,v 1.1 2010/12/05 11:32:35 scarabeus Exp $ + +EAPI=3 +# They generate the configure.ac with wrong version of util-macros +# see bug #339988 +XORG_EAUTORECONF="yes" +inherit xorg-2 multilib versionator + +EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver" + +OPENGL_DIR="xorg-x11" + +DESCRIPTION="X.Org X servers" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" + +IUSE_SERVERS="dmx kdrive xorg" +IUSE="${IUSE_SERVERS} doc ipv6 minimal nptl tslib +udev" +RDEPEND=">=app-admin/eselect-opengl-1.0.8 + dev-libs/openssl + media-libs/freetype + >=x11-apps/iceauth-1.0.2 + >=x11-apps/rgb-1.0.3 + >=x11-apps/xauth-1.0.3 + x11-apps/xkbcomp + >=x11-libs/libpciaccess-0.10.3 + >=x11-libs/libXau-1.0.4 + >=x11-libs/libXdmcp-1.0.2 + >=x11-libs/libXfont-1.4.2 + >=x11-libs/libxkbfile-1.0.4 + >=x11-libs/pixman-0.15.20 + >=x11-libs/xtrans-1.2.2 + >=x11-misc/xbitmaps-1.0.1 + >=x11-misc/xkeyboard-config-1.4 + dmx? ( + x11-libs/libXt + >=x11-libs/libdmx-1.0.99.1 + >=x11-libs/libX11-1.1.5 + >=x11-libs/libXaw-1.0.4 + >=x11-libs/libXext-1.0.5 + >=x11-libs/libXfixes-4.0.3 + >=x11-libs/libXi-1.2.99.1 + >=x11-libs/libXmu-1.0.3 + >=x11-libs/libXres-1.0.3 + >=x11-libs/libXtst-1.0.3 + ) + kdrive? ( + >=x11-libs/libXext-1.0.5 + x11-libs/libXv + ) + !minimal? ( + >=x11-libs/libX11-1.1.5 + >=x11-libs/libXext-1.0.5 + >=media-libs/mesa-7.8_rc[nptl=] + ) + tslib? ( >=x11-libs/tslib-1.0 x11-proto/xcalibrateproto ) + udev? ( >=sys-fs/udev-150 )" + +DEPEND="${RDEPEND} + sys-devel/flex + >=x11-proto/bigreqsproto-1.1.0 + >=x11-proto/compositeproto-0.4 + >=x11-proto/damageproto-1.1 + >=x11-proto/fixesproto-4.1 + >=x11-proto/fontsproto-2.0.2 + >=x11-proto/glproto-1.4.11 + >=x11-proto/inputproto-1.9.99.902 + >=x11-proto/kbproto-1.0.3 + >=x11-proto/randrproto-1.2.99.3 + >=x11-proto/recordproto-1.13.99.1 + >=x11-proto/renderproto-0.11 + >=x11-proto/resourceproto-1.0.2 + >=x11-proto/scrnsaverproto-1.1 + >=x11-proto/trapproto-3.4.3 + >=x11-proto/videoproto-2.2.2 + >=x11-proto/xcmiscproto-1.2.0 + >=x11-proto/xextproto-7.0.99.3 + >=x11-proto/xf86dgaproto-2.0.99.1 + >=x11-proto/xf86rushproto-1.1.2 + >=x11-proto/xf86vidmodeproto-2.2.99.1 + >=x11-proto/xineramaproto-1.1.3 + >=x11-proto/xproto-7.0.17 + dmx? ( >=x11-proto/dmxproto-2.2.99.1 ) + doc? ( + >=app-doc/doxygen-1.6.1 + app-text/xmlto + ) + !minimal? ( + >=x11-proto/xf86driproto-2.1.0 + >=x11-proto/dri2proto-2.3 + >=x11-libs/libdrm-2.4.20 + )" + +PDEPEND=" + >=x11-apps/xinit-1.2.1-r1 + xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )" + +EPATCH_FORCE="yes" +EPATCH_SUFFIX="patch" + +# These have been sent upstream +UPSTREAMED_PATCHES=( +# "${WORKDIR}/patches/" + ) + +PATCHES=( + "${UPSTREAMED_PATCHES[@]}" + # A workaround for http://bugs.freedesktop.org/show_bug.cgi?id=21622 + "${FILESDIR}/xorg-server-loongson-fix-smi-16bpp.patch" + "${FILESDIR}/${P}-loongson.patch" + "${FILESDIR}"/${PN}-disable-acpi.patch + "${FILESDIR}"/${PN}-1.9-nouveau-default.patch + ) + +pkg_setup() { + xorg-2_pkg_setup + + use minimal || ensure_a_server_is_building + + # localstatedir is used for the log location; we need to override the default + # from ebuild.sh + # sysconfdir is used for the xorg.conf location; same applies + # --enable-install-setuid needed because sparcs default off + # NOTE: fop is used for doc generating ; and i have no idea if gentoo + # package it somewhere + CONFIGURE_OPTIONS=" + $(use_enable ipv6) + $(use_enable dmx) + $(use_enable kdrive) + $(use_enable kdrive kdrive-kbd) + $(use_enable kdrive kdrive-mouse) + $(use_enable kdrive kdrive-evdev) + $(use_enable tslib) + $(use_enable tslib xcalibrate) + $(use_enable !minimal xvfb) + $(use_enable !minimal xnest) + $(use_enable !minimal record) + $(use_enable !minimal xfree86-utils) + $(use_enable !minimal install-libxf86config) + $(use_enable !minimal dri) + $(use_enable !minimal dri2) + $(use_enable !minimal glx) + $(use_enable xorg) + $(use_enable nptl glx-tls) + $(use_enable udev config-udev) + $(use_with doc doxygen) + $(use_with doc xmlto) + --sysconfdir=/etc/X11 + --localstatedir=/var + --enable-install-setuid + --with-fontrootdir=/usr/share/fonts + --with-xkb-output=/var/lib/xkb + --disable-config-hal + --without-dtrace + --without-fop + --with-os-vendor=Gentoo + ${conf_opts}" + + # Xorg-server requires includes from OS mesa which are not visible for + # users of binary drivers. + # Due to the limitations of CONFIGURE_OPTIONS, we have to export this + mkdir -p "${T}/mesa-symlinks/GL" + for i in gl glx glxmd glxproto glxtokens; do + ln -s "${EROOT}usr/$(get_libdir)/opengl/xorg-x11/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die + done + for i in glext glxext; do + ln -s "${EROOT}usr/$(get_libdir)/opengl/global/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die + done + append-cppflags "-I${T}/mesa-symlinks" + + # (#121394) Causes window corruption + filter-flags -fweb + + # Incompatible with GCC 3.x SSP on x86, bug #244352 + if use x86 ; then + if [[ $(gcc-major-version) -lt 4 ]]; then + filter-flags -fstack-protector + fi + fi + + # Incompatible with GCC 3.x CPP, bug #314615 + if [[ $(gcc-major-version) -lt 4 ]]; then + ewarn "GCC 3.x C preprocessor may cause build failures. Use GCC 4.x" + ewarn "or set CPP=cpp-4.3.4 (replace with the actual installed version)" + fi + + # detect if we should inform user about ebuild breakage + if ! has_version "x11-base/xorg-server" || + has_version "<x11-base/xorg-server-$(get_version_component_range 1-2)"; then + INFO="yes" + fi +} + +src_install() { + xorg-2_src_install + + dynamic_libgl_install + + server_based_install + + if ! use minimal && use xorg; then + # Install xorg.conf.example into docs + dodoc hw/xfree86/xorg.conf.example \ + || die "couldn't install xorg.conf.example" + fi + + newinitd "${FILESDIR}"/xdm.initd-3 xdm || die "initd file install failed" + newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup || die + newconfd "${FILESDIR}"/xdm.confd-3 xdm || die + + # install the @x11-module-rebuild set for Portage + insinto /usr/share/portage/config/sets + newins "${FILESDIR}"/xorg-sets.conf xorg.conf || die +} + +pkg_postinst() { + # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install) + eselect opengl set --use-old xorg-x11 + + if [[ ${INFO} = yes ]]; then + elog "You should consider reading upgrade guide for this release:" + elog " http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-$(get_version_component_range 1-2)-upgrade-guide.xml" + echo + ewarn "You must rebuild all drivers if upgrading from <xorg-server-$(get_version_component_range 1-2)" + ewarn "because the ABI changed. If you cannot start X because" + ewarn "of module version mismatch errors, this is your problem." + + echo + ewarn "You can generate a list of all installed packages in the x11-drivers" + ewarn "category using this command:" + ewarn " emerge portage-utils; qlist -I -C x11-drivers/" + fi +} + +pkg_postrm() { + # Get rid of module dir to ensure opengl-update works properly + if ! has_version x11-base/xorg-server; then + if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then + rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules + fi + fi +} + +dynamic_libgl_install() { + # next section is to setup the dynamic libGL stuff + ebegin "Moving GL files for dynamic switching" + dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + local x="" + for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/lib{glx,dri,dri2}*; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + fi + done + eend 0 +} + +server_based_install() { + if ! use xorg; then + rm "${D}"/usr/share/man/man1/Xserver.1x \ + "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \ + "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ + "${D}"/usr/share/man/man1/Xserver.1x + fi +} + +ensure_a_server_is_building() { + for server in ${IUSE_SERVERS}; do + use ${server} && return; + done + eerror "You need to specify at least one server to build." + eerror "Valid servers are: ${IUSE_SERVERS}." + die "No servers were specified to build." +} |