[thunderbird-lightning/el5] Reset to el6 - lightning 1.2.3

Orion Poplawski orion at fedoraproject.org
Thu Mar 15 12:59:12 UTC 2012


commit 49a6ee0b09e378739258d01e359a1ecccbf7d33d
Author: Orion Poplawski <orion at cora.nwra.com>
Date:   Thu Mar 15 06:59:10 2012 -0600

    Reset to el6 - lightning 1.2.3

 .gitignore                 |    6 +-
 mozilla-691898.patch       |  285 ++++++++++++++++++++++++++++++++++++++++++++
 sources                    |    4 +-
 thunderbird-lightning.spec |   91 +++------------
 thunderbird-mozconfig      |    2 +-
 5 files changed, 307 insertions(+), 81 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 2ac999a..e3ce0db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
 /thunderbird-3.1.9.source.tar.bz2
 /thunderbird-3.1.11.source.tar.bz2
+/thunderbird-3.1.18.source.tar.bz2
+/l10n-comm192-3.1.18.tar.xz
 /thunderbird-5.0.source.tar.bz2
 /lightning-1.0b5-source.tar.bz2
 /l10n-miramar.tar.bz2
@@ -17,5 +19,5 @@
 /lightning-1.2.source.tar.bz2
 /l10n-1.2.1.tar.xz
 /lightning-1.2.1.source.tar.bz2
-/lightning-1.3.source.tar.bz2
-/l10n-1.3.tar.xz
+/lightning-1.2.3.source.tar.bz2
+/l10n-1.2.3.tar.xz
diff --git a/mozilla-691898.patch b/mozilla-691898.patch
new file mode 100644
index 0000000..dab2016
--- /dev/null
+++ b/mozilla-691898.patch
@@ -0,0 +1,285 @@
+From: Mike Hommey <mh at glandium.org>
+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 \
+ 
+ ifeq (,$(filter arm% sparc %86 x86_64,$(TARGET_CPU)))
+ 
+-VPATH +=        $(srcdir)/yarr/pcre \
++VPATH +=        $(srcdir)/assembler \
++                $(srcdir)/assembler/wtf \
++                $(srcdir)/yarr \
+ 		$(NULL)
+ 
+ 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 \
+ 		$(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
+ 
+ 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);
+ }
+ 
++#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
+ }
++#endif
+ 
+ inline bool
+ RegExpPrivateCode::compile(JSContext *cx, JSLinearString &pattern, TokenStream *ts,
+                            uintN *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 *
+      * 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 *
+     }
+ #endif
+ 
++#if ENABLE_YARR_JIT
+     codeBlock.setFallBack(true);
++#endif
+     byteCode = byteCompile(yarrPattern, cx->compartment->regExpAllocator).get();
+     return true;
+-#else /* !defined(ENABLE_YARR_JIT) */
+-    int error = 0;
+-    compiled = jsRegExpCompile(pattern.chars(), pattern.length(),
+-                  ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase,
+-                  multiline() ? JSRegExpMultiline : JSRegExpSingleLine,
+-                  parenCount, &error);
+-    if (error) {
+-        reportPCREError(cx, error);
+-        return false;
+-    }
+-    return true;
+-#endif
+ }
+ 
+ inline bool
+@@ -431,19 +422,12 @@ RegExpPrivateCode::execute(JSContext *cx, const jschar *chars, size_t start, siz
+     else
+         result = JSC::Yarr::execute(codeBlock, chars, start, length, output);
+ #else
+-    result = jsRegExpExecute(cx, compiled, chars, length, start, output, outputCount);
++    result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
+ #endif
+ 
+     if (result == -1)
+         return Success_NotFound;
+ 
+-#if !ENABLE_YARR_JIT
+-    if (result < 0) {
+-        reportPCREError(cx, result);
+-        return Error;
+-    }
+-#endif
+-
+     JS_ASSERT(result >= 0);
+     return 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 @@
+ #include "yarr/Yarr.h"
+ #if ENABLE_YARR_JIT
+ #include "yarr/YarrJIT.h"
+-#else
+-#include "yarr/pcre/pcre.h"
+ #endif
+ 
+ namespace js {
+@@ -153,48 +151,39 @@ ResetRegExpObject(JSContext *cx, AlreadyIncRefed<RegExpPrivate> rep);
+ /* Abstracts away the gross |RegExpPrivate| backend details. */
+ class RegExpPrivateCode
+ {
+-#if ENABLE_YARR_JIT
+     typedef JSC::Yarr::BytecodePattern BytecodePattern;
+     typedef JSC::Yarr::ErrorCode ErrorCode;
++    typedef JSC::Yarr::YarrPattern YarrPattern;
++#if ENABLE_YARR_JIT
+     typedef JSC::Yarr::JSGlobalData JSGlobalData;
+     typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock;
+-    typedef JSC::Yarr::YarrPattern YarrPattern;
+ 
+     /* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */
+     YarrCodeBlock   codeBlock;
+-    BytecodePattern *byteCode;
+-#else
+-    JSRegExp        *compiled;
+ #endif
++    BytecodePattern *byteCode;
+ 
+   public:
+     RegExpPrivateCode()
+       :
+ #if ENABLE_YARR_JIT
+         codeBlock(),
+-        byteCode(NULL)
+-#else
+-        compiled(NULL)
+ #endif
++        byteCode(NULL)
+     { }
+ 
+     ~RegExpPrivateCode() {
+ #if ENABLE_YARR_JIT
+         codeBlock.release();
++#endif
+         if (byteCode)
+             Foreground::delete_<BytecodePattern>(byteCode);
+-#else
+-        if (compiled)
+-            jsRegExpFree(compiled);
+-#endif
+     }
+ 
+ #if ENABLE_YARR_JIT
+     static inline bool isJITRuntimeEnabled(JSContext *cx);
+-    void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
+-#else
+-    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 size_t getOutputSize(size_t pairCount) {
+-#if ENABLE_YARR_JIT
+         return pairCount * 2;
+-#else
+-        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
+@@ -49,9 +49,7 @@
+ #include "jsprvtd.h"
+ #include "vm/String.h"
+ #include "assembler/wtf/Platform.h"
+-#if ENABLE_YARR_JIT
+ #include "assembler/jit/ExecutableAllocator.h"
+-#endif
+ 
+ namespace JSC { namespace Yarr {
+ 
diff --git a/sources b/sources
index 4378dd4..b1ce54b 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-53ba1f293b1a5dd0cf8e4dc0743519ff  lightning-1.3.source.tar.bz2
-7ce2f0cd42fe38d1bb90ae6108f7274b  l10n-1.3.tar.xz
+5a86be7add74893bf3c82c1afb1aaef7  lightning-1.2.3.source.tar.bz2
+1bc6805081d4a36995f7dc02cdb9af3a  l10n-1.2.3.tar.xz
diff --git a/thunderbird-lightning.spec b/thunderbird-lightning.spec
index 2a41502..27e387b 100644
--- a/thunderbird-lightning.spec
+++ b/thunderbird-lightning.spec
@@ -20,14 +20,14 @@
 # IMPORTANT: If there is no top level directory, this should be
 # set to the cwd, ie: '.'
 #global tarballdir .
-%global tarballdir comm-beta
+%global tarballdir comm-release
 
 %global version_internal  2
 %global mozappdir         %{_libdir}/%{name}-%{version_internal}
 
 Name:           thunderbird-lightning
 Summary:        The calendar extension to Thunderbird
-Version:        1.3
+Version:        1.2.3
 Release:        1%{?dist}
 URL:            http://www.mozilla.org/projects/calendar/lightning/
 License:        MPLv1.1 or GPLv2+ or LGPLv2+
@@ -48,6 +48,8 @@ Patch0:         thunderbird-version.patch
 Patch1:         thunderbird-lightning-gcc47.patch
 # Fix build on secondary arches (patches copied from xulrunner)
 Patch2:         xulrunner-10.0-secondary-ipc.patch
+# Patch from EL6 TB for PCRE issues on ppc
+Patch15:        mozilla-691898.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:  nspr-devel >= %{nspr_version}
@@ -109,6 +111,7 @@ sed -e 's/__RPM_VERSION_INTERNAL__/%{version_internal}/' %{P:%%PATCH0} \
 
 cd mozilla
 %patch2 -p3 -b .secondary-ipc
+%patch15 -p1 -b .691898
 cd ..
 
 %{__rm} -f .mozconfig
@@ -199,84 +202,20 @@ find $RPM_BUILD_ROOT -name \*.so | xargs chmod 0755
 #===============================================================================
 
 %changelog
-* Wed Mar 14 2012 Martin Stransky <stransky at redhat.com> - 1.3-1
-- Update to 1.3
+* Wed Mar 14 2012 Orion Poplawski <orion at cora.nwra.com> - 1.2.3-1
+- Update to 1.2.3
+- Add patch from EL6 TB to fix ppc64 pcre build issue
 
-* Mon Feb 6 2012 Orion Poplawski <orion at cora.nwra.com> - 1.2.1-1
+* Wed Mar 14 2012 Orion Poplawski <orion at cora.nwra.com> - 1.2.1-1
 - Update to 1.2.1
+- Disable using system cairo - too old in EL6
 
-* Tue Jan 31 2012 Jan Horak <jhorak at redhat.com> - 1.2-1
-- Update to 1.2
+* Fri Feb 17 2012 Orion Poplawski <orion at cora.nwra.com> 1.0-0.44.b3pre
+- Build l10n
 
-* Fri Jan 6 2012 Orion Poplawski <orion at cora.nwra.com> - 1.1.1-1
-- Update to 1.1.1
-- Re-enable eu locale
-
-* Thu Jan 5 2012 Orion Poplawski <orion at cora.nwra.com> - 1.1-4
-- Add patch to fixup gcc 4.7 build issues
-
-* Thu Jan 5 2012 Orion Poplawski <orion at cora.nwra.com> - 1.1-3
-- Update l10n source hopefully to 1.1 release (bug #771860)
-
-* Thu Jan 05 2012 Dan Horák <dan[at]danny.cz> - 1.1-2
-- fix build on secondary arches (cherry-picked from 13afcd4c097c)
-- disable jemalloc on s390(x) (taken from xulrunner)
-
-* Tue Dec 27 2011 Orion Poplawski <orion at cora.nwra.com> - 1.1-1
-- Update to lightning 1.1 final (same as rc1)
-- Update l10n source
-
-* Tue Dec 20 2011 Orion Poplawski <orion at cora.nwra.com> - 1.1-0.1.rc1
-- Update to lightning 1.1 rc1
-- Update l10n source
-- Skip eu locale for now
-
-* Tue Dec 20 2011 Jan Horak <jhorak at redhat.com> - 1.0-2
-- Rebuild due to Thunderbird 9.0
-
-* Mon Nov 14 2011 Orion Poplawski <orion at cora.nwra.com> - 1.0-1
-- Update to lightning 1.0
-- Update l10n source
-
-* Wed Nov  9 2011 Jan Horak <jhorak at redhat.com> - 1.0-0.52.r2
-- Use lightning 1.0rc2 source for TB 8
-- Update l10n source
-
-* Wed Oct 12 2011 Dan Horák <dan[at]danny.cz> - 1.0-0.51.b7
-- sync secondary arches support with xulrunner/thunderbird
-
-* Wed Sep 28 2011 Orion Poplawski <orion at cora.nwra.com> - 1.0-0.50.b7
-- Use lightning 1.0b7 source for TB 7
-- Update l10n source
-- Drop tbver patch
-
-* Wed Aug 31 2011 Dan Horák <dan[at]danny.cz> - 1.0-0.49.b5
-- sync secondary arches support with xulrunner/thunderbird
-
-* Thu Aug 18 2011 Orion Poplawski <orion at cora.nwra.com> - 1.0-0.48.b5
-- Use TB6 source
-- Update l10n source, skipping si for now
-- Drop patches fixed upstream
-- Use Requires to match to thunderbird major version (bug #720709)
-- Add patch to change tb version compatibility to 6.*
-
-* Fri Jul 29 2011 Orion Poplawski <orion at cora.nwra.com> 1.0-0.47.b5rc3
-- Package l10n langpacks (bug #504994)
-
-* Thu Jul 28 2011 Orion Poplawski <orion at cora.nwra.com> 1.0-0.46.b5rc3
-- Update to 1.0 b5 rc3
-- Use lightning release sources
-
-* Tue Jul 19 2011 Dan Horák <dan[at]danny.cz> - 1.0-0.45.b3pre
-- add xulrunner patches for secondary arches
-
-* Mon Jul 18 2011 Jan Horak <jhorak at redhat.com> - 1.0-0.44.b3pre
-- Require nss-static only for Fedora 16+
-
-* Thu Jul 14 2011 Jan Horak <jhorak at redhat.com> - 1.0-0.43.b3pre
-- Update to thunderbird 5 source
-- Removed obsolete patches
-- Adopted mozconfig from thunderbird package
+* Fri Feb 17 2012 Orion Poplawski <orion at cora.nwra.com> 1.0-0.43.b3pre
+- Update to thunderbird 3.1.18 source
+- EL6 has nss-devel, no nss-static
 
 * Tue Jun 28 2011 Orion Poplawski <orion at cora.nwra.com> 1.0-0.42.b3pre
 - Update to thunderbird 3.1.11 source
diff --git a/thunderbird-mozconfig b/thunderbird-mozconfig
index b61a679..4f6c62c 100644
--- a/thunderbird-mozconfig
+++ b/thunderbird-mozconfig
@@ -23,7 +23,7 @@ ac_add_options --disable-xprint
 ac_add_options --disable-strip
 ac_add_options --disable-install-strip
 ac_add_options --enable-pango
-ac_add_options --enable-system-cairo
+ac_add_options --disable-system-cairo
 ac_add_options --enable-svg
 ac_add_options --enable-canvas
 ac_add_options --enable-system-hunspell


More information about the scm-commits mailing list