diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2010-10-28 13:53:46 +0000 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2010-10-28 13:53:46 +0000 |
commit | d4a9a90444a29a4c180dea3506ae81ad749659b0 (patch) | |
tree | e4e84a1f499aa7085d94d618362fa31a03d7c7c4 /net-libs | |
parent | Keyworded for amd64. Bug 342757 (diff) | |
download | gentoo-2-d4a9a90444a29a4c180dea3506ae81ad749659b0.tar.gz gentoo-2-d4a9a90444a29a4c180dea3506ae81ad749659b0.tar.bz2 gentoo-2-d4a9a90444a29a4c180dea3506ae81ad749659b0.zip |
Security bump (bug #342847).
(Portage version: 2.2.0_alpha2/cvs/Linux x86_64)
Diffstat (limited to 'net-libs')
15 files changed, 59 insertions, 1161 deletions
diff --git a/net-libs/xulrunner/ChangeLog b/net-libs/xulrunner/ChangeLog index 2bad433dca6a..69bb54a182a5 100644 --- a/net-libs/xulrunner/ChangeLog +++ b/net-libs/xulrunner/ChangeLog @@ -1,6 +1,23 @@ # ChangeLog for net-libs/xulrunner # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/ChangeLog,v 1.369 2010/10/25 00:31:24 fauli Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/ChangeLog,v 1.370 2010/10/28 13:53:46 polynomial-c Exp $ + +*xulrunner-1.9.2.12 (28 Oct 2010) + + 28 Oct 2010; Lars Wendler <polynomial-c@gentoo.org> + -files/000_flex-configure-LANG.patch, + -files/xulrunner-1.9-solaris64.patch, + -files/066-fix-includedir-mozilla-js.patch, + -files/xulrunner-1.9.1.5-solaris-undef-regs.patch, + -files/1000_fix_alignment.patch, -files/xulrunner-1.9.2-arm-fixes.patch, + -files/1002_fix-system-hunspell-dict-detections.patch, + -files/xulrunner-1.9.2-fix-pkgconfig-file.patch, + -files/1009-armv4t-nanojit-v2.patch, + +files/xulrunner-1.9.2-gtk+-2.21.patch, + -files/301-xulrunner-xpctools.diff, -xulrunner-1.9.2.8.ebuild, + -files/801-enable-x86_64-tracemonkey.patch, +xulrunner-1.9.2.12.ebuild, + -files/xulrunner-1.9-no_sunstudio.patch: + Security bump (bug #342847). 25 Oct 2010; Christian Faulhammer <fauli@gentoo.org> xulrunner-1.9.2.11.ebuild: diff --git a/net-libs/xulrunner/files/000_flex-configure-LANG.patch b/net-libs/xulrunner/files/000_flex-configure-LANG.patch deleted file mode 100644 index 6d32a8537508..000000000000 --- a/net-libs/xulrunner/files/000_flex-configure-LANG.patch +++ /dev/null @@ -1,41 +0,0 @@ -The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in -option parsing, it may break. - -http://bugs.gentoo.org/103483 - ---- configure~ 2009-07-31 20:07:25.087663220 -0500 -+++ configure 2009-07-31 20:07:37.987684452 -0500 -@@ -468,6 +468,16 @@ - infodir='${prefix}/info' - mandir='${prefix}/man' - -+# NLS nuisances. -+# Only set these to C if already set. These must not be set unconditionally -+# because not all systems understand e.g. LANG=C (notably SCO). -+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -+# Non-C LC_CTYPE values break the ctype check. -+if test "${LANG+set}" = set; then LANG=C; export LANG; fi -+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -+ - # Initialize some other variables. - subdirs= - MFLAGS= MAKEFLAGS= -@@ -856,16 +866,6 @@ - esac - done - --# NLS nuisances. --# Only set these to C if already set. These must not be set unconditionally --# because not all systems understand e.g. LANG=C (notably SCO). --# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! --# Non-C LC_CTYPE values break the ctype check. --if test "${LANG+set}" = set; then LANG=C; export LANG; fi --if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi --if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi --if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -- - # confdefs.h avoids OS command line length limits that DEFS can exceed. - rm -rf conftest* confdefs.h - # AIX cpp loses on an empty file, so make sure it contains at least a newline. diff --git a/net-libs/xulrunner/files/066-fix-includedir-mozilla-js.patch b/net-libs/xulrunner/files/066-fix-includedir-mozilla-js.patch deleted file mode 100644 index 490042730cd9..000000000000 --- a/net-libs/xulrunner/files/066-fix-includedir-mozilla-js.patch +++ /dev/null @@ -1,24 +0,0 @@ -mozjs stuff is actually in /unstable not in /stable - -Causes bugs like http://bugs.gentoo.org/275318 - -Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=500645 - -Will likely be fixed in 1.9.2 - ---- ---- xulrunner/installer/mozilla-js.pc.in 2009-06-26 08:37:34.458635913 -0500 -+++ xulrunner/installer/mozilla-js.pc.in 2009-06-26 08:38:13.623656097 -0500 -@@ -1,10 +1,11 @@ - prefix=%prefix% - sdkdir=%sdkdir% - includedir=%includedir% -+includetypes=unstable - - Name: JavaScript - Description: The Mozilla JavaScript Library - Version: %MOZILLA_VERSION% - Requires: %NSPR_NAME% >= %NSPR_VERSION% - Libs: -L${sdkdir}/lib -lmozjs --Cflags: -I${includedir}/stable -DXP_UNIX -DJS_THREADSAFE -+Cflags: -I${includedir}/${includetypes} -DXP_UNIX -DJS_THREADSAFE diff --git a/net-libs/xulrunner/files/1000_fix_alignment.patch b/net-libs/xulrunner/files/1000_fix_alignment.patch deleted file mode 100644 index 2ef47c3d4787..000000000000 --- a/net-libs/xulrunner/files/1000_fix_alignment.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: David Mandelin <dmandelin@mozilla.com> - -diff --git a/memory/jemalloc/jemalloc.c b/memory/jemalloc/jemalloc.c ---- a/memory/jemalloc/jemalloc.c -+++ b/memory/jemalloc/jemalloc.c -@@ -5792,24 +5792,24 @@ __attribute__((noinline)) - #else - inline - #endif - void * - memalign(size_t alignment, size_t size) - { - void *ret; - -- assert(((alignment - 1) & alignment) == 0 && alignment >= -- sizeof(void *)); -+ assert(((alignment - 1) & alignment) == 0); - - if (malloc_init()) { - ret = NULL; - goto RETURN; - } - -+ alignment = alignment < sizeof(void*) ? sizeof(void*) : alignment; - ret = ipalloc(alignment, size); - - RETURN: - #ifdef MALLOC_XMALLOC - if (opt_xmalloc && ret == NULL) { - _malloc_message(_getprogname(), - ": (malloc) Error in memalign(): out of memory\n", "", ""); - abort(); - diff --git a/net-libs/xulrunner/files/1002_fix-system-hunspell-dict-detections.patch b/net-libs/xulrunner/files/1002_fix-system-hunspell-dict-detections.patch deleted file mode 100644 index 0e2986ee0326..000000000000 --- a/net-libs/xulrunner/files/1002_fix-system-hunspell-dict-detections.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff -r e06632956519 extensions/spellcheck/Makefile.in ---- a/extensions/spellcheck/Makefile.in Sun Apr 04 07:02:14 2010 +0300 -+++ b/extensions/spellcheck/Makefile.in Tue Apr 06 23:07:03 2010 -0500 -@@ -42,13 +42,19 @@ - include $(DEPTH)/config/autoconf.mk - - MODULE = spellchecker -+ifndef MOZ_NATIVE_HUNSPELL - DIRS = idl locales -+else -+DIRS = idl -+endif - - ifeq (camino,$(MOZ_BUILD_APP)) - DIRS += osxspell - else -+ifndef MOZ_NATIVE_HUNSPELL - DIRS += hunspell - endif -+endif - - DIRS += src - -diff -r e06632956519 extensions/spellcheck/hunspell/src/mozHunspell.cpp ---- a/extensions/spellcheck/hunspell/src/mozHunspell.cpp Sun Apr 04 07:02:14 2010 +0300 -+++ b/extensions/spellcheck/hunspell/src/mozHunspell.cpp Tue Apr 06 23:07:03 2010 -0500 -@@ -63,6 +63,9 @@ - #include "nsISimpleEnumerator.h" - #include "nsIDirectoryEnumerator.h" - #include "nsIFile.h" -+#ifdef MOZ_NATIVE_HUNSPELL -+#include "nsILocalFile.h" -+#endif - #include "nsDirectoryServiceUtils.h" - #include "nsDirectoryServiceDefs.h" - #include "mozISpellI18NManager.h" -@@ -307,7 +310,16 @@ - return; - - nsCOMPtr<nsIFile> dictDir; -- rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY, -+ #ifdef MOZ_NATIVE_HUNSPELL -+ nsCOMPtr<nsILocalFile> localFile; -+ rv = NS_NewNativeLocalFile(nsDependentCString("/usr/share/myspell"),PR_TRUE, getter_AddRefs(localFile)); -+ if (localFile && NS_SUCCEEDED(rv)) { -+ localFile->QueryInterface(NS_GET_IID(nsIFile), getter_AddRefs(dictDir)); -+ LoadDictionariesFromDir(dictDir); -+ } -+ else { -+ #endif -+ rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY, - NS_GET_IID(nsIFile), getter_AddRefs(dictDir)); - if (NS_SUCCEEDED(rv)) { - LoadDictionariesFromDir(dictDir); -@@ -332,6 +344,9 @@ - LoadDictionariesFromDir(appDir); - } - } -+#ifdef MOZ_NATIVE_HUNSPELL -+ } -+#endif - - nsCOMPtr<nsISimpleEnumerator> dictDirs; - rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST, -diff -r e06632956519 extensions/spellcheck/src/Makefile.in ---- a/extensions/spellcheck/src/Makefile.in Sun Apr 04 07:02:14 2010 +0300 -+++ b/extensions/spellcheck/src/Makefile.in Tue Apr 06 23:07:03 2010 -0500 -@@ -63,9 +63,15 @@ - txtsvc \ - uconv \ - unicharutil \ -+ xulapp \ - $(NULL) - --CPPSRCS = \ -+ifdef MOZ_NATIVE_HUNSPELL -+CPPSRCS += mozHunspell.cpp \ -+ mozHunspellDirProvider.cpp -+endif -+ -+CPPSRCS += \ - mozSpellCheckerFactory.cpp \ - mozSpellChecker.cpp \ - mozPersonalDictionary.cpp \ -@@ -80,8 +86,15 @@ - SHARED_LIBRARY_LIBS += ../osxspell/src/$(LIB_PREFIX)osxspell_s.$(LIB_SUFFIX) - LOCAL_INCLUDES += -I$(srcdir)/../osxspell/src - else -+ifndef MOZ_NATIVE_HUNSPELL - SHARED_LIBRARY_LIBS += ../hunspell/src/$(LIB_PREFIX)hunspell_s.$(LIB_SUFFIX) - LOCAL_INCLUDES += -I$(srcdir)/../hunspell/src -+else -+LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS) \ -+ -I$(srcdir)/../hunspell/src \ -+ -DMOZ_NATIVE_HUNSPELL \ -+ $(NULL) -+endif - endif - - EXTRA_DSO_LDOPTS = \ -@@ -96,3 +109,11 @@ - LOCAL_INCLUDES += \ - -I$(topsrcdir)/xpcom/io \ - $(NULL) -+ -+ifdef MOZ_NATIVE_HUNSPELL -+export:: $(srcdir)/../hunspell/src/mozHunspell.cpp $(srcdir)/../hunspell/src/mozHunspellDirProvider.cpp -+ $(INSTALL) $(srcdir)/../hunspell/src/mozHunspell.* $(srcdir)/../hunspell/src/mozHunspellDirProvider.* . -+GARBAGE += mozHunspell.$(OBJ_SUFFIX) mozHunspell.cpp mozHunspellDirProvider.$(OBJ_SUFFIX) mozHunspellDirProvider.cpp -+clean:: -+ rm -f mozHunspell.* mozHunspellDirProvider.* -+endif diff --git a/net-libs/xulrunner/files/1009-armv4t-nanojit-v2.patch b/net-libs/xulrunner/files/1009-armv4t-nanojit-v2.patch deleted file mode 100644 index 2d57c95067a9..000000000000 --- a/net-libs/xulrunner/files/1009-armv4t-nanojit-v2.patch +++ /dev/null @@ -1,320 +0,0 @@ -From: Mike Hommey <glandium@debian.org> -Date: Fri, 30 Apr 2010 14:32:41 +0200 -Subject: Add nanojit support for ARMv4T - -Thanks Albin Tonnerre for the initial patch. -https://bugzilla.mozilla.org/show_bug.cgi?id=552624 ---- - js/src/nanojit/NativeARM.cpp | 105 ++++++++++++++++++++++------------------ - js/src/nanojit/avmplus.h | 2 + - js/src/nanojit/njcpudetect.h | 111 ++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 170 insertions(+), 48 deletions(-) - create mode 100644 js/src/nanojit/njcpudetect.h - -diff --git a/js/src/nanojit/NativeARM.cpp b/js/src/nanojit/NativeARM.cpp -index 9387191..a50898c 100644 ---- a/js/src/nanojit/NativeARM.cpp -+++ b/js/src/nanojit/NativeARM.cpp -@@ -61,6 +61,8 @@ extern "C" void __clear_cache(void *BEG, void *END); - - #ifdef FEATURE_NANOJIT - -+#define ARM_ARCH_AT_LEAST(wanted) ((NJ_COMPILER_ARM_ARCH >= wanted) || (ARM_ARCH >= wanted)) -+ - namespace nanojit - { - -@@ -114,49 +116,50 @@ Assembler::CountLeadingZeroes(uint32_t data) - { - uint32_t leading_zeroes; - -- // We can't do CLZ on anything earlier than ARMv5. Architectures as early -- // as that aren't supported, but assert that we aren't running on one -- // anyway. -- // If ARMv4 support is required in the future for some reason, we can do a -- // run-time check on config.arch and fall back to the C routine, but for -- // now we can avoid the cost of the check as we don't intend to support -- // ARMv4 anyway. -- NanoAssert(ARM_ARCH >= 5); -- - #if defined(__ARMCC__) - // ARMCC can do this with an intrinsic. - leading_zeroes = __clz(data); - --// current Android GCC compiler incorrectly refuses to compile 'clz' for armv5 --// (even though this is a legal instruction there). Since we currently only compile for ARMv5 --// for emulation, we don't care too much (but we DO care for ARMv6+ since those are "real" --// devices). --#elif defined(__GNUC__) && !(defined(ANDROID) && __ARM_ARCH__ <= 5) -+ if (0) // We don't need the fallback -+#elif defined(__GNUC__) - // GCC can use inline assembler to insert a CLZ instruction. -- __asm ( -- " clz %0, %1 \n" -- : "=r" (leading_zeroes) -- : "r" (data) -- ); -+ // Targetting armv5t allows a toolchain with armv4t default target to -+ // still build with clz. On Android gcc compiler, clz is not supported -+ // with a target smaller than armv7. -+ if (ARM_ARCH_AT_LEAST(5)) -+ __asm ( -+#if defined(ANDROID) && NJ_COMPILER_ARM_ARCH <= 5 -+ ".arch armv7\n" -+#elif (NJ_COMPILER_ARM_ARCH < 5) -+ ".arch armv5t\n" -+#endif -+ " clz %0, %1 \n" -+ : "=r" (leading_zeroes) -+ : "r" (data) -+ ); -+ else - #elif defined(WINCE) - // WinCE can do this with an intrinsic. - leading_zeroes = _CountLeadingZeros(data); --#else -- // Other platforms must fall back to a C routine. This won't be as -- // efficient as the CLZ instruction, but it is functional. -- uint32_t try_shift; -- -- leading_zeroes = 0; -- -- // This loop does a bisection search rather than the obvious rotation loop. -- // This should be faster, though it will still be no match for CLZ. -- for (try_shift = 16; try_shift != 0; try_shift /= 2) { -- uint32_t shift = leading_zeroes + try_shift; -- if (((data << shift) >> shift) == data) { -- leading_zeroes = shift; -+ -+ if (0) // We don't need the fallback -+#endif -+ { -+ // Other platforms must fall back to a C routine. This won't be as -+ // efficient as the CLZ instruction, but it is functional. -+ uint32_t try_shift; -+ -+ leading_zeroes = 0; -+ -+ // This loop does a bisection search rather than the obvious rotation loop. -+ // This should be faster, though it will still be no match for CLZ. -+ for (try_shift = 16; try_shift != 0; try_shift /= 2) { -+ uint32_t shift = leading_zeroes + try_shift; -+ if (((data << shift) >> shift) == data) { -+ leading_zeroes = shift; -+ } - } - } --#endif - - // Assert that the operation worked! - NanoAssert(((0xffffffff >> leading_zeroes) & data) == data); -@@ -555,13 +558,18 @@ NIns* - Assembler::genEpilogue() - { - // On ARMv5+, loading directly to PC correctly handles interworking. -- // Note that we don't support anything older than ARMv5. -- NanoAssert(ARM_ARCH >= 5); -- -- RegisterMask savingMask = rmask(FP) | rmask(PC); -+ // On ARMv4T, interworking is not handled properly, therefore, we pop -+ // lr into ip and use bx ip to avoid that. -+ if (ARM_ARCH_AT_LEAST(5)) { -+ RegisterMask savingMask = rmask(FP) | rmask(PC); - -- POP_mask(savingMask); // regs -+ POP_mask(savingMask); // regs -+ } else { -+ RegisterMask savingMask = rmask(FP) | rmask(IP); - -+ BX(IP); -+ POP_mask(savingMask); // regs -+ } - return _nIns; - } - -@@ -1502,7 +1510,7 @@ Assembler::BranchWithLink(NIns* addr) - - // ARMv5 and above can use BLX <imm> for branches within ±32MB of the - // PC and BLX Rm for long branches. -- if (isS24(offs>>2)) { -+ if (isS24(offs>>2) && (ARM_ARCH_AT_LEAST(5))) { - // the value we need to stick in the instruction; masked, - // because it will be sign-extended back to 32 bits. - intptr_t offs2 = (offs>>2) & 0xffffff; -@@ -1519,7 +1527,6 @@ Assembler::BranchWithLink(NIns* addr) - // We need to emit an ARMv5+ instruction, so assert that we have a - // suitable processor. Note that we don't support ARMv4(T), but - // this serves as a useful sanity check. -- NanoAssert(ARM_ARCH >= 5); - - // The (pre-shifted) value of the "H" bit in the BLX encoding. - uint32_t H = (offs & 0x2) << 23; -@@ -1543,11 +1550,6 @@ Assembler::BranchWithLink(NIns* addr) - inline void - Assembler::BLX(Register addr, bool chk /* = true */) - { -- // We need to emit an ARMv5+ instruction, so assert that we have a suitable -- // processor. Note that we don't support ARMv4(T), but this serves as a -- // useful sanity check. -- NanoAssert(ARM_ARCH >= 5); -- - NanoAssert(IsGpReg(addr)); - // There is a bug in the WinCE device emulator which stops "BLX LR" from - // working as expected. Assert that we never do that! -@@ -1558,8 +1560,15 @@ Assembler::BLX(Register addr, bool chk /* = true */) - } - - // BLX IP -- *(--_nIns) = (NIns)( (COND_AL) | (0x12<<20) | (0xFFF<<8) | (0x3<<4) | (addr) ); -- asm_output("blx ip"); -+ if (ARM_ARCH_AT_LEAST(5)) { -+ *(--_nIns) = (NIns)( (COND_AL) | (0x12<<20) | (0xFFF<<8) | (0x3<<4) | (addr) ); -+ asm_output("blx %s", gpn(addr)); -+ } else { -+ *(--_nIns) = (NIns)( (COND_AL) | (0x12fff1 << 4) | (addr) ); -+ asm_output("bx %s", gpn(addr)); -+ *(--_nIns) = (NIns)( (COND_AL) | (0x1A0 << 16) | (0xE << 12) | 0xF ); -+ asm_output("mov lr, pc"); -+ } - } - - // Emit the code required to load a memory address into a register as follows: -@@ -2177,7 +2186,7 @@ Assembler::asm_arith(LInsp ins) - // common for (rr == ra) and is thus likely to be the most - // efficient case; if ra is no longer used after this LIR - // instruction, it is re-used for the result register (rr). -- if ((ARM_ARCH > 5) || (rr != rb)) { -+ if ((ARM_ARCH_AT_LEAST(6)) || (rr != rb)) { - // Newer cores place no restrictions on the registers used in a - // MUL instruction (compared to other arithmetic instructions). - MUL(rr, rb, ra); -diff --git a/js/src/nanojit/avmplus.h b/js/src/nanojit/avmplus.h -index ffc0873..e86f22e 100644 ---- a/js/src/nanojit/avmplus.h -+++ b/js/src/nanojit/avmplus.h -@@ -50,6 +50,8 @@ - #include "jstypes.h" - #include "jsstdint.h" - -+#include "njcpudetect.h" -+ - #ifdef AVMPLUS_ARM - #define ARM_ARCH config.arch - #define ARM_VFP config.vfp -diff --git a/js/src/nanojit/njcpudetect.h b/js/src/nanojit/njcpudetect.h -new file mode 100644 -index 0000000..79ea90b ---- /dev/null -+++ b/js/src/nanojit/njcpudetect.h -@@ -0,0 +1,111 @@ -+/* -*- Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */ -+/* vi: set ts=4 sw=4 expandtab: (add to ~/.vimrc: set modeline modelines=5) */ -+/* ***** 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 [Open Source Virtual Machine]. -+ * -+ * The Initial Developer of the Original Code is -+ * Adobe System Incorporated. -+ * Portions created by the Initial Developer are Copyright (C) 2004-2007 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * Adobe AS3 Team -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either 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 ***** */ -+ -+#ifndef __njcpudetect__ -+#define __njcpudetect__ -+ -+/*** -+ * Note: this file should not include *any* other files, nor should it wrap -+ * itself in ifdef FEATURE_NANOJIT, nor should it do anything other than -+ * define preprocessor symbols. -+ */ -+ -+/*** -+ * NJ_COMPILER_ARM_ARCH attempts to specify the minimum ARM architecture -+ * that the C++ compiler has specified. Note that although Config::arm_arch -+ * is initialized to this value by default, there is no requirement that they -+ * be in sync. -+ * -+ * Note, this is done via #define so that downstream preprocessor usage can -+ * examine it, but please don't attempt to redefine it. -+ * -+ * Note, this is deliberately not encased in "ifdef NANOJIT_ARM", as this file -+ * may be included before that is defined. On non-ARM platforms we will hit the -+ * "Unable to determine" case. -+ */ -+ -+// GCC and RealView usually define __ARM_ARCH__ -+#if defined(__ARM_ARCH__) -+ -+ #define NJ_COMPILER_ARM_ARCH __ARM_ARCH__ -+ -+// ok, try well-known GCC flags ( see http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html ) -+#elif defined(__ARM_ARCH_7__) || \ -+ defined(__ARM_ARCH_7A__) || \ -+ defined(__ARM_ARCH_7M__) || \ -+ defined(__ARM_ARCH_7R__) || \ -+ defined(_ARM_ARCH_7) -+ -+ #define NJ_COMPILER_ARM_ARCH 7 -+ -+#elif defined(__ARM_ARCH_6__) || \ -+ defined(__ARM_ARCH_6J__) || \ -+ defined(__ARM_ARCH_6T2__) || \ -+ defined(__ARM_ARCH_6Z__) || \ -+ defined(__ARM_ARCH_6ZK__) || \ -+ defined(__ARM_ARCH_6M__) || \ -+ defined(_ARM_ARCH_6) -+ -+ #define NJ_COMPILER_ARM_ARCH 6 -+ -+#elif defined(__ARM_ARCH_5__) || \ -+ defined(__ARM_ARCH_5T__) || \ -+ defined(__ARM_ARCH_5E__) || \ -+ defined(__ARM_ARCH_5TE__) -+ -+ #define NJ_COMPILER_ARM_ARCH 5 -+ -+#elif defined(__ARM_ARCH_4__) || \ -+ defined(__ARM_ARCH_4T__) -+ -+ #define NJ_COMPILER_ARM_ARCH 4 -+ -+// Visual C has its own mojo -+#elif defined(_MSC_VER) && defined(_M_ARM) -+ -+ #define NJ_COMPILER_ARM_ARCH _M_ARM -+ -+#else -+ -+ // non-numeric value -+ #define NJ_COMPILER_ARM_ARCH "Unable to determine valid NJ_COMPILER_ARM_ARCH (nanojit only supports ARMv5 or later)" -+ -+#endif -+ -+#endif // __njcpudetect__ diff --git a/net-libs/xulrunner/files/301-xulrunner-xpctools.diff b/net-libs/xulrunner/files/301-xulrunner-xpctools.diff deleted file mode 100644 index 2ff82a5803bf..000000000000 --- a/net-libs/xulrunner/files/301-xulrunner-xpctools.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- js/src/xpconnect/src/Makefile.in~ 2009-09-20 13:13:15.508713367 -0500 -+++ js/src/xpconnect/src/Makefile.in 2009-09-20 13:14:30.994713367 -0500 -@@ -77,6 +77,10 @@ - widget \ - $(NULL) - -+ifdef MOZ_XPCTOOLS -+DEFINES += -DXPC_TOOLS_SUPPORT -+REQUIRES += xpctools -+endif - - CPPSRCS = \ - nsScriptError.cpp \ -@@ -174,11 +178,6 @@ - - endif # ENABLE_JIT - --ifdef MOZ_XPCTOOLS --DEFINES += -DXPC_TOOLS_SUPPORT --REQUIRES += xpctools --endif -- - ifdef XPC_IDISPATCH_SUPPORT - DEFINES += -DXPC_IDISPATCH_SUPPORT - ifdef XPC_COMOBJECT diff --git a/net-libs/xulrunner/files/801-enable-x86_64-tracemonkey.patch b/net-libs/xulrunner/files/801-enable-x86_64-tracemonkey.patch deleted file mode 100644 index b72ad76b450e..000000000000 --- a/net-libs/xulrunner/files/801-enable-x86_64-tracemonkey.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- js/src/configure.in.old 2009-11-08 19:50:54.299642792 -0500 -+++ js/src/configure.in 2009-11-08 19:57:49.235621814 -0500 -@@ -2465,6 +2465,10 @@ - ENABLE_JIT=1 - NANOJIT_ARCH=i386 - ;; -+x86_64*-*) -+ ENABLE_JIT=1 -+ NANOJIT_ARCH=X64 -+ ;; - arm*-*) - ENABLE_JIT=1 - NANOJIT_ARCH=ARM -@@ -2488,7 +2492,10 @@ - i?86-*) - AC_DEFINE(AVMPLUS_IA32) - ;; -- -+x86_64*-*) -+ AC_DEFINE(AVMPLUS_AMD64) -+ AC_DEFINE(AVMPLUS_64BIT) -+ ;; - arm*-*) - AC_DEFINE(AVMPLUS_ARM) - ;; diff --git a/net-libs/xulrunner/files/xulrunner-1.9-no_sunstudio.patch b/net-libs/xulrunner/files/xulrunner-1.9-no_sunstudio.patch deleted file mode 100644 index 7bfb5f181d9c..000000000000 --- a/net-libs/xulrunner/files/xulrunner-1.9-no_sunstudio.patch +++ /dev/null @@ -1,14 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=228717 - -diff -ur a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in ---- a/toolkit/library/Makefile.in 2008-05-08 11:20:45.000000000 +0200 -+++ b/toolkit/library/Makefile.in 2008-06-21 12:18:33.373338400 +0200 -@@ -227,7 +227,7 @@ - endif - - ifeq ($(OS_ARCH),SunOS) --EXTRA_DSO_LDOPTS += -lelf -ldemangle -lCstd -+EXTRA_DSO_LDOPTS += -lelf - endif - - ifeq ($(OS_ARCH),WINNT) diff --git a/net-libs/xulrunner/files/xulrunner-1.9-solaris64.patch b/net-libs/xulrunner/files/xulrunner-1.9-solaris64.patch deleted file mode 100644 index 0f2c5acccc8f..000000000000 --- a/net-libs/xulrunner/files/xulrunner-1.9-solaris64.patch +++ /dev/null @@ -1,493 +0,0 @@ -Don't use -G, it results in a relocation error against _DYNAMIC on -amd64, use -shared instead per the manpage, and as it works as well. - -Add assemblyish files for x86_64 solaris - ---- configure.in -+++ configure.in -@@ -2481,7 +2481,7 @@ - AC_LANG_RESTORE - else - ASFLAGS="$ASFLAGS -fPIC" -- DSO_LDOPTS='-G' -+ DSO_LDOPTS='-shared' - _WARNINGS_CFLAGS='' - _WARNINGS_CXXFLAGS='' - if test "$OS_RELEASE" = "5.3"; then ---- js/src/configure.in -+++ js/src/configure.in -@@ -2339,7 +2339,7 @@ - AC_LANG_RESTORE - else - ASFLAGS="$ASFLAGS -fPIC" -- DSO_LDOPTS='-G' -+ DSO_LDOPTS='-shared' - _WARNINGS_CFLAGS='' - _WARNINGS_CXXFLAGS='' - if test "$OS_RELEASE" = "5.3"; then ---- xpcom/reflect/xptcall/src/md/unix/Makefile.in -+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in -@@ -130,7 +130,11 @@ - # - ifeq ($(OS_ARCH),SunOS) - ifeq (86,$(findstring 86,$(OS_TEST))) -+ifdef HAVE_64BIT_OS -+CPPSRCS := xptcinvoke_x86_64_solaris.cpp xptcstubs_x86_64_solaris.cpp -+else - CPPSRCS := xptcinvoke_x86_solaris.cpp xptcstubs_x86_solaris.cpp -+endif - # 28817: if Solaris Intel OS, and native compiler, always build optimised. - ifndef GNU_CC - ASFILES := xptcinvoke_asm_x86_solaris_SUNW.s xptcstubs_asm_x86_solaris_SUNW.s ---- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_solaris.cpp -+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_solaris.cpp -@@ -0,0 +1,210 @@ -+/* -*- 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): -+ * -+ * 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" -+ -+// 6 integral parameters are passed in registers -+const PRUint32 GPR_COUNT = 6; -+ -+// 8 floating point parameters are passed in SSE registers -+const PRUint32 FPR_COUNT = 8; -+ -+// Remember that these 'words' are 64-bit long -+static inline void -+invoke_count_words(PRUint32 paramCount, nsXPTCVariant * s, -+ PRUint32 & nr_gpr, PRUint32 & nr_fpr, PRUint32 & nr_stack) -+{ -+ nr_gpr = 1; // skip one GP register for 'that' -+ nr_fpr = 0; -+ nr_stack = 0; -+ -+ /* Compute number of eightbytes of class MEMORY. */ -+ for (uint32 i = 0; i < paramCount; i++, s++) { -+ if (!s->IsPtrData() -+ && (s->type == nsXPTType::T_FLOAT || s->type == nsXPTType::T_DOUBLE)) { -+ if (nr_fpr < FPR_COUNT) -+ nr_fpr++; -+ else -+ nr_stack++; -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ nr_gpr++; -+ else -+ nr_stack++; -+ } -+ } -+} -+ -+static void -+invoke_copy_to_stack(PRUint64 * d, PRUint32 paramCount, nsXPTCVariant * s, -+ PRUint64 * gpregs, double * fpregs) -+{ -+ PRUint32 nr_gpr = 1; // skip one GP register for 'that' -+ PRUint32 nr_fpr = 0; -+ PRUint64 value; -+ -+ for (uint32 i = 0; i < paramCount; i++, s++) { -+ if (s->IsPtrData()) -+ value = (PRUint64) s->ptr; -+ else { -+ switch (s->type) { -+ case nsXPTType::T_FLOAT: break; -+ case nsXPTType::T_DOUBLE: break; -+ case nsXPTType::T_I8: value = s->val.i8; break; -+ case nsXPTType::T_I16: value = s->val.i16; break; -+ case nsXPTType::T_I32: value = s->val.i32; break; -+ case nsXPTType::T_I64: value = s->val.i64; break; -+ case nsXPTType::T_U8: value = s->val.u8; break; -+ case nsXPTType::T_U16: value = s->val.u16; break; -+ case nsXPTType::T_U32: value = s->val.u32; break; -+ case nsXPTType::T_U64: value = s->val.u64; break; -+ case nsXPTType::T_BOOL: value = s->val.b; break; -+ case nsXPTType::T_CHAR: value = s->val.c; break; -+ case nsXPTType::T_WCHAR: value = s->val.wc; break; -+ default: value = (PRUint64) s->val.p; break; -+ } -+ } -+ -+ if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) { -+ if (nr_fpr < FPR_COUNT) -+ fpregs[nr_fpr++] = s->val.d; -+ else { -+ *((double *)d) = s->val.d; -+ d++; -+ } -+ } -+ else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) { -+ if (nr_fpr < FPR_COUNT) -+ // The value in %xmm register is already prepared to -+ // be retrieved as a float. Therefore, we pass the -+ // value verbatim, as a double without conversion. -+ fpregs[nr_fpr++] = s->val.d; -+ else { -+ *((float *)d) = s->val.f; -+ d++; -+ } -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ gpregs[nr_gpr++] = value; -+ else -+ *d++ = value; -+ } -+ } -+} -+ -+EXPORT_XPCOM_API(nsresult) -+NS_InvokeByIndex_P(nsISupports * that, PRUint32 methodIndex, -+ PRUint32 paramCount, nsXPTCVariant * params) -+{ -+ PRUint32 nr_gpr, nr_fpr, nr_stack; -+ invoke_count_words(paramCount, params, nr_gpr, nr_fpr, nr_stack); -+ -+ // Stack, if used, must be 16-bytes aligned -+ if (nr_stack) -+ nr_stack = (nr_stack + 1) & ~1; -+ -+ // Load parameters to stack, if necessary -+ PRUint64 *stack = (PRUint64 *) __builtin_alloca(nr_stack * 8); -+ PRUint64 gpregs[GPR_COUNT]; -+ double fpregs[FPR_COUNT]; -+ invoke_copy_to_stack(stack, paramCount, params, gpregs, fpregs); -+ -+ // Load FPR registers from fpregs[] -+ register double d0 asm("xmm0"); -+ register double d1 asm("xmm1"); -+ register double d2 asm("xmm2"); -+ register double d3 asm("xmm3"); -+ register double d4 asm("xmm4"); -+ register double d5 asm("xmm5"); -+ register double d6 asm("xmm6"); -+ register double d7 asm("xmm7"); -+ -+ switch (nr_fpr) { -+#define ARG_FPR(N) \ -+ case N+1: d##N = fpregs[N]; -+ ARG_FPR(7); -+ ARG_FPR(6); -+ ARG_FPR(5); -+ ARG_FPR(4); -+ ARG_FPR(3); -+ ARG_FPR(2); -+ ARG_FPR(1); -+ ARG_FPR(0); -+ case 0:; -+#undef ARG_FPR -+ } -+ -+ // Load GPR registers from gpregs[] -+ register PRUint64 a0 asm("rdi"); -+ register PRUint64 a1 asm("rsi"); -+ register PRUint64 a2 asm("rdx"); -+ register PRUint64 a3 asm("rcx"); -+ register PRUint64 a4 asm("r8"); -+ register PRUint64 a5 asm("r9"); -+ -+ switch (nr_gpr) { -+#define ARG_GPR(N) \ -+ case N+1: a##N = gpregs[N]; -+ ARG_GPR(5); -+ ARG_GPR(4); -+ ARG_GPR(3); -+ ARG_GPR(2); -+ ARG_GPR(1); -+ case 1: a0 = (PRUint64) that; -+ case 0:; -+#undef ARG_GPR -+ } -+ -+ // Ensure that assignments to SSE registers won't be optimized away -+ asm("" :: -+ "x" (d0), "x" (d1), "x" (d2), "x" (d3), -+ "x" (d4), "x" (d5), "x" (d6), "x" (d7)); -+ -+ // Get pointer to method -+ PRUint64 methodAddress = *((PRUint64 *)that); -+ methodAddress += 8 * methodIndex; -+ methodAddress = *((PRUint64 *)methodAddress); -+ -+ typedef PRUint32 (*Method)(PRUint64, PRUint64, PRUint64, PRUint64, PRUint64, PRUint64); -+ PRUint32 result = ((Method)methodAddress)(a0, a1, a2, a3, a4, a5); -+ return result; -+} ---- xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_solaris.cpp -+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_solaris.cpp -@@ -0,0 +1,236 @@ -+/* -*- 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): -+ * -+ * 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 ***** */ -+ -+// Implement shared vtbl methods. -+ -+#include "xptcprivate.h" -+#include "xptiprivate.h" -+ -+ -+const PRUint32 PARAM_BUFFER_COUNT = 16; -+const PRUint32 GPR_COUNT = 6; -+const PRUint32 FPR_COUNT = 8; -+ -+// PrepareAndDispatch() is called by SharedStub() and calls the actual method. -+// -+// - 'args[]' contains the arguments passed on stack -+// - 'gpregs[]' contains the arguments passed in integer registers -+// - 'fpregs[]' contains the arguments passed in floating point registers -+// -+// The parameters are mapped into an array of type 'nsXPTCMiniVariant' -+// and then the method gets called. -+ -+extern "C" nsresult -+PrepareAndDispatch(nsXPTCStubBase * self, PRUint32 methodIndex, -+ PRUint64 * args, PRUint64 * gpregs, double *fpregs) -+{ -+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; -+ nsXPTCMiniVariant* dispatchParams = NULL; -+ const nsXPTMethodInfo* info; -+ PRUint32 paramCount; -+ PRUint32 i; -+ nsresult result = NS_ERROR_FAILURE; -+ -+ NS_ASSERTION(self,"no self"); -+ -+ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info); -+ NS_ASSERTION(info,"no method info"); -+ if (!info) -+ return NS_ERROR_UNEXPECTED; -+ -+ 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"); -+ if (!dispatchParams) -+ return NS_ERROR_OUT_OF_MEMORY; -+ -+ PRUint64* ap = args; -+ PRUint32 nr_gpr = 1; // skip one GPR register for 'that' -+ PRUint32 nr_fpr = 0; -+ PRUint64 value; -+ -+ 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 == nsXPTType::T_DOUBLE) { -+ if (nr_fpr < FPR_COUNT) -+ dp->val.d = fpregs[nr_fpr++]; -+ else -+ dp->val.d = *(double*) ap++; -+ continue; -+ } -+ else if (!param.IsOut() && type == nsXPTType::T_FLOAT) { -+ if (nr_fpr < FPR_COUNT) -+ // The value in %xmm register is already prepared to -+ // be retrieved as a float. Therefore, we pass the -+ // value verbatim, as a double without conversion. -+ dp->val.d = *(double*) ap++; -+ else -+ dp->val.f = *(float*) ap++; -+ continue; -+ } -+ else { -+ if (nr_gpr < GPR_COUNT) -+ value = gpregs[nr_gpr++]; -+ else -+ value = *ap++; -+ } -+ -+ if (param.IsOut() || !type.IsArithmetic()) { -+ dp->val.p = (void*) value; -+ continue; -+ } -+ -+ switch (type) { -+ case nsXPTType::T_I8: dp->val.i8 = (PRInt8) value; break; -+ case nsXPTType::T_I16: dp->val.i16 = (PRInt16) value; break; -+ case nsXPTType::T_I32: dp->val.i32 = (PRInt32) value; break; -+ case nsXPTType::T_I64: dp->val.i64 = (PRInt64) value; break; -+ case nsXPTType::T_U8: dp->val.u8 = (PRUint8) value; break; -+ case nsXPTType::T_U16: dp->val.u16 = (PRUint16) value; break; -+ case nsXPTType::T_U32: dp->val.u32 = (PRUint32) value; break; -+ case nsXPTType::T_U64: dp->val.u64 = (PRUint64) value; break; -+ case nsXPTType::T_BOOL: dp->val.b = (PRBool) value; break; -+ case nsXPTType::T_CHAR: dp->val.c = (char) value; break; -+ case nsXPTType::T_WCHAR: dp->val.wc = (wchar_t) value; break; -+ -+ default: -+ NS_ASSERTION(0, "bad type"); -+ break; -+ } -+ } -+ -+ result = self->mOuter->CallMethod((PRUint16) methodIndex, info, dispatchParams); -+ -+ if (dispatchParams != paramBuffer) -+ delete [] dispatchParams; -+ -+ return result; -+} -+ -+#ifdef __GNUC__ /* Gnu Compiler. */ -+#define STUB_ENTRY(n) \ -+asm(".section \".text\"\n\t" \ -+ ".align 2\n\t" \ -+ ".if " #n " < 10\n\t" \ -+ ".globl _ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \ -+ ".hidden _ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase5Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase5Stub" #n "Ev:\n\t" \ -+ ".elseif " #n " < 100\n\t" \ -+ ".globl _ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \ -+ ".hidden _ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase6Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase6Stub" #n "Ev:\n\t" \ -+ ".elseif " #n " < 1000\n\t" \ -+ ".globl _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \ -+ ".hidden _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \ -+ ".type _ZN14nsXPTCStubBase7Stub" #n "Ev,@function\n" \ -+ "_ZN14nsXPTCStubBase7Stub" #n "Ev:\n\t" \ -+ ".else\n\t" \ -+ ".err \"stub number " #n " >= 1000 not yet supported\"\n\t" \ -+ ".endif\n\t" \ -+ "movl $" #n ", %eax\n\t" \ -+ "jmp SharedStub\n\t" \ -+ ".if " #n " < 10\n\t" \ -+ ".size _ZN14nsXPTCStubBase5Stub" #n "Ev,.-_ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \ -+ ".elseif " #n " < 100\n\t" \ -+ ".size _ZN14nsXPTCStubBase6Stub" #n "Ev,.-_ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \ -+ ".else\n\t" \ -+ ".size _ZN14nsXPTCStubBase7Stub" #n "Ev,.-_ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \ -+ ".endif"); -+ -+// static nsresult SharedStub(PRUint32 methodIndex) -+asm(".section \".text\"\n\t" -+ ".align 2\n\t" -+ ".type SharedStub,@function\n\t" -+ "SharedStub:\n\t" -+ // make room for gpregs (48), fpregs (64) -+ "pushq %rbp\n\t" -+ "movq %rsp,%rbp\n\t" -+ "subq $112,%rsp\n\t" -+ // save GP registers -+ "movq %rdi,-112(%rbp)\n\t" -+ "movq %rsi,-104(%rbp)\n\t" -+ "movq %rdx, -96(%rbp)\n\t" -+ "movq %rcx, -88(%rbp)\n\t" -+ "movq %r8 , -80(%rbp)\n\t" -+ "movq %r9 , -72(%rbp)\n\t" -+ "leaq -112(%rbp),%rcx\n\t" -+ // save FP registers -+ "movsd %xmm0,-64(%rbp)\n\t" -+ "movsd %xmm1,-56(%rbp)\n\t" -+ "movsd %xmm2,-48(%rbp)\n\t" -+ "movsd %xmm3,-40(%rbp)\n\t" -+ "movsd %xmm4,-32(%rbp)\n\t" -+ "movsd %xmm5,-24(%rbp)\n\t" -+ "movsd %xmm6,-16(%rbp)\n\t" -+ "movsd %xmm7, -8(%rbp)\n\t" -+ "leaq -64(%rbp),%r8\n\t" -+ // rdi has the 'self' pointer already -+ "movl %eax,%esi\n\t" -+ "leaq 16(%rbp),%rdx\n\t" -+ "call PrepareAndDispatch@plt\n\t" -+ "leave\n\t" -+ "ret\n\t" -+ ".size SharedStub,.-SharedStub"); -+ -+#elif defined(__SUNPRO_CC) /* Sun Workshop Compiler. */ -+ -+#define STUB_ENTRY(n) -+ -+#else -+#error "can't find a compiler to use" -+#endif /* __GNUC__ */ -+ -+#define SENTINEL_ENTRY(n) \ -+nsresult nsXPTCStubBase::Sentinel##n() \ -+{ \ -+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \ -+ return NS_ERROR_NOT_IMPLEMENTED; \ -+} -+ -+#include "xptcstubsdef.inc" diff --git a/net-libs/xulrunner/files/xulrunner-1.9.1.5-solaris-undef-regs.patch b/net-libs/xulrunner/files/xulrunner-1.9.1.5-solaris-undef-regs.patch deleted file mode 100644 index 2ed620ebcbd5..000000000000 --- a/net-libs/xulrunner/files/xulrunner-1.9.1.5-solaris-undef-regs.patch +++ /dev/null @@ -1,19 +0,0 @@ -http://marc.info/?l=opensolaris-desktop-discuss&m=124625949400704&w=2 - ---- firefox/js/src/nanojit/Nativei386.h.orig 2008-12-19 16:11:09.743712966 +0800 -+++ firefox/js/src/nanojit/Nativei386.h 2008-12-19 16:12:32.156744648 +0800 -@@ -40,6 +40,14 @@ - #ifndef __nanojit_Nativei386__ - #define __nanojit_Nativei386__ - -+#undef EAX -+#undef EBX -+#undef ECX -+#undef EDX -+#undef ESP -+#undef EBP -+#undef ESI -+#undef EDI - - namespace nanojit - { diff --git a/net-libs/xulrunner/files/xulrunner-1.9.2-arm-fixes.patch b/net-libs/xulrunner/files/xulrunner-1.9.2-arm-fixes.patch deleted file mode 100644 index a726209e6373..000000000000 --- a/net-libs/xulrunner/files/xulrunner-1.9.2-arm-fixes.patch +++ /dev/null @@ -1,35 +0,0 @@ -Fix arm OS detection - -https://bugs.gentoo.org/327783 -https://bugzilla.mozilla.org/show_bug.cgi?id=577319 ---- ---- configure.in -+++ configure.in -@@ -1424,9 +1424,11 @@ - CPU_ARCH="$OS_TEST" - ;; - --arm) -+arm*) - if test "$OS_TARGET" = "WINCE"; then - CPU_ARCH="$OS_TEST" -+ else -+ CPU_ARCH="arm" - fi - ;; - esac ---- js/src/configure.in -+++ js/src/configure.in -@@ -1162,9 +1162,11 @@ - CPU_ARCH="$OS_TEST" - ;; - --arm) -+arm*) - if test "$OS_TARGET" = "WINCE"; then - CPU_ARCH="$OS_TEST" -+ else -+ CPU_ARCH="arm" - fi - ;; - esac diff --git a/net-libs/xulrunner/files/xulrunner-1.9.2-fix-pkgconfig-file.patch b/net-libs/xulrunner/files/xulrunner-1.9.2-fix-pkgconfig-file.patch deleted file mode 100644 index 540f9d0e01fd..000000000000 --- a/net-libs/xulrunner/files/xulrunner-1.9.2-fix-pkgconfig-file.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- mozilla-1.9.2/xulrunner/installer/mozilla-plugin.pc.in-orig 2010-01-18 22:07:22.609207920 -0600 -+++ mozilla-1.9.2/xulrunner/installer/mozilla-plugin.pc.in 2010-01-18 22:07:31.665185152 -0600 -@@ -5,5 +5,5 @@ - Name: Mozilla Plug-In API - Description: Mozilla Plug-In API - Version: %MOZILLA_VERSION% --Cflags: -I${includedir}/stable -DXP_UNIX %ojidef% -+Cflags: -I${includedir} -DXP_UNIX %ojidef% - diff --git a/net-libs/xulrunner/files/xulrunner-1.9.2-gtk+-2.21.patch b/net-libs/xulrunner/files/xulrunner-1.9.2-gtk+-2.21.patch new file mode 100644 index 000000000000..8a1e83134bb0 --- /dev/null +++ b/net-libs/xulrunner/files/xulrunner-1.9.2-gtk+-2.21.patch @@ -0,0 +1,23 @@ +# HG changeset patch +# User Jonathan Callen <abcd@gentoo.org> +# Parent 2599ed882191d88a8e8f0cb68492a156163c5ca7 +pass MOZ_GTK_CFLAGS to ensure proper includes are avaliable. + +diff --git a/toolkit/system/gnome/Makefile.in b/toolkit/system/gnome/Makefile.in +--- a/toolkit/system/gnome/Makefile.in ++++ b/toolkit/system/gnome/Makefile.in +@@ -84,13 +84,14 @@ EXTRA_DSO_LDOPTS += \ + $(MOZ_LIBNOTIFY_LIBS) \ + $(NULL) + + LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/components/build/ + + include $(topsrcdir)/config/rules.mk + + CXXFLAGS += \ ++ $(MOZ_GTK2_CFLAGS) \ + $(MOZ_GCONF_CFLAGS) \ + $(MOZ_GNOMEVFS_CFLAGS) \ + $(GLIB_CFLAGS) \ + $(MOZ_LIBNOTIFY_CFLAGS) \ + $(NULL) diff --git a/net-libs/xulrunner/xulrunner-1.9.2.8.ebuild b/net-libs/xulrunner/xulrunner-1.9.2.12.ebuild index ca7bc69ebe8f..95152b241adb 100644 --- a/net-libs/xulrunner/xulrunner-1.9.2.8.ebuild +++ b/net-libs/xulrunner/xulrunner-1.9.2.12.ebuild @@ -1,38 +1,39 @@ # 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.8.ebuild,v 1.10 2010/08/13 19:38:39 polynomial-c Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/xulrunner-1.9.2.12.ebuild,v 1.1 2010/10/28 13:53:46 polynomial-c 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 +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.6" +PATCH="${PN}-1.9.2-patches-0.7" 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" +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="java? ( >=virtual/jre-1.4 ) +RDEPEND=" >=sys-devel/binutils-2.16.1 - >=dev-libs/nss-3.12.6 - >=dev-libs/nspr-4.8 - system-sqlite? ( >=dev-db/sqlite-3.6.22-r2[fts3,secure-delete] ) + >=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 )" @@ -41,6 +42,9 @@ DEPEND="java? ( >=virtual/jdk-1.4 ) =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() { @@ -57,12 +61,13 @@ pkg_setup() { src_prepare() { # Apply our patches - EPATCH_EXCLUDE="1009-armv4t-nanojit.patch" \ + EPATCH_EXCLUDE="2001_mozilla_ps_pdf_simplify_operators.patch" \ EPATCH_SUFFIX="patch" \ EPATCH_FORCE="yes" \ epatch "${WORKDIR}" - epatch "${FILESDIR}"/1009-armv4t-nanojit-v2.patch + epatch "${FILESDIR}/bug-606109.patch" + epatch "${FILESDIR}/${PN}-1.9.2-gtk+-2.21.patch" eprefixify \ extensions/java/xpcom/interfaces/org/mozilla/xpcom/Mozilla.java \ @@ -144,6 +149,7 @@ src_configure() { 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 @@ -215,6 +221,8 @@ src_install() { "${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" |