firefox: add 3.5.4
authorKoen Kooi <koen@openembedded.org>
Mon, 2 Nov 2009 10:22:10 +0000 (11:22 +0100)
committerKoen Kooi <koen@openembedded.org>
Mon, 2 Nov 2009 12:17:13 +0000 (13:17 +0100)
17 files changed:
conf/checksums.ini
recipes/mozilla/firefox-3.5.4/0001-Remove-Werror-from-build.patch [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/0002-Fix-security-cross-compile-cpu-detection-error.patch [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/010_FPU_IS_ARM_FPA_xslt.diff [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/Bug339782.additional.fix.diff [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/Bug385583.nspr.jmp_buf.eabi.diff [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/Bug405992.atomic.nspr.diff [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/configure-wchart.patch [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/jemalloc-tls.patch [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/jsautocfg-dontoverwrite.patch [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/linkage-problem.patch [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/mozconfig [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/plugins-dir.patch [new file with mode: 0644]
recipes/mozilla/firefox-3.5.4/security-cross.patch [new file with mode: 0644]
recipes/mozilla/firefox_3.5.4.bb [new file with mode: 0644]
recipes/mozilla/firefox_3.5b4.bb [new file with mode: 0644]
recipes/mozilla/firefox_hg.bb [new file with mode: 0644]

index 5a5b7c0..f20b9da 100644 (file)
@@ -6730,6 +6730,10 @@ sha256=402ca3641f1724f5a4ec1ac3e283cd1334bd85c4b5de7744bd267454ef31259e
 md5=136867f95c86f3988b7f825e874b85de
 sha256=d68b5988907e06cc37793489589f5545487a9b1bbe6444b7e2e16450bd1cb9ae
 
+[http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.5.4/source/firefox-3.5.4.source.tar.bz2]
+md5=0b6ccb1e50d96b7127a18a69399fcf05
+sha256=b2b0a231aae105090948521a469c5019eb886f0562fa3315a49cebaf74f61be4
+
 [http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/3.5b4-candidates/build1/source/firefox-3.5b4-source.tar.bz2]
 md5=ff6bf463300cb56bcf750973b2af3d80
 sha256=b653f2fa8dfdd0a54a6b8c576769719cf9014ca6b09f8e9d351721a51766d95d
@@ -18894,6 +18898,10 @@ sha256=777ff60afa89426f0e52e49b0e7a7661ddb45b59d2ebbfdcbe07fd179e526ff3
 md5=49fc135e1cde90cd935c1229467fa37e
 sha256=33a878a8fc3efdd74519b09b4ec3d16fa9d3a0436b321c13344e5f3ab723c5e4
 
+[ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.22rc1.tar.bz2]
+md5=049e93d78d5370351539c9a23b47e1af
+sha256=8e6823f4b92d88c837735322ca71199919406a2826bddae257c6e0f52d089cd7
+
 [ftp://ftp.osuosl.org/pub/mythtv/mythtv-0.22rc2.tar.bz2]
 md5=1e4be634b137e5b944c94b418d8c3791
 sha256=5cba470ccd60fec00be2bf7ef231f104dcea8275698fe70f5df398dbe2fe19fd
diff --git a/recipes/mozilla/firefox-3.5.4/0001-Remove-Werror-from-build.patch b/recipes/mozilla/firefox-3.5.4/0001-Remove-Werror-from-build.patch
new file mode 100644 (file)
index 0000000..008dabb
--- /dev/null
@@ -0,0 +1,43 @@
+From 48a378ae647cbd6f8466bd0e8dbb04400bb175a8 Mon Sep 17 00:00:00 2001
+From: Eduardo Valentin <eduardo.valentin@openpossa.org>
+Date: Thu, 24 Jul 2008 16:05:09 -0400
+Subject: [PATCH 1/1] Remove -Werror from build
+
+Remove -Werror from build
+
+Signed-off-by: Eduardo Valentin <eduardo.valentin@openpossa.org>
+---
+ configure |    6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+Index: mozilla-1.9.1/configure
+===================================================================
+--- mozilla-1.9.1.orig/configure
++++ mozilla-1.9.1/configure
+@@ -5525,7 +5525,7 @@ if test "$GNU_CC"; then
+         # Don't allow undefined symbols in libraries
+         DSO_LDOPTS="$DSO_LDOPTS -Wl,-z,defs"
+     fi
+-    WARNINGS_AS_ERRORS='-Werror'
++    WARNINGS_AS_ERRORS=''
+     DSO_CFLAGS=''
+     DSO_PIC_CFLAGS='-fPIC'
+     ASFLAGS="$ASFLAGS -fPIC"
+@@ -7104,7 +7104,7 @@ EOF
+     IMPLIB='emximp -o'
+     FILTER='emxexp -o'
+     LDFLAGS='-Zmap'
+-    WARNINGS_AS_ERRORS='-Werror'
++    WARNINGS_AS_ERRORS=''
+     MOZ_DEBUG_FLAGS="-g -fno-inline"
+     MOZ_OPTIMIZE_FLAGS="-O2"
+     MOZ_OPTIMIZE_LDFLAGS="-s -Zlinker /EXEPACK:2 -Zlinker /PACKCODE -Zlinker /PACKDATA"
+@@ -7283,7 +7283,7 @@ else
+ fi
+ rm -f conftest*
+        fi
+-       WARNINGS_AS_ERRORS='-Werror'
++       WARNINGS_AS_ERRORS=''
+        MOZ_OPTIMIZE_FLAGS="-xO4"
+        MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@'
+        MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -z muldefs -h $@ -o $@'
diff --git a/recipes/mozilla/firefox-3.5.4/0002-Fix-security-cross-compile-cpu-detection-error.patch b/recipes/mozilla/firefox-3.5.4/0002-Fix-security-cross-compile-cpu-detection-error.patch
new file mode 100644 (file)
index 0000000..ce8d4d9
--- /dev/null
@@ -0,0 +1,42 @@
+From 599b26141d493ff19633796ce5e19b00315d3821 Mon Sep 17 00:00:00 2001
+From: Eduardo Valentin <eduardo.valentin@openpossa.org>
+Date: Fri, 25 Jul 2008 11:20:02 -0400
+Subject: [PATCH 1/1] Fix security cross compile cpu detection error
+
+Fix security cross compile cpu detection error.
+Reference to bug 376279.
+
+Signed-off-by: Eduardo Valentin <eduardo.valentin@openpossa.org>
+---
+ security/coreconf/arch.mk    |    2 ++
+ security/manager/Makefile.in |    1 +
+ 2 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/security/coreconf/arch.mk b/security/coreconf/arch.mk
+index fba38ff..28da32e 100644
+--- a/security/coreconf/arch.mk
++++ b/security/coreconf/arch.mk
+@@ -66,7 +66,9 @@ OS_ARCH := $(subst /,_,$(shell uname -s))
+ # Attempt to differentiate between sparc and x86 Solaris
+ #
+
++ifndef OE_TEST
+ OS_TEST := $(shell uname -m)
++endif
+ ifeq ($(OS_TEST),i86pc)
+     OS_RELEASE := $(shell uname -r)_$(OS_TEST)
+ else
+diff --git a/security/manager/Makefile.in b/security/manager/Makefile.in
+index 86119f7..86c09ca 100644
+--- a/security/manager/Makefile.in
++++ b/security/manager/Makefile.in
+@@ -240,6 +240,7 @@ DEFAULT_GMAKE_FLAGS += \
+       RC="$(RC) $(RCFLAGS)" \
+       OS_ARCH="$(OS_ARCH)" \
+       CPU_ARCH="$(TARGET_CPU)" \
++      OS_TEST="$(TARGET_CPU)" \
+       $(NULL)
+ SKIP_CHK=1
+ endif
+--
+1.5.4.3
diff --git a/recipes/mozilla/firefox-3.5.4/010_FPU_IS_ARM_FPA_xslt.diff b/recipes/mozilla/firefox-3.5.4/010_FPU_IS_ARM_FPA_xslt.diff
new file mode 100644 (file)
index 0000000..854100c
--- /dev/null
@@ -0,0 +1,56 @@
+# Bug 369722 – prdtoa.c jsnum.h txDouble.h not required IEEE_ARM define on Codesourcery EABI gcc3.4.4 compiler
+#
+--- mozilla/content/xslt/public/txDouble.h.orig        2006-07-13 17:21:52.000000000 +0300
++++ mozilla/content/xslt/public/txDouble.h     2007-10-25 15:01:25.000000000 +0300
+@@ -58,46 +58,48 @@ fp_except_t oldmask = fpsetmask(~allmask
+ /**
+  * Stefan Hanske <sh990154@mail.uni-greifswald.de> reports:
+  *  ARM is a little endian architecture but 64 bit double words are stored
+  * differently: the 32 bit words are in little endian byte order, the two words
+  * are stored in big endian`s way.
+  */
+ #if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)
+-#define CPU_IS_ARM
++#if !defined(__VFP_FP__)
++#define FPU_IS_ARM_FPA
++#endif
+ #endif
+ #if (__GNUC__ == 2 && __GNUC_MINOR__ > 95) || __GNUC__ > 2
+ /**
+  * This version of the macros is safe for the alias optimizations
+  * that gcc does, but uses gcc-specific extensions.
+  */
+ typedef union txdpun {
+     PRFloat64 d;
+     struct {
+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
++#if defined(IS_LITTLE_ENDIAN) && !defined(FPU_IS_ARM_FPA)
+         PRUint32 lo, hi;
+ #else
+         PRUint32 hi, lo;
+ #endif
+     } s;
+ } txdpun;
+ #define TX_DOUBLE_HI32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.hi; }))
+ #define TX_DOUBLE_LO32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.lo; }))
+ #else // __GNUC__
+ /* We don't know of any non-gcc compilers that perform alias optimization,
+  * so this code should work.
+  */
+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
++#if defined(IS_LITTLE_ENDIAN) && !defined(FPU_IS_ARM_FPA)
+ #define TX_DOUBLE_HI32(x)        (((PRUint32 *)&(x))[1])
+ #define TX_DOUBLE_LO32(x)        (((PRUint32 *)&(x))[0])
+ #else
+ #define TX_DOUBLE_HI32(x)        (((PRUint32 *)&(x))[0])
+ #define TX_DOUBLE_LO32(x)        (((PRUint32 *)&(x))[1])
+ #endif
+ #endif // __GNUC__
diff --git a/recipes/mozilla/firefox-3.5.4/Bug339782.additional.fix.diff b/recipes/mozilla/firefox-3.5.4/Bug339782.additional.fix.diff
new file mode 100644 (file)
index 0000000..0848e73
--- /dev/null
@@ -0,0 +1,39 @@
+# XPTC_InvokeByIndex crashes
+# Bug 339782  [ARM] XPTC_InvokeByIndex crashes when cross-compiled under GCC 3.4.x with EABI (CodeSourcery)
+Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
+===================================================================
+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
+@@ -51,22 +51,32 @@
+ #ifdef __ARM_EABI__
+ #define DOUBLEWORD_ALIGN(p) ((PRUint32 *)((((PRUint32)(p)) + 7) & 0xfffffff8))
+ #define VAR_STACK_SIZE_64 3
+ #else
+ #define DOUBLEWORD_ALIGN(p) (p)
+ #define VAR_STACK_SIZE_64 2
+ #endif
++#ifdef __ARM_EABI__
++#define DOUBLEWORD_ALIGN(p) ((PRUint32 *)((((PRUint32)(p)) + 7) & 0xfffffff8))
++#else
++#define DOUBLEWORD_ALIGN(p) (p)
++#endif
++
+ // Remember that these 'words' are 32bit DWORDS
+ static PRUint32
+ invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
+ {
+     PRUint32 result = 0;
++
++    /* Note that we give a "worst case" estimate of how much stack _might_ be
++     * needed, rather than the real count - this should be safe */
++
+     for(PRUint32 i = 0; i < paramCount; i++, s++)
+     {
+         if(s->IsPtrData())
+         {
+             result++;
+             continue;
+         }
+         switch(s->type)
diff --git a/recipes/mozilla/firefox-3.5.4/Bug385583.nspr.jmp_buf.eabi.diff b/recipes/mozilla/firefox-3.5.4/Bug385583.nspr.jmp_buf.eabi.diff
new file mode 100644 (file)
index 0000000..486440c
--- /dev/null
@@ -0,0 +1,33 @@
+diff -up mozilla/nsprpub/pr/include/md/_linux.h.orig mozilla/nsprpub/pr/include/md/_linux.h
+--- mozilla/nsprpub/pr/include/md/_linux.h.orig        2007-11-28 14:16:03.000000000 -0500
++++ mozilla/nsprpub/pr/include/md/_linux.h     2007-11-28 14:12:09.000000000 -0500
+@@ -346,8 +346,8 @@ extern void _MD_CleanupBeforeExit(void);
+ #error "Linux/MIPS pre-glibc2 not supported yet"
+ #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
+-#elif defined(__arm__)
+-/* ARM/Linux */
++#elif defined(__arm__) && !defined(__ARM_EABI__)
++/* ARM/Linux (old-ABI) */
+ #if defined(__GLIBC__) && __GLIBC__ >= 2
+ #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20]
+ #define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[19] = (val))
+@@ -358,6 +358,18 @@ extern void _MD_CleanupBeforeExit(void);
+ #error "ARM/Linux pre-glibc2 not supported yet"
+ #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
++#elif defined(__arm__) && defined(__ARM_EABI__)
++/* ARM/Linux (EABI) */
++#if defined(__GLIBC__) && __GLIBC__ >= 2
++#define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[8]
++#define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[7] = (val))
++#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t))
++#define _MD_GET_FP_PTR(_t) (&(_t)->md.context[0].__jmpbuf[7])
++#define _MD_SP_TYPE __ptr_t
++#else
++#error "ARM/Linux pre-glibc2 not supported yet"
++#endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
++
+ #else
+ #error "Unknown CPU architecture"
diff --git a/recipes/mozilla/firefox-3.5.4/Bug405992.atomic.nspr.diff b/recipes/mozilla/firefox-3.5.4/Bug405992.atomic.nspr.diff
new file mode 100644 (file)
index 0000000..f54f916
--- /dev/null
@@ -0,0 +1,48 @@
+#    Add atomic operations for ARM.
+diff --git a/nsprpub/pr/include/md/_linux.h b/nsprpub/pr/include/md/_linux.h
+index 5b794c5..cb8d58e 100644
+--- a/nsprpub/pr/include/md/_linux.h
++++ b/nsprpub/pr/include/md/_linux.h
+@@ -194,6 +194,42 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval);
+ })
+ #endif
++#if defined(__arm__)
++#define _PR_HAVE_ATOMIC_OPS
++#define _MD_INIT_ATOMIC()
++
++typedef int (__kernel_cmpxchg_t)(int oldval, int newval, volatile int *ptr);
++#define __kernel_cmpxchg (*(__kernel_cmpxchg_t *)0xffff0fc0)
++
++#define _MD_ATOMIC_INCREMENT(ptr) _MD_ATOMIC_ADD(ptr, 1)
++#define _MD_ATOMIC_DECREMENT(ptr) _MD_ATOMIC_ADD(ptr, -1)
++#define _MD_ATOMIC_ADD(ptr, n)                  \
++    ({                                          \
++        PRInt32 ov, nv;                         \
++        volatile PRInt32 *vp = (ptr);           \
++                                                \
++        do {                                    \
++            ov = *vp;                           \
++            nv = ov + (n);                      \
++        }                                       \
++        while (__kernel_cmpxchg(ov, nv, vp));   \
++                                                \
++        nv;                                     \
++    })
++#define _MD_ATOMIC_SET(ptr, nv)                 \
++    ({                                          \
++        PRInt32 ov;                             \
++        volatile PRInt32 *vp = (ptr);           \
++                                                \
++        do {                                    \
++            ov = *vp;                           \
++        }                                       \
++        while (__kernel_cmpxchg(ov, (nv), vp)); \
++                                                \
++        ov;                                     \
++    })
++#endif
++
+ #define USE_SETJMP
+ #if defined(__GLIBC__) && __GLIBC__ >= 2
+ #define _PR_POLL_AVAILABLE
diff --git a/recipes/mozilla/firefox-3.5.4/configure-wchart.patch b/recipes/mozilla/firefox-3.5.4/configure-wchart.patch
new file mode 100644 (file)
index 0000000..36ee2a0
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/configure.in     2008-04-15 12:56:35.000000000 +0300
++++ b/configure.in.old 2008-03-20 21:17:09.000000000 +0200
+@@ -2743,7 +2743,7 @@
+     AC_CACHE_CHECK(for compiler -fshort-wchar option, 
+         ac_cv_have_usable_wchar_option_v2,
+-        [AC_TRY_LINK([#include <stddef.h>
++        [AC_TRY_COMPILE([#include <stddef.h>
+                          $configure_static_assert_macros],
+                         [CONFIGURE_STATIC_ASSERT(sizeof(wchar_t) == 2);
+                          CONFIGURE_STATIC_ASSERT((wchar_t)-1 > (wchar_t) 0)],
diff --git a/recipes/mozilla/firefox-3.5.4/jemalloc-tls.patch b/recipes/mozilla/firefox-3.5.4/jemalloc-tls.patch
new file mode 100644 (file)
index 0000000..d1d7409
--- /dev/null
@@ -0,0 +1,28 @@
+--- /tmp/jemalloc.c    2008-06-23 10:57:36.000000000 +0200
++++ mozilla/memory/jemalloc/jemalloc.c 2008-06-23 11:20:13.000000000 +0200
+@@ -386,7 +386,7 @@
+ #else
+ #  define NO_TLS
+ #endif
+-#if 0
++
+ #ifdef __i386__
+ #  define QUANTUM_2POW_MIN    4
+ #  define SIZEOF_PTR_2POW     2
+@@ -420,7 +420,6 @@
+ #  define QUANTUM_2POW_MIN    4
+ #  define SIZEOF_PTR_2POW     2
+ #endif
+-#endif
+ #define       SIZEOF_PTR              (1U << SIZEOF_PTR_2POW)
+@@ -2582,7 +2581,7 @@
+                * knowledge of how _pthread_self() calculates values, we can't
+                * easily do much better than this.
+                */
+-              ind = (unsigned long) _pthread_self() % narenas;
++              ind = 255255 % narenas;
+               /*
+                * Optimistially assume that arenas[ind] has been initialized.
diff --git a/recipes/mozilla/firefox-3.5.4/jsautocfg-dontoverwrite.patch b/recipes/mozilla/firefox-3.5.4/jsautocfg-dontoverwrite.patch
new file mode 100644 (file)
index 0000000..39978cf
--- /dev/null
@@ -0,0 +1,23 @@
+--- mozilla/js/src/Makefile.in.orig    2006-12-12 11:46:02.000000000 +0000
++++ mozilla/js/src/Makefile.in 2006-12-12 11:46:27.000000000 +0000
+@@ -319,20 +319,8 @@
+ jsopcode.h jsopcode.c: jsopcode.tbl
+-ifeq (,$(CROSS_COMPILE)$(filter-out WINNT,$(OS_ARCH)))
+ jsautocfg.h:
+       touch $@
+-else
+-ifeq ($(OS_ARCH),WINCE)
+-jsautocfg.h:
+-      touch $@
+-else
+-jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX)
+-      @rm -f $@ jsautocfg.tmp
+-      ./jscpucfg > jsautocfg.tmp
+-      mv jsautocfg.tmp $@
+-endif
+-endif
+ # jscpucfg is a strange target
+ # Needs to be built with the host compiler but needs to include
diff --git a/recipes/mozilla/firefox-3.5.4/linkage-problem.patch b/recipes/mozilla/firefox-3.5.4/linkage-problem.patch
new file mode 100644 (file)
index 0000000..28bffd1
--- /dev/null
@@ -0,0 +1,14 @@
+--- mozilla/layout/build/Makefile.in~  2007-11-24 00:38:14.000000000 -0200
++++ mozilla/layout/build/Makefile.in   2007-11-24 00:38:14.000000000 -0200
+@@ -229,6 +229,11 @@
+                   $(NULL)
+ endif
++ifdef MOZ_ENABLE_XFT
++EXTRA_DSO_LDOPTS += $(MOZ_XFT_LIBS) \
++                  $(NULL)
++endif
++
+ ifneq (,$(MOZ_ENABLE_CANVAS)$(MOZ_SVG_RENDERER_CAIRO))
+ EXTRA_DSO_LDOPTS += $(MOZ_CAIRO_LIBS) \
+                   $(NULL)
diff --git a/recipes/mozilla/firefox-3.5.4/mozconfig b/recipes/mozilla/firefox-3.5.4/mozconfig
new file mode 100644 (file)
index 0000000..d8d3f39
--- /dev/null
@@ -0,0 +1,72 @@
+. $topsrcdir/browser/config/mozconfig
+
+# use GTK+-2 widget set with XFT font rendering
+#ac_add_options --enable-default-toolkit=gtk2
+ac_add_options --enable-xft
+ac_add_options --disable-freetype2
+
+# enable minimal profile support
+ac_add_options --disable-profilesharing
+ac_add_options --disable-profilelocking
+ac_add_options --enable-single-profile
+
+ac_add_options --with-system-zlib
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-bz2
+#ac_add_options --with-system-png
+
+ac_add_options --disable-accessibility
+ac_add_options --disable-composer
+#ac_add_options --enable-plaintext-editor-only
+ac_add_options --disable-mailnews
+ac_add_options --disable-ldap
+#ac_add_options --disable-postscript
+ac_add_options --disable-mathml
+ac_add_options --disable-jsd
+ac_add_options --disable-installer
+ac_add_options --disable-xprint
+ac_add_options --disable-necko-disk-cache
+ac_add_options --disable-updater
+
+# configure necko to allocate smaller network buffers
+ac_add_options --enable-necko-small-buffers
+
+# disable debug logging and tests
+#ac_add_options --disable-dtd-debug
+ac_add_options --disable-logging
+ac_add_options --disable-gtktest
+ac_add_options --disable-tests
+ac_add_options --disable-printing
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-gnomeui
+ac_add_options --enable-debugger-info-modules
+
+# build crypto module (PSM + NSS)
+ac_add_options --enable-crypto
+
+# build minimal set of protocol handlers
+ac_add_options --enable-necko-protocols=http,file,res,ftp,about,viewsource
+
+# build minimal set of image decoders
+#ac_add_options --enable-image-decoders=png,gif,jpeg
+
+#ac_add_options --enable-reorder
+#ac_add_options --enable-elf-dynstr-gc
+
+# enable static build
+#ac_add_options --disable-shared
+#ac_add_options --enable-static
+ac_add_options --enable-optimize=-O2
+
+# Use cairo from system
+ac_add_options --enable-system-cairo
+
+# Disable jemalloc
+ac_add_options --disable-jemalloc
+
+# enable libxul
+ac_add_options --enable-libxul
+
+# Disable striping
+ac_add_options --disable-strip
+ac_add_options --disable-install-strip
diff --git a/recipes/mozilla/firefox-3.5.4/plugins-dir.patch b/recipes/mozilla/firefox-3.5.4/plugins-dir.patch
new file mode 100644 (file)
index 0000000..2c8b8e9
--- /dev/null
@@ -0,0 +1,16 @@
+Index: mozilla-1.9.1/build/unix/mozilla.in
+===================================================================
+--- mozilla-1.9.1.orig/build/unix/mozilla.in
++++ mozilla-1.9.1/build/unix/mozilla.in
+@@ -52,6 +52,11 @@
+ moz_libdir=%MOZAPPDIR%
++if test -d /usr/lib/mozilla/plugins; then
++       MOZ_PLUGIN_PATH="${MOZ_PLUGIN_PATH:+"$MOZ_PLUGIN_PATH:"}/usr/lib/mozilla/plugins"
++       export MOZ_PLUGIN_PATH
++fi
++
+ # Use run-mozilla.sh in the current dir if it exists
+ # If not, then start resolving symlinks until we find run-mozilla.sh
+ found=0
diff --git a/recipes/mozilla/firefox-3.5.4/security-cross.patch b/recipes/mozilla/firefox-3.5.4/security-cross.patch
new file mode 100644 (file)
index 0000000..b6c32fe
--- /dev/null
@@ -0,0 +1,64 @@
+--- /tmp/Linux.mk      2009-11-02 10:26:16.000000000 +0100
++++ mozilla-1.9.1/security/coreconf/Linux.mk   2009-11-02 10:27:04.000000000 +0100
+@@ -52,59 +52,8 @@
+ DEFAULT_COMPILER = gcc
+-ifeq ($(OS_TEST),ppc64)
+-      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-      CPU_ARCH        = ppc
+-ifeq ($(USE_64),1)
+-      ARCHFLAG        = -m64
+-endif
+-else
+-ifeq ($(OS_TEST),alpha)
+-        OS_REL_CFLAGS   = -D_ALPHA_ -DLINUX1_2 -D_XOPEN_SOURCE
+-      CPU_ARCH        = alpha
+-else
+-ifeq ($(OS_TEST),x86_64)
+-ifeq ($(USE_64),1)
+-      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-      CPU_ARCH        = x86_64
+-else
+-      OS_REL_CFLAGS   = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
+-      CPU_ARCH        = x86
+-      ARCHFLAG        = -m32
+-endif
+-else
+-ifeq ($(OS_TEST),sparc64)
+-      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-      CPU_ARCH        = sparc
+-else
+-ifeq (,$(filter-out arm% sa110,$(OS_TEST)))
+-      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-      CPU_ARCH        = arm
+-else
+-ifeq (,$(filter-out parisc%,$(OS_TEST)))
+-      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-      CPU_ARCH        = hppa
+-else
+-ifeq (,$(filter-out i%86,$(OS_TEST)))
+-      OS_REL_CFLAGS   = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
+-      CPU_ARCH        = x86
+-else
+-ifeq ($(OS_TEST),sh4a)
+-      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-      CPU_ARCH        = sh4
+-else
+-# $(OS_TEST) == m68k, ppc, ia64, sparc, s390, s390x, mips, sh3, sh4
+-      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+-      CPU_ARCH        = $(OS_TEST)
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-endif
+-
++OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
++CPU_ARCH =
+ LIBC_TAG              = _glibc
diff --git a/recipes/mozilla/firefox_3.5.4.bb b/recipes/mozilla/firefox_3.5.4.bb
new file mode 100644 (file)
index 0000000..ea524d1
--- /dev/null
@@ -0,0 +1,72 @@
+DEPENDS += "cairo"
+
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}.source.tar.bz2 \
+       file://jsautocfg.h \
+       file://security-cross.patch;patch=1 \
+       file://jsautocfg-dontoverwrite.patch;patch=1 \
+       file://Bug339782.additional.fix.diff;patch=1 \
+       file://Bug385583.nspr.jmp_buf.eabi.diff;patch=1 \
+       file://Bug405992.atomic.nspr.diff;patch=1 \
+       file://jemalloc-tls.patch;patch=1 \
+       file://0001-Remove-Werror-from-build.patch;patch=1 \
+       file://0002-Fix-security-cross-compile-cpu-detection-error.patch;patch=1 \
+       file://plugins-dir.patch;patch=1 \
+       file://firefox-plugin.pc \
+       file://firefox-xpcom.pc \
+       file://nspr.pc \
+"
+
+S = "${WORKDIR}/mozilla-1.9.1"
+
+inherit mozilla
+require firefox.inc
+
+EXTRA_OECONF += " --enable-official-branding "
+
+
+export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2"
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+
+do_compile_prepend() {
+       cp ${WORKDIR}/jsautocfg.h ${S}/js/src/
+       sed -i "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" security/coreconf/Linux.mk
+}
+
+do_stage() {
+        install -d ${STAGING_INCDIR}/firefox-${PV}
+        cd ${S}/dist/sdk/include
+        cp -a obsolete ${STAGING_INCDIR}/firefox-${PV}/
+        rm -rf obsolete
+        headers=`find . -name "*.h"`
+        for f in $headers
+        do
+                install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
+        done
+        cd ${S}/dist/include/plugin
+        headers=`find . -name "*.h"`
+        for f in $headers
+        do
+                install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
+        done
+        cd ${S}/nsprpub/pr/include
+        headers=`find . -name "*.h"`
+        for f in $headers
+        do
+                install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
+        done
+        cd ${S}/xpcom/base
+        headers=`find . -name "*.idl"`
+        for f in $headers
+        do
+                install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
+        done
+
+        install -d ${PKG_CONFIG_DIR}
+        install -m 0644 ${WORKDIR}/firefox-plugin.pc ${PKG_CONFIG_DIR}
+        install -m 0644 ${WORKDIR}/firefox-xpcom.pc ${PKG_CONFIG_DIR}
+        install -m 0644 ${WORKDIR}/nspr.pc ${PKG_CONFIG_DIR}
+        install -m 0755 ${S}/xpcom/typelib/xpidl/host_xpidl ${STAGING_BINDIR_NATIVE}/xpidl
+
+        # removes 2 lines that call absent headers
+        sed -e '178,179d' ${STAGING_INCDIR}/firefox-${PV}/nsIServiceManager.h
+}
diff --git a/recipes/mozilla/firefox_3.5b4.bb b/recipes/mozilla/firefox_3.5b4.bb
new file mode 100644 (file)
index 0000000..149ee3c
--- /dev/null
@@ -0,0 +1,46 @@
+DEPENDS += "cairo"
+
+PV = "3.0.1+3.5b4"
+MOZPV = "3.5b4"
+PR = "r1"
+
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/${MOZPV}-candidates/build1/source/firefox-${MOZPV}-source.tar.bz2 \
+       file://jsautocfg.h \
+       file://jsautocfg-dontoverwrite.patch;patch=1 \
+"
+
+S = "${WORKDIR}/mozilla-1.9.1"
+
+DEFAULT_PREFERENCE = "-10"
+
+inherit mozilla
+require firefox.inc
+
+export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2"
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+
+do_configure_prepend() {
+       sed -i -e s:'head -1':'head -n1':g client.mk
+       oe_runmake -f client.mk CONFIGURE_ARGS="${EXTRA_OECONF}" configure
+}
+
+do_compile_prepend() {
+       cp ${WORKDIR}/jsautocfg.h ${S}/js/src/
+        sed -i -e "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" \
+               -e  s:'$(OS_TEST)':${TARGET_ARCH}:g \
+                   ${S}/security/coreconf/Linux.mk
+}
+
+do_stage() {
+        install -d ${STAGING_INCDIR}/firefox-${MOZPV}
+        cd dist/sdk/include
+               rm -rf obsolete
+        headers=`find . -name "*.h"`
+        for f in $headers
+        do
+                install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${MOZPV}/
+        done
+        # removes 2 lines that call absent headers
+        sed -e '178,179d' ${STAGING_INCDIR}/firefox-${MOZPV}/nsIServiceManager.h
+}
+
diff --git a/recipes/mozilla/firefox_hg.bb b/recipes/mozilla/firefox_hg.bb
new file mode 100644 (file)
index 0000000..17a46ee
--- /dev/null
@@ -0,0 +1,52 @@
+DESCRIPTION = "Mozilla Mobile browser"
+DEPENDS += "autoconf213-native cairo alsa-lib sqlite3"
+
+PV = "3.4+3.5b4"
+MOZPV = "3.5b4"
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "hg://hg.mozilla.org/;module=mozilla-central;rev=8c9a6d851018 \
+           file://jsautocfg.h \
+           file://jsautocfg-dontoverwrite.patch;patch=1 \
+"
+
+S = "${WORKDIR}/mozilla-central"
+
+inherit mozilla
+require firefox.inc
+
+PARALLEL_MAKE = ""
+export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2"
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+
+export LIBXUL_DIST="${S}/objdir/xulrunner/dist/"
+CFLAGS_append = " -DMOZ_GFX_OPTIMIZE_MOBILE "
+
+do_configure_prepend() {
+       sed -i -e 's:head\ -1:head\ -n1:g' client.mk
+       oe_runmake -f client.mk CONFIGURE_ARGS="${EXTRA_OECONF}" configure
+}
+
+do_compile_prepend() {
+       # A compile time assert is broken:
+       # http://mxr.mozilla.org/mozilla-central/source/nsprpub/pr/include/prlog.h#259
+       for i in $(find ${S} -name "autoconf.mk") ; do 
+               sed -i -e s:fsigned-char:fno-signed-char:g $i
+       done
+
+       cp ${WORKDIR}/jsautocfg.h ${S}/js/src/
+       sed -i -e "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" \
+              -e  s:'$(OS_TEST)':${TARGET_ARCH}:g \
+                  ${S}/security/coreconf/Linux.mk
+}
+
+
+do_stage() {
+       :
+}      
+
+
+FILES_${PN} += "${libdir}/fennec" 
+