From 922f247fc19dbbe1eb361dbe21439c5f4c536945 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 6 Jun 2012 19:24:41 +0200 Subject: Xulrunner 13.0, Firefox 13.0 --- mozilla-691898.patch | 303 +++++++++++++------------- mozilla-724615.patch | 24 -- mozilla-746112.patch | 35 +++ mozilla-file.patch | 26 --- mozilla-nspr-build.patch | 12 + xulrunner-10.0-gcc47.patch | 12 - xulrunner-12.0-jemalloc-ppc.patch | 14 ++ xulrunner-8.0-fix-maemo-checks-in-npapi.patch | 21 -- xulrunner-mozconfig | 2 +- xulrunner.spec | 88 ++++---- 10 files changed, 265 insertions(+), 272 deletions(-) delete mode 100644 mozilla-724615.patch create mode 100644 mozilla-746112.patch delete mode 100644 mozilla-file.patch create mode 100644 mozilla-nspr-build.patch create mode 100644 xulrunner-12.0-jemalloc-ppc.patch delete mode 100644 xulrunner-8.0-fix-maemo-checks-in-npapi.patch diff --git a/mozilla-691898.patch b/mozilla-691898.patch index dab2016..441862d 100644 --- a/mozilla-691898.patch +++ b/mozilla-691898.patch @@ -1,103 +1,132 @@ -From: Mike Hommey -Date: Sat, 24 Dec 2011 09:56:58 +0100 -Subject: Bug 691898 - Use YARR interpreter instead of PCRE on platforms where - YARR JIT is not supported - ---- - js/src/Makefile.in | 21 +++++++++++++-------- - js/src/vm/RegExpObject-inl.h | 28 ++++++---------------------- - js/src/vm/RegExpObject.cpp | 36 ------------------------------------ - js/src/vm/RegExpObject.h | 27 ++++++--------------------- - js/src/yarr/wtfbridge.h | 2 -- - 5 files changed, 25 insertions(+), 89 deletions(-) - -diff --git a/js/src/Makefile.in b/js/src/Makefile.in -index fc48cbd..49f0bdc 100644 ---- a/js/src/Makefile.in -+++ b/js/src/Makefile.in -@@ -416,15 +416,20 @@ CPPSRCS += checks.cc \ +diff -up xulrunner-13.0/mozilla-release/js/src/assembler/jit/ExecutableAllocator.h.691898 xulrunner-13.0/mozilla-release/js/src/assembler/jit/ExecutableAllocator.h +--- xulrunner-13.0/mozilla-release/js/src/assembler/jit/ExecutableAllocator.h.691898 2012-06-01 14:04:02.000000000 +0200 ++++ xulrunner-13.0/mozilla-release/js/src/assembler/jit/ExecutableAllocator.h 2012-06-04 10:43:23.694175924 +0200 +@@ -467,8 +467,6 @@ public: + { + sync_instruction_memory((caddr_t)code, size); + } +-#else +- #error "The cacheFlush support is missing on this platform." + #endif + + private: +diff -up xulrunner-13.0/mozilla-release/js/src/Makefile.in.691898 xulrunner-13.0/mozilla-release/js/src/Makefile.in +--- xulrunner-13.0/mozilla-release/js/src/Makefile.in.691898 2012-06-01 14:04:02.000000000 +0200 ++++ xulrunner-13.0/mozilla-release/js/src/Makefile.in 2012-06-04 10:45:57.023808537 +0200 +@@ -337,20 +337,23 @@ CPPSRCS += checks.cc \ + # END enclude sources for V8 dtoa + ############################################# - ifeq (,$(filter arm% sparc %86 x86_64,$(TARGET_CPU))) +-# For architectures without YARR JIT, PCRE is faster than the YARR +-# interpreter (bug 684559). +- + ifeq (,$(filter arm% sparc %86 x86_64 mips%,$(TARGET_CPU))) -VPATH += $(srcdir)/yarr/pcre \ -+VPATH += $(srcdir)/assembler \ -+ $(srcdir)/assembler/wtf \ -+ $(srcdir)/yarr \ ++VPATH += $(srcdir)/assembler \ ++ $(srcdir)/assembler/wtf \ ++ $(srcdir)/assembler/jit \ ++ $(srcdir)/yarr \ $(NULL) - CPPSRCS += \ +-CPPSRCS += \ - pcre_compile.cpp \ - pcre_exec.cpp \ - pcre_tables.cpp \ - pcre_xclass.cpp \ - pcre_ucp_searchfuncs.cpp \ -+ Assertions.cpp \ -+ OSAllocatorOS2.cpp \ -+ OSAllocatorPosix.cpp \ -+ OSAllocatorWin.cpp \ -+ PageBlock.cpp \ -+ YarrInterpreter.cpp \ -+ YarrPattern.cpp \ -+ YarrSyntaxChecker.cpp \ ++CPPSRCS += ExecutableAllocator.cpp \ ++ ExecutableAllocatorPosix.cpp \ ++ OSAllocatorOS2.cpp \ ++ OSAllocatorPosix.cpp \ ++ OSAllocatorWin.cpp \ ++ PageBlock.cpp \ ++ YarrInterpreter.cpp \ ++ YarrPattern.cpp \ ++ YarrSyntaxChecker.cpp \ $(NULL) else -@@ -1015,10 +1020,10 @@ endif - # Needed to "configure" it correctly. Unfortunately these - # flags wind up being applied to all code in js/src, not just - # the code in js/src/assembler. --CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -+CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 - - ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_TRACEJIT)$(ENABLE_METHODJIT)) --CXXFLAGS += -DENABLE_JIT=1 -+CXXFLAGS += -DENABLE_JIT=1 -DENABLE_ASSEMBLER=1 - endif +@@ -918,4 +921,3 @@ endif + # + # END kludges for the Nitro assembler + ############################################### +- +diff -up xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject.cpp.691898 xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject.cpp +--- xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject.cpp.691898 2012-06-01 14:04:05.000000000 +0200 ++++ xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject.cpp 2012-06-04 10:43:23.695175928 +0200 +@@ -167,7 +167,6 @@ MatchPairs::checkAgainst(size_t inputLen - INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr -diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h -index 5f7817d..91108a7 100644 ---- a/js/src/vm/RegExpObject-inl.h -+++ b/js/src/vm/RegExpObject-inl.h -@@ -327,6 +327,7 @@ RegExpPrivate::create(JSContext *cx, JSString *source, RegExpFlag flags, TokenSt - return RetType(self); - } + /* detail::RegExpCode */ -+#if ENABLE_YARR_JIT - /* This function should be deleted once bad Android platforms phase out. See bug 604774. */ - inline bool - RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx) -@@ -337,12 +338,12 @@ RegExpPrivateCode::isJITRuntimeEnabled(JSContext *cx) - return true; - #endif +-#if ENABLE_YARR_JIT + void + RegExpCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode error) + { +@@ -199,46 +198,9 @@ RegExpCode::reportYarrError(JSContext *c + } } -+#endif - inline bool - RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts, - uintN *parenCount, RegExpFlag flags) +-#else /* !ENABLE_YARR_JIT */ +- +-void +-RegExpCode::reportPCREError(JSContext *cx, int error) +-{ +-#define REPORT(msg_) \ +- JS_ReportErrorFlagsAndNumberUC(cx, JSREPORT_ERROR, js_GetErrorMessage, NULL, msg_); \ +- return +- switch (error) { +- case -2: REPORT(JSMSG_REGEXP_TOO_COMPLEX); +- case 0: JS_NOT_REACHED("Precondition violation: an error must have occurred."); +- case 1: REPORT(JSMSG_TRAILING_SLASH); +- case 2: REPORT(JSMSG_TRAILING_SLASH); +- case 3: REPORT(JSMSG_REGEXP_TOO_COMPLEX); +- case 4: REPORT(JSMSG_BAD_QUANTIFIER); +- case 5: REPORT(JSMSG_BAD_QUANTIFIER); +- case 6: REPORT(JSMSG_BAD_CLASS_RANGE); +- case 7: REPORT(JSMSG_REGEXP_TOO_COMPLEX); +- case 8: REPORT(JSMSG_BAD_CLASS_RANGE); +- case 9: REPORT(JSMSG_BAD_QUANTIFIER); +- case 10: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN); +- case 11: REPORT(JSMSG_REGEXP_TOO_COMPLEX); +- case 12: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN); +- case 13: REPORT(JSMSG_REGEXP_TOO_COMPLEX); +- case 14: REPORT(JSMSG_MISSING_PAREN); +- case 15: REPORT(JSMSG_BAD_BACKREF); +- case 16: REPORT(JSMSG_REGEXP_TOO_COMPLEX); +- case 17: REPORT(JSMSG_REGEXP_TOO_COMPLEX); +- default: +- JS_NOT_REACHED("Precondition violation: unknown PCRE error code."); +- } +-#undef REPORT +-} +- +-#endif /* ENABLE_YARR_JIT */ +- + bool + RegExpCode::compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags) { -#if ENABLE_YARR_JIT /* Parse the pattern. */ ErrorCode yarrError; YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag), -@@ -359,7 +360,7 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream * +@@ -255,7 +217,7 @@ RegExpCode::compile(JSContext *cx, JSLin * case we have to bytecode compile it. */ -#ifdef JS_METHODJIT +#if ENABLE_YARR_JIT && defined(JS_METHODJIT) if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) { - if (!cx->compartment->ensureJaegerCompartmentExists(cx)) - return false; -@@ -371,21 +372,11 @@ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream * + JSC::ExecutableAllocator *execAlloc = cx->runtime->getExecutableAllocator(cx); + if (!execAlloc) { +@@ -276,21 +238,11 @@ RegExpCode::compile(JSContext *cx, JSLin + return false; } - #endif +#if ENABLE_YARR_JIT codeBlock.setFallBack(true); +#endif - byteCode = byteCompile(yarrPattern, cx->compartment->regExpAllocator).get(); + byteCode = byteCompile(yarrPattern, bumpAlloc).get(); return true; -#else /* !defined(ENABLE_YARR_JIT) */ - int error = 0; @@ -113,8 +142,8 @@ index 5f7817d..91108a7 100644 -#endif } - inline bool -@@ -431,19 +422,12 @@ RegExpPrivateCode::execute(JSContext *cx, const jschar *chars, size_t start, siz + RegExpRunStatus +@@ -305,19 +257,12 @@ RegExpCode::execute(JSContext *cx, const else result = JSC::Yarr::execute(codeBlock, chars, start, length, output); #else @@ -123,88 +152,36 @@ index 5f7817d..91108a7 100644 #endif if (result == -1) - return Success_NotFound; + return RegExpRunStatus_Success_NotFound; -#if !ENABLE_YARR_JIT - if (result < 0) { - reportPCREError(cx, result); -- return Error; +- return RegExpRunStatus_Error; - } -#endif - JS_ASSERT(result >= 0); - return Success; + return RegExpRunStatus_Success; } -diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp -index f75c6a5..7631dd5 100644 ---- a/js/src/vm/RegExpObject.cpp -+++ b/js/src/vm/RegExpObject.cpp -@@ -251,7 +251,6 @@ Class js::RegExpClass = { - NULL /* trace */ - }; - --#if ENABLE_YARR_JIT - void - RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode error) - { -@@ -283,41 +282,6 @@ RegExpPrivateCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode err - } - } - --#else /* !ENABLE_YARR_JIT */ -- --void --RegExpPrivateCode::reportPCREError(JSContext *cx, int error) --{ --#define REPORT(msg_) \ -- JS_ReportErrorFlagsAndNumberUC(cx, JSREPORT_ERROR, js_GetErrorMessage, NULL, msg_); \ -- return -- switch (error) { -- case -2: REPORT(JSMSG_REGEXP_TOO_COMPLEX); -- case 0: JS_NOT_REACHED("Precondition violation: an error must have occurred."); -- case 1: REPORT(JSMSG_TRAILING_SLASH); -- case 2: REPORT(JSMSG_TRAILING_SLASH); -- case 3: REPORT(JSMSG_REGEXP_TOO_COMPLEX); -- case 4: REPORT(JSMSG_BAD_QUANTIFIER); -- case 5: REPORT(JSMSG_BAD_QUANTIFIER); -- case 6: REPORT(JSMSG_BAD_CLASS_RANGE); -- case 7: REPORT(JSMSG_REGEXP_TOO_COMPLEX); -- case 8: REPORT(JSMSG_BAD_CLASS_RANGE); -- case 9: REPORT(JSMSG_BAD_QUANTIFIER); -- case 10: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN); -- case 11: REPORT(JSMSG_REGEXP_TOO_COMPLEX); -- case 12: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN); -- case 13: REPORT(JSMSG_REGEXP_TOO_COMPLEX); -- case 14: REPORT(JSMSG_MISSING_PAREN); -- case 15: REPORT(JSMSG_BAD_BACKREF); -- case 16: REPORT(JSMSG_REGEXP_TOO_COMPLEX); -- case 17: REPORT(JSMSG_REGEXP_TOO_COMPLEX); -- default: -- JS_NOT_REACHED("Precondition violation: unknown PCRE error code."); -- } --#undef REPORT --} --#endif /* ENABLE_YARR_JIT */ -- - bool - js::ParseRegExpFlags(JSContext *cx, JSString *flagStr, RegExpFlag *flagsOut) - { -diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h -index 1449d56..279f3c0 100644 ---- a/js/src/vm/RegExpObject.h -+++ b/js/src/vm/RegExpObject.h -@@ -49,8 +49,6 @@ +diff -up xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject.h.691898 xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject.h +--- xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject.h.691898 2012-06-01 14:04:05.000000000 +0200 ++++ xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject.h 2012-06-04 10:47:03.609081248 +0200 +@@ -51,10 +51,8 @@ #include "yarr/Yarr.h" #if ENABLE_YARR_JIT #include "yarr/YarrJIT.h" +-#include "yarr/YarrSyntaxChecker.h" -#else -#include "yarr/pcre/pcre.h" #endif ++#include "yarr/YarrSyntaxChecker.h" - namespace js { -@@ -153,48 +151,39 @@ ResetRegExpObject(JSContext *cx, AlreadyIncRefed rep); - /* Abstracts away the gross |RegExpPrivate| backend details. */ - class RegExpPrivateCode + /* + * JavaScript Regular Expressions +@@ -112,68 +110,51 @@ namespace detail { + + class RegExpCode { -#if ENABLE_YARR_JIT typedef JSC::Yarr::BytecodePattern BytecodePattern; @@ -224,7 +201,7 @@ index 1449d56..279f3c0 100644 + BytecodePattern *byteCode; public: - RegExpPrivateCode() + RegExpCode() : #if ENABLE_YARR_JIT codeBlock(), @@ -235,7 +212,7 @@ index 1449d56..279f3c0 100644 + byteCode(NULL) { } - ~RegExpPrivateCode() { + ~RegExpCode() { #if ENABLE_YARR_JIT codeBlock.release(); +#endif @@ -244,21 +221,29 @@ index 1449d56..279f3c0 100644 -#else - if (compiled) - jsRegExpFree(compiled); +-#endif + } + + static bool checkSyntax(JSContext *cx, TokenStream *tokenStream, JSLinearString *source) { +-#if ENABLE_YARR_JIT + ErrorCode error = JSC::Yarr::checkSyntax(*source); + if (error == JSC::Yarr::NoError) + return true; + + reportYarrError(cx, tokenStream, error); + return false; +-#else +-# error "Syntax checking not implemented for !ENABLE_YARR_JIT" -#endif } #if ENABLE_YARR_JIT static inline bool isJITRuntimeEnabled(JSContext *cx); -- void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error); +- static void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error); -#else -- void reportPCREError(JSContext *cx, int error); +- static void reportPCREError(JSContext *cx, int error); #endif -+ void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error); - - inline bool compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts, uintN *parenCount, - RegExpFlag flags); -@@ -205,11 +194,7 @@ class RegExpPrivateCode - int *output, size_t outputCount); ++ static void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error); static size_t getOutputSize(size_t pairCount) { -#if ENABLE_YARR_JIT @@ -267,12 +252,30 @@ index 1449d56..279f3c0 100644 - return pairCount * 3; /* Should be x2, but PCRE has... needs. */ -#endif } - }; -diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h -index ac41d08..fb8eb86 100644 ---- a/js/src/yarr/wtfbridge.h -+++ b/js/src/yarr/wtfbridge.h + bool compile(JSContext *cx, JSLinearString &pattern, unsigned *parenCount, RegExpFlag flags); +diff -up xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject-inl.h.691898 xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject-inl.h +--- xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject-inl.h.691898 2012-06-01 14:04:05.000000000 +0200 ++++ xulrunner-13.0/mozilla-release/js/src/vm/RegExpObject-inl.h 2012-06-04 10:43:23.695175928 +0200 +@@ -137,6 +137,7 @@ RegExpObject::setSticky(bool enabled) + setSlot(STICKY_FLAG_SLOT, BooleanValue(enabled)); + } + ++#if ENABLE_YARR_JIT + /* This function should be deleted once bad Android platforms phase out. See bug 604774. */ + inline bool + detail::RegExpCode::isJITRuntimeEnabled(JSContext *cx) +@@ -147,6 +148,7 @@ detail::RegExpCode::isJITRuntimeEnabled( + return true; + #endif + } ++#endif + + inline bool + RegExpToShared(JSContext *cx, JSObject &obj, RegExpGuard *g) +diff -up xulrunner-13.0/mozilla-release/js/src/yarr/wtfbridge.h.691898 xulrunner-13.0/mozilla-release/js/src/yarr/wtfbridge.h +--- xulrunner-13.0/mozilla-release/js/src/yarr/wtfbridge.h.691898 2012-06-01 14:04:05.000000000 +0200 ++++ xulrunner-13.0/mozilla-release/js/src/yarr/wtfbridge.h 2012-06-04 10:43:23.696175932 +0200 @@ -49,9 +49,7 @@ #include "jsprvtd.h" #include "vm/String.h" diff --git a/mozilla-724615.patch b/mozilla-724615.patch deleted file mode 100644 index cc78c1b..0000000 --- a/mozilla-724615.patch +++ /dev/null @@ -1,24 +0,0 @@ -# HG changeset patch -# Parent 6292e55419d1730a2e88a56fd30b2440ce0b393a -# User Raúl Porcel -Bug XXXXXX - Fix TARGET_CPU usage on ARM - - -diff --git a/xpcom/glue/objs.mk b/xpcom/glue/objs.mk ---- a/xpcom/glue/objs.mk -+++ b/xpcom/glue/objs.mk -@@ -71,13 +71,13 @@ XPCOM_GLUENS_SRC_LCPPSRCS = \ - SSE.cpp \ - unused.cpp \ - nsProxyRelease.cpp \ - nsTextFormatter.cpp \ - GenericFactory.cpp \ - FileUtils.cpp \ - $(NULL) - --ifeq (arm,$(TARGET_CPU)) -+ifneq (,$(filter arm%,$(TARGET_CPU))) - XPCOM_GLUENS_SRC_LCPPSRCS += arm.cpp - endif - - XPCOM_GLUENS_SRC_CPPSRCS = $(addprefix $(topsrcdir)/xpcom/glue/,$(XPCOM_GLUENS_SRC_LCPPSRCS)) diff --git a/mozilla-746112.patch b/mozilla-746112.patch new file mode 100644 index 0000000..765f993 --- /dev/null +++ b/mozilla-746112.patch @@ -0,0 +1,35 @@ +Index: xulrunner-10.0.1/mozilla-release/js/src/yarr/YarrInterpreter.h +=================================================================== +--- xulrunner-10.0.1.orig/mozilla-release/js/src/yarr/YarrInterpreter.h ++++ xulrunner-10.0.1/mozilla-release/js/src/yarr/YarrInterpreter.h +@@ -167,7 +167,7 @@ struct ByteTerm { + inputPosition = inputPos; + } + +- ByteTerm(Type type, unsigned subpatternId, ByteDisjunction* parenthesesInfo, bool capture, int inputPos) ++ ByteTerm(Type type, unsigned subpatternId, ByteDisjunction* parenthesesInfo, bool capture, int inputPos) __attribute__((noinline)) + : type(type) + , m_capture(capture) + , m_invert(false) +@@ -188,7 +188,7 @@ struct ByteTerm { + atom.quantityCount = 1; + } + +- ByteTerm(Type type, unsigned subpatternId, bool capture, bool invert, int inputPos) ++ ByteTerm(Type type, unsigned subpatternId, bool capture, bool invert, int inputPos) __attribute__((noinline)) + : type(type) + , m_capture(capture) + , m_invert(invert) +Index: xulrunner-10.0.1/mozilla-release/js/src/yarr/YarrPattern.h +=================================================================== +--- xulrunner-10.0.1.orig/mozilla-release/js/src/yarr/YarrPattern.h ++++ xulrunner-10.0.1/mozilla-release/js/src/yarr/YarrPattern.h +@@ -171,7 +171,7 @@ struct PatternTerm { + quantityCount = 1; + } + +- PatternTerm(Type type, unsigned subpatternId, PatternDisjunction* disjunction, bool capture = false, bool invert = false) ++ PatternTerm(Type type, unsigned subpatternId, PatternDisjunction* disjunction, bool capture = false, bool invert = false) __attribute__((noinline)) + : type(type) + , m_capture(capture) + , m_invert(invert) diff --git a/mozilla-file.patch b/mozilla-file.patch deleted file mode 100644 index 14b0182..0000000 --- a/mozilla-file.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -up mozilla-beta/ipc/chromium/src/base/file_util_linux.cc.file mozilla-beta/ipc/chromium/src/base/file_util_linux.cc ---- mozilla-beta/ipc/chromium/src/base/file_util_linux.cc.file 2012-01-24 09:00:00.000000000 +0100 -+++ mozilla-beta/ipc/chromium/src/base/file_util_linux.cc 2012-01-25 15:30:43.707796295 +0100 -@@ -5,6 +5,9 @@ - #include "base/file_util.h" - - #include -+#if defined(ANDROID) || defined(OS_POSIX) -+#include -+#endif - - #include - #include -diff -up mozilla-beta/ipc/chromium/src/base/message_pump_libevent.cc.file mozilla-beta/ipc/chromium/src/base/message_pump_libevent.cc ---- mozilla-beta/ipc/chromium/src/base/message_pump_libevent.cc.file 2012-01-24 09:00:00.000000000 +0100 -+++ mozilla-beta/ipc/chromium/src/base/message_pump_libevent.cc 2012-01-25 15:13:11.947771212 +0100 -@@ -6,6 +6,9 @@ - - #include - #include -+#if defined(ANDROID) || defined(OS_POSIX) -+#include -+#endif - - #include "eintr_wrapper.h" - #include "base/logging.h" diff --git a/mozilla-nspr-build.patch b/mozilla-nspr-build.patch new file mode 100644 index 0000000..c3f285a --- /dev/null +++ b/mozilla-nspr-build.patch @@ -0,0 +1,12 @@ +diff -up mozilla-release/hal/sandbox/PHal.ipdl.old mozilla-release/hal/sandbox/PHal.ipdl +--- mozilla-release/hal/sandbox/PHal.ipdl.old 2012-06-01 14:04:00.000000000 +0200 ++++ mozilla-release/hal/sandbox/PHal.ipdl 2012-06-05 09:15:02.524408100 +0200 +@@ -39,7 +39,7 @@ + + include protocol PContent; + include protocol PBrowser; +-include "nspr/prtime.h"; ++include "prtime.h"; + include "mozilla/HalSensor.h"; + include "mozilla/HalTypes.h"; + diff --git a/xulrunner-10.0-gcc47.patch b/xulrunner-10.0-gcc47.patch index 91a948a..093357b 100644 --- a/xulrunner-10.0-gcc47.patch +++ b/xulrunner-10.0-gcc47.patch @@ -1,15 +1,3 @@ -diff -up mozilla-beta/ipc/chromium/src/base/time_posix.cc.gcc47 mozilla-beta/ipc/chromium/src/base/time_posix.cc ---- mozilla-beta/ipc/chromium/src/base/time_posix.cc.gcc47 2012-01-24 03:00:00.000000000 -0500 -+++ mozilla-beta/ipc/chromium/src/base/time_posix.cc 2012-01-30 14:12:49.198472212 -0500 -@@ -14,6 +14,8 @@ - #include - #endif - -+#include -+ - #include - - #include "base/basictypes.h" diff -up mozilla-beta/toolkit/crashreporter/client/Makefile.in.gcc47 mozilla-beta/toolkit/crashreporter/client/Makefile.in --- mozilla-beta/toolkit/crashreporter/client/Makefile.in.gcc47 2012-01-30 14:41:14.475441039 -0500 +++ mozilla-beta/toolkit/crashreporter/client/Makefile.in 2012-01-30 14:43:03.587646656 -0500 diff --git a/xulrunner-12.0-jemalloc-ppc.patch b/xulrunner-12.0-jemalloc-ppc.patch new file mode 100644 index 0000000..036f560 --- /dev/null +++ b/xulrunner-12.0-jemalloc-ppc.patch @@ -0,0 +1,14 @@ +Index: xulrunner-11.0/mozilla-release/memory/jemalloc/jemalloc.c +=================================================================== +--- xulrunner-11.0.orig/mozilla-release/memory/jemalloc/jemalloc.c ++++ xulrunner-11.0/mozilla-release/memory/jemalloc/jemalloc.c +@@ -1089,7 +1089,9 @@ static unsigned ncpus; + * controlling the malloc behavior are defined as compile-time constants + * for best performance and cannot be altered at runtime. + */ ++#if !(defined(__powerpc__)) + #define MALLOC_STATIC_SIZES 1 ++#endif + + #ifdef MALLOC_STATIC_SIZES + diff --git a/xulrunner-8.0-fix-maemo-checks-in-npapi.patch b/xulrunner-8.0-fix-maemo-checks-in-npapi.patch deleted file mode 100644 index 99c9b7f..0000000 --- a/xulrunner-8.0-fix-maemo-checks-in-npapi.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -up mozilla-release/dom/plugins/base/npapi.h.BAD mozilla-release/dom/plugins/base/npapi.h ---- mozilla-release/dom/plugins/base/npapi.h.BAD 2011-12-06 13:31:16.364405916 -0500 -+++ mozilla-release/dom/plugins/base/npapi.h 2011-12-06 13:31:47.131109006 -0500 -@@ -379,7 +379,7 @@ typedef enum { - , NPPVpluginCoreAnimationLayer = 1003 - #endif - --#if (MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6) -+#if defined(MOZ_PLATFORM_MAEMO) && ((MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6)) - , NPPVpluginWindowlessLocalBool = 2002 - #endif - } NPPVariable; -@@ -432,7 +432,7 @@ typedef enum { - , NPNVsupportsCompositingCoreAnimationPluginsBool = 74656 /* TRUE if the browser supports - CA model compositing */ - #endif --#if (MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6) -+#if defined(MOZ_PLATFORM_MAEMO) && ((MOZ_PLATFORM_MAEMO == 5) || (MOZ_PLATFORM_MAEMO == 6)) - , NPNVSupportsWindowlessLocal = 2002 - #endif - } NPNVariable; diff --git a/xulrunner-mozconfig b/xulrunner-mozconfig index bed6ee5..7852dd4 100644 --- a/xulrunner-mozconfig +++ b/xulrunner-mozconfig @@ -40,4 +40,4 @@ export MOZ_UA_BUILDID=20100101 mk_add_options BUILD_OFFICIAL=1 mk_add_options MOZILLA_OFFICIAL=1 -mk_add_options MOZ_OBJDIR=@TOPSRCDIR@ +mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir diff --git a/xulrunner.spec b/xulrunner.spec index 64bdd30..90ecd0f 100644 --- a/xulrunner.spec +++ b/xulrunner.spec @@ -44,7 +44,7 @@ # alpha_version should be set to the alpha number if using an alpha, 0 otherwise # beta_version should be set to the beta number if using a beta, 0 otherwise # rc_version should be set to the RC number if using an RC, 0 otherwise -%global gecko_dir_ver 12 +%global gecko_dir_ver 13 %global alpha_version 0 %global beta_version 0 %global rc_version 0 @@ -52,12 +52,8 @@ %global mozappdir %{_libdir}/%{shortname}-%{gecko_dir_ver} %global tarballdir mozilla-release -# crash reporter work only on x86/x86_64 -#%ifarch %{ix86} x86_64 -#%global enable_mozilla_crashreporter 1 -#%else +# no crash reporter for remi repo %global enable_mozilla_crashreporter 0 -#%endif %if %{alpha_version} > 0 %global pre_version a%{alpha_version} @@ -81,7 +77,7 @@ Summary: XUL Runtime for Gecko Applications Name: %{shortname}%{gecko_dir_ver} -Version: 12.0 +Version: 13.0 Release: 1%{?dist} URL: http://developer.mozilla.org/En/XULRunner License: MPLv1.1 or GPLv2+ or LGPLv2+ @@ -99,6 +95,9 @@ Patch0: xulrunner-version.patch Patch1: mozilla-build.patch Patch14: xulrunner-2.0-chromium-types.patch Patch17: xulrunner-10.0-gcc47.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=814879#c3 +Patch18: xulrunner-12.0-jemalloc-ppc.patch +Patch19: mozilla-nspr-build.patch # Fedora specific patches @@ -106,11 +105,8 @@ Patch20: mozilla-193-pkgconfig.patch Patch24: crashreporter-remove-static.patch # Upstream patches -# https://bugzilla.mozilla.org/show_bug.cgi?id=707993 -Patch39: xulrunner-8.0-fix-maemo-checks-in-npapi.patch -Patch43: mozilla-file.patch -Patch46: mozilla-724615.patch Patch47: mozilla-691898.patch +Patch49: mozilla-746112.patch # --------------------------------------------------- @@ -118,6 +114,7 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %if %{?system_nss} BuildRequires: nspr-devel >= %{nspr_version} BuildRequires: nss-devel >= %{nss_version} +BuildRequires: nss-static >= %{nss_version} %endif %if %{?system_cairo} BuildRequires: cairo-devel >= %{cairo_version} @@ -156,10 +153,10 @@ Requires: nss >= %{nss_version} %endif Provides: gecko-libs = %{gecko_verrel} Provides: gecko-libs%{?_isa} = %{gecko_verrel} -Obsoletes: xulrunner8 Obsoletes: xulrunner9 Obsoletes: xulrunner10 Obsoletes: xulrunner11 +Obsoletes: xulrunner12 %if %{?system_sqlite} BuildRequires: sqlite-devel >= %{sqlite_version} @@ -179,10 +176,10 @@ Group: Development/Libraries Obsoletes: mozilla-devel < 1.9 Obsoletes: firefox-devel < 2.1 Obsoletes: xulrunner-devel-unstable -Obsoletes: xulrunner8-devel Obsoletes: xulrunner9-devel Obsoletes: xulrunner10-devel Obsoletes: xulrunner11-devel +Obsoletes: xulrunner12-devel Provides: gecko-devel = %{gecko_verrel} Provides: gecko-devel%{?_isa} = %{gecko_verrel} Provides: gecko-devel-unstable = %{gecko_verrel} @@ -224,11 +221,6 @@ Requires: yasm %ifarch %{ix86} x86_64 Requires: wireless-tools-devel %endif -Obsoletes: xulrunner6-devel -Obsoletes: xulrunner7-devel -Obsoletes: xulrunner8-devel -Obsoletes: xulrunner9-devel -Obsoletes: xulrunner10-devel %description devel This package contains the libraries amd header files that are needed @@ -267,14 +259,16 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{gecko_dir_ver}/' %{P:%%PATCH0} \ %patch1 -p1 -b .build %patch14 -p1 -b .chromium-types %patch17 -p1 -b .gcc47 +%patch18 -p2 -b .jemalloc-ppc +%patch19 -p1 -b .nspr %patch20 -p2 -b .pk %patch24 -p1 -b .static -%patch39 -p1 -b .707993 -%patch43 -p1 -b .file -%patch46 -p1 -b .724615 -#%patch47 -p1 -b .691898 +%patch47 -p2 -b .691898 +%ifarch ppc ppc64 +%patch49 -p2 -b .746112 +%endif %{__rm} -f .mozconfig %{__cat} %{SOURCE10} \ @@ -401,19 +395,18 @@ make -f client.mk build STRIP="/bin/true" MOZ_MAKE_FLAGS="$MOZ_SMP_FLAGS" MOZ_SE # create debuginfo for crash-stats.mozilla.com %if %{enable_mozilla_crashreporter} #cd %{moz_objdir} -make buildsymbols +make -C objdir buildsymbols %endif #--------------------------------------------------------------------- %install cd %{tarballdir} -%{__rm} -rf $RPM_BUILD_ROOT # set up our prefs before install, so it gets pulled in to omni.jar -%{__cp} -p %{SOURCE12} dist/bin/defaults/pref/all-redhat.js +%{__cp} -p %{SOURCE12} objdir/dist/bin/defaults/pref/all-redhat.js -DESTDIR=$RPM_BUILD_ROOT make install +DESTDIR=$RPM_BUILD_ROOT make -C objdir install # Start script install %{__rm} -rf $RPM_BUILD_ROOT%{_bindir}/%{shortname} @@ -460,7 +453,7 @@ popd %if ! %{system_nss} %{__install} -D -p -m 755 \ - dist/sdk/bin/nspr-config \ + objdir/dist/sdk/bin/nspr-config \ $RPM_BUILD_ROOT%{_libdir}/%{shortname}-devel-%{gecko_dir_ver}/sdk/bin/nspr-config %endif @@ -490,18 +483,9 @@ touch $RPM_BUILD_ROOT%{mozappdir}/components/xpti.dat # Add debuginfo for crash-stats.mozilla.com %if %{enable_mozilla_crashreporter} %{__mkdir_p} $RPM_BUILD_ROOT/%{moz_debug_dir} -%{__cp} dist/%{symbols_file_name} $RPM_BUILD_ROOT/%{moz_debug_dir} +%{__cp} objdir/dist/%{symbols_file_name} $RPM_BUILD_ROOT/%{moz_debug_dir} %endif -# Remi : this appears when using bundled lib (nss, nspr, ...) -%{__rm} -f $RPM_BUILD_ROOT/%{mozappdir}/*.chk - - -#--------------------------------------------------------------------- - -%clean -%{__rm} -rf $RPM_BUILD_ROOT - #--------------------------------------------------------------------- %post -p /sbin/ldconfig @@ -544,7 +528,9 @@ fi %{_sysconfdir}/ld.so.conf.d/xulrunner*.conf %endif %{mozappdir}/plugin-container - +%if !%{?system_nss} +%{mozappdir}/*.chk +%endif %if %{enable_mozilla_crashreporter} %{mozappdir}/crashreporter %{mozappdir}/crashreporter.ini @@ -563,6 +549,32 @@ fi #--------------------------------------------------------------------- %changelog +* Wed Jun 06 2012 Remi Collet - 13.0-1 +- Sync with rawhide, update to 13.0 + +* Wed Jun 5 2012 Martin Stransky - 13.0-2 +- src.rpm should include all patches + +* Mon Jun 4 2012 Martin Stransky - 13.0-1 +- Update to 13.0 + +* Mon May 28 2012 Martin Stransky - 12.0-7 +- More ppc(64) fixes - mozbz#746112 + +* Mon May 28 2012 Martin Stransky - 12.0-6 +- Added workaround for ppc(64) - mozbz#746112 + +* Mon May 7 2012 Dan Horák - 12.0-5 +- Used backported upstream patch from mozb#734335 for fixing the sps profiler build +- Fixed build of jemalloc on ppc (patch by Gustavo Luiz Duarte/IBM) + +* Fri May 4 2012 Dan Horák - 12.0-4 +- Added new patch for 691898 - backport from trunk +- Added build fix for secondary arches + +* Fri May 4 2012 Martin Stransky - 12.0-3 +- Added requires for nss-static (rhbz#717247) + * Mon Apr 30 2012 Martin Stransky - 12.0-2 - Enable ppc(64) paralell builds (rhbz#816612) -- cgit