From b1b029537f885bb27314552f21a159d6b75895d4 Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Mon, 2 Nov 2009 11:22:10 +0100 Subject: firefox: add 3.5.4 --- .../0001-Remove-Werror-from-build.patch | 43 +++++++++++++ ...ecurity-cross-compile-cpu-detection-error.patch | 42 +++++++++++++ .../firefox-3.5.4/010_FPU_IS_ARM_FPA_xslt.diff | 56 +++++++++++++++++ .../firefox-3.5.4/Bug339782.additional.fix.diff | 39 ++++++++++++ .../firefox-3.5.4/Bug385583.nspr.jmp_buf.eabi.diff | 33 ++++++++++ .../firefox-3.5.4/Bug405992.atomic.nspr.diff | 48 +++++++++++++++ .../mozilla/firefox-3.5.4/configure-wchart.patch | 11 ++++ recipes/mozilla/firefox-3.5.4/jemalloc-tls.patch | 28 +++++++++ .../firefox-3.5.4/jsautocfg-dontoverwrite.patch | 23 +++++++ .../mozilla/firefox-3.5.4/linkage-problem.patch | 14 +++++ recipes/mozilla/firefox-3.5.4/mozconfig | 72 ++++++++++++++++++++++ recipes/mozilla/firefox-3.5.4/plugins-dir.patch | 16 +++++ recipes/mozilla/firefox-3.5.4/security-cross.patch | 64 +++++++++++++++++++ recipes/mozilla/firefox_3.5.4.bb | 72 ++++++++++++++++++++++ recipes/mozilla/firefox_3.5b4.bb | 46 ++++++++++++++ recipes/mozilla/firefox_hg.bb | 52 ++++++++++++++++ 16 files changed, 659 insertions(+) create mode 100644 recipes/mozilla/firefox-3.5.4/0001-Remove-Werror-from-build.patch create mode 100644 recipes/mozilla/firefox-3.5.4/0002-Fix-security-cross-compile-cpu-detection-error.patch create mode 100644 recipes/mozilla/firefox-3.5.4/010_FPU_IS_ARM_FPA_xslt.diff create mode 100644 recipes/mozilla/firefox-3.5.4/Bug339782.additional.fix.diff create mode 100644 recipes/mozilla/firefox-3.5.4/Bug385583.nspr.jmp_buf.eabi.diff create mode 100644 recipes/mozilla/firefox-3.5.4/Bug405992.atomic.nspr.diff create mode 100644 recipes/mozilla/firefox-3.5.4/configure-wchart.patch create mode 100644 recipes/mozilla/firefox-3.5.4/jemalloc-tls.patch create mode 100644 recipes/mozilla/firefox-3.5.4/jsautocfg-dontoverwrite.patch create mode 100644 recipes/mozilla/firefox-3.5.4/linkage-problem.patch create mode 100644 recipes/mozilla/firefox-3.5.4/mozconfig create mode 100644 recipes/mozilla/firefox-3.5.4/plugins-dir.patch create mode 100644 recipes/mozilla/firefox-3.5.4/security-cross.patch create mode 100644 recipes/mozilla/firefox_3.5.4.bb create mode 100644 recipes/mozilla/firefox_3.5b4.bb create mode 100644 recipes/mozilla/firefox_hg.bb (limited to 'recipes/mozilla') 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 index 0000000000..008dabbe8d --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/0001-Remove-Werror-from-build.patch @@ -0,0 +1,43 @@ +From 48a378ae647cbd6f8466bd0e8dbb04400bb175a8 Mon Sep 17 00:00:00 2001 +From: Eduardo Valentin +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 +--- + 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 index 0000000000..ce8d4d9948 --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/0002-Fix-security-cross-compile-cpu-detection-error.patch @@ -0,0 +1,42 @@ +From 599b26141d493ff19633796ce5e19b00315d3821 Mon Sep 17 00:00:00 2001 +From: Eduardo Valentin +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 +--- + 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 index 0000000000..854100c4c3 --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/010_FPU_IS_ARM_FPA_xslt.diff @@ -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 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 index 0000000000..0848e730d3 --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/Bug339782.additional.fix.diff @@ -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 index 0000000000..486440c30e --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/Bug385583.nspr.jmp_buf.eabi.diff @@ -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 index 0000000000..f54f916a6a --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/Bug405992.atomic.nspr.diff @@ -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 index 0000000000..36ee2a0ba4 --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/configure-wchart.patch @@ -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 ++ [AC_TRY_COMPILE([#include + $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 index 0000000000..d1d740989e --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/jemalloc-tls.patch @@ -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 index 0000000000..39978cfd11 --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/jsautocfg-dontoverwrite.patch @@ -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 index 0000000000..28bffd1e22 --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/linkage-problem.patch @@ -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 index 0000000000..d8d3f3923d --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/mozconfig @@ -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 index 0000000000..2c8b8e9bd1 --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/plugins-dir.patch @@ -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 index 0000000000..b6c32fe52f --- /dev/null +++ b/recipes/mozilla/firefox-3.5.4/security-cross.patch @@ -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 index 0000000000..ea524d181e --- /dev/null +++ b/recipes/mozilla/firefox_3.5.4.bb @@ -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 index 0000000000..149ee3cbdf --- /dev/null +++ b/recipes/mozilla/firefox_3.5b4.bb @@ -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 index 0000000000..17a46ee1c8 --- /dev/null +++ b/recipes/mozilla/firefox_hg.bb @@ -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" + -- cgit 1.2.3-korg