From 9bde98efe0f773f113eefe26762c2fd1bcc64b16 Mon Sep 17 00:00:00 2001 From: Graeme Gregory Date: Mon, 7 May 2007 11:31:23 +0000 Subject: firefox_1.0.7.bb : add patch from http://article.gmane.org/gmane.linux.debian.ports.arm/4082 by Lennert Buytenhek fix a small QA issue firefox_2.0.0.3 : new version with same patch as above added. --- packages/mozilla/firefox-1.0.7/mozilla-eabi.patch | 28 +++++++ .../mozilla/firefox-1.0.7/xptcinvoke-arm.patch | 11 +++ packages/mozilla/firefox-2.0.0.3/.mtn2git_empty | 0 .../firefox-2.0.0.3/jsautocfg-dontoverwrite.patch | 23 ++++++ .../firefox-2.0.0.3/jsdtoa-float-type.patch | 13 +++ packages/mozilla/firefox-2.0.0.3/mozconfig | 57 +++++++++++++ .../mozilla/firefox-2.0.0.3/mozilla-eabi.patch | 42 ++++++++++ .../mozilla/firefox-2.0.0.3/mult-crash-fix.patch | 14 ++++ .../mozilla/firefox-2.0.0.3/security-cross.patch | 93 ++++++++++++++++++++++ .../mozilla/firefox-2.0.0.3/xptcinvoke-arm.patch | 11 +++ packages/mozilla/firefox-2.0.0.3/xptcstubs.patch | 13 +++ packages/mozilla/firefox_1.0.7.bb | 6 +- packages/mozilla/firefox_2.0.0.3.bb | 37 +++++++++ 13 files changed, 347 insertions(+), 1 deletion(-) create mode 100644 packages/mozilla/firefox-1.0.7/mozilla-eabi.patch create mode 100644 packages/mozilla/firefox-1.0.7/xptcinvoke-arm.patch create mode 100644 packages/mozilla/firefox-2.0.0.3/.mtn2git_empty create mode 100644 packages/mozilla/firefox-2.0.0.3/jsautocfg-dontoverwrite.patch create mode 100644 packages/mozilla/firefox-2.0.0.3/jsdtoa-float-type.patch create mode 100644 packages/mozilla/firefox-2.0.0.3/mozconfig create mode 100644 packages/mozilla/firefox-2.0.0.3/mozilla-eabi.patch create mode 100644 packages/mozilla/firefox-2.0.0.3/mult-crash-fix.patch create mode 100644 packages/mozilla/firefox-2.0.0.3/security-cross.patch create mode 100644 packages/mozilla/firefox-2.0.0.3/xptcinvoke-arm.patch create mode 100644 packages/mozilla/firefox-2.0.0.3/xptcstubs.patch create mode 100644 packages/mozilla/firefox_2.0.0.3.bb (limited to 'packages/mozilla') diff --git a/packages/mozilla/firefox-1.0.7/mozilla-eabi.patch b/packages/mozilla/firefox-1.0.7/mozilla-eabi.patch new file mode 100644 index 0000000000..c12f6ef04e --- /dev/null +++ b/packages/mozilla/firefox-1.0.7/mozilla-eabi.patch @@ -0,0 +1,28 @@ +Index: mozilla/nsprpub/pr/src/misc/prdtoa.c +=================================================================== +--- mozilla.orig/nsprpub/pr/src/misc/prdtoa.c 2004-03-12 07:30:50.000000000 +0000 ++++ mozilla/nsprpub/pr/src/misc/prdtoa.c 2007-05-07 11:35:10.000000000 +0100 +@@ -132,8 +132,8 @@ + * is not strictly legal and can cause trouble with aggressively + * optimizing compilers (e.g., gcc 2.95.1 under -O2). + */ +-#if defined(__arm) || defined(__arm__) || defined(__arm26__) \ +- || defined(__arm32__) ++#if (defined(__arm) || defined(__arm__) || defined(__arm26__) \ ++ || defined(__arm32__)) && !defined(__ARM_EABI__) && !defined(__ARMEB__) + #define IEEE_ARM + #elif defined(IS_LITTLE_ENDIAN) + #define IEEE_8087 +Index: mozilla/nsprpub/pr/include/md/_linux.h +=================================================================== +--- mozilla.orig/nsprpub/pr/include/md/_linux.h 2005-05-04 19:06:17.000000000 +0100 ++++ mozilla/nsprpub/pr/include/md/_linux.h 2007-05-07 11:34:16.000000000 +0100 +@@ -285,7 +285,7 @@ + #error "Linux/MIPS pre-glibc2 not supported yet" + #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ + +-#elif defined(__arm__) ++#elif defined(__arm__) && !defined(__ARM_EABI__) + /* ARM/Linux */ + #if defined(__GLIBC__) && __GLIBC__ >= 2 + #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20] diff --git a/packages/mozilla/firefox-1.0.7/xptcinvoke-arm.patch b/packages/mozilla/firefox-1.0.7/xptcinvoke-arm.patch new file mode 100644 index 0000000000..bc0c6f4e5c --- /dev/null +++ b/packages/mozilla/firefox-1.0.7/xptcinvoke-arm.patch @@ -0,0 +1,11 @@ +--- iceweasel-2.0.0.1+dfsg.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp ++++ iceweasel-2.0.0.1+dfsg/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp +@@ -212,7 +212,7 @@ + "add sp, sp, r4 \n\t" /* restore stack pointer */ + "mov %0, r0 \n\t" /* the result... */ + : "=r" (result) +- : "r" (&my_params) ++ : "r" (&my_params), "m" (my_params) + : "r0", "r1", "r2", "r3", "r4", "ip", "lr", "sp" + ); + diff --git a/packages/mozilla/firefox-2.0.0.3/.mtn2git_empty b/packages/mozilla/firefox-2.0.0.3/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/mozilla/firefox-2.0.0.3/jsautocfg-dontoverwrite.patch b/packages/mozilla/firefox-2.0.0.3/jsautocfg-dontoverwrite.patch new file mode 100644 index 0000000000..39978cfd11 --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.3/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/packages/mozilla/firefox-2.0.0.3/jsdtoa-float-type.patch b/packages/mozilla/firefox-2.0.0.3/jsdtoa-float-type.patch new file mode 100644 index 0000000000..028900fa1b --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.3/jsdtoa-float-type.patch @@ -0,0 +1,13 @@ +Index: mozilla/js/src/jsdtoa.c +=================================================================== +--- mozilla.orig/js/src/jsdtoa.c ++++ mozilla/js/src/jsdtoa.c +@@ -175,7 +175,7 @@ + * #define NO_IEEE_Scale to disable new (Feb. 1997) logic in strtod that + * avoids underflows on inputs whose result does not underflow. + */ +-#ifdef IS_LITTLE_ENDIAN ++#if defined(IS_LITTLE_ENDIAN) && (!defined(__arm__) || defined(__VFP_FP__)) + #define IEEE_8087 + #else + #define IEEE_MC68k diff --git a/packages/mozilla/firefox-2.0.0.3/mozconfig b/packages/mozilla/firefox-2.0.0.3/mozconfig new file mode 100644 index 0000000000..9737330a77 --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.3/mozconfig @@ -0,0 +1,57 @@ +. $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-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 + +# 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 --enable-debug=-ggdb +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 + +# 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,jar,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=-O1 diff --git a/packages/mozilla/firefox-2.0.0.3/mozilla-eabi.patch b/packages/mozilla/firefox-2.0.0.3/mozilla-eabi.patch new file mode 100644 index 0000000000..fe9adf088e --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.3/mozilla-eabi.patch @@ -0,0 +1,42 @@ +--- nspr-4.6.6/mozilla/nsprpub/pr/src/misc/prdtoa.c.orig 2007-05-06 02:39:00.000000000 +0200 ++++ nspr-4.6.6/mozilla/nsprpub/pr/src/misc/prdtoa.c 2007-05-06 02:39:22.000000000 +0200 +@@ -59,8 +59,8 @@ + /* FIXME: deal with freelist and p5s. */ + } + +-#if defined(__arm) || defined(__arm__) || defined(__arm26__) \ +- || defined(__arm32__) ++#if (defined(__arm) || defined(__arm__) || defined(__arm26__) \ ++ || defined(__arm32__)) && !defined(__ARM_EABI__) && !defined(__ARMEB__) + #define IEEE_ARM + #elif defined(IS_LITTLE_ENDIAN) + #define IEEE_8087 +--- nspr-4.6.6/mozilla/nsprpub/pr/include/md/_linux.h.orig 2007-05-06 02:39:45.000000000 +0200 ++++ nspr-4.6.6/mozilla/nsprpub/pr/include/md/_linux.h 2007-05-06 02:40:57.000000000 +0200 +@@ -346,7 +346,7 @@ + #error "Linux/MIPS pre-glibc2 not supported yet" + #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ + +-#elif defined(__arm__) ++#elif defined(__arm__) && !defined(__ARM_EABI__) + /* ARM/Linux */ + #if defined(__GLIBC__) && __GLIBC__ >= 2 + #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20] + -358,6 +358,18 + #error "ARM/Linux pre-glibc2 not supported yet" + #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ + ++#elif defined(__arm__) && defined(__ARM_EABI__) ++/* ARM/Linux */ ++#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 + diff --git a/packages/mozilla/firefox-2.0.0.3/mult-crash-fix.patch b/packages/mozilla/firefox-2.0.0.3/mult-crash-fix.patch new file mode 100644 index 0000000000..cb30f896ed --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.3/mult-crash-fix.patch @@ -0,0 +1,14 @@ +$OpenBSD: patch-nsprpub_pr_src_misc_prdtoa_c,v 1.1 2005/11/03 00:59:43 pvalchev Exp $ +Index: mozilla/nsprpub/pr/src/misc/prdtoa.c +=================================================================== +--- mozilla.orig/nsprpub/pr/src/misc/prdtoa.c ++++ mozilla/nsprpub/pr/src/misc/prdtoa.c +@@ -855,7 +855,7 @@ mult + wc = wa + wb; + if (wc > a->maxwds) + k++; +- c = Balloc(k); ++ c = Balloc(k*2); + for(x = c->x, xa = x + wc; x < xa; x++) + *x = 0; + xa = a->x; diff --git a/packages/mozilla/firefox-2.0.0.3/security-cross.patch b/packages/mozilla/firefox-2.0.0.3/security-cross.patch new file mode 100644 index 0000000000..56c8d04a9e --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.3/security-cross.patch @@ -0,0 +1,93 @@ +--- mozilla/security/coreconf/Linux.mk.orig 2006-12-12 10:53:12.000000000 +0000 ++++ mozilla/security/coreconf/Linux.mk 2006-12-12 10:54:13.000000000 +0000 +@@ -52,88 +52,8 @@ + + DEFAULT_COMPILER = gcc + +-ifeq ($(OS_TEST),m68k) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = m68k +-else +-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),ppc) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = ppc +-else +-ifeq ($(OS_TEST),alpha) +- OS_REL_CFLAGS = -D_ALPHA_ -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = alpha +-else +-ifeq ($(OS_TEST),ia64) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = ia64 +-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),sparc) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = sparc +-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 ($(OS_TEST),parisc) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = hppa +-else +-ifeq ($(OS_TEST),parisc64) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = hppa +-else +-ifeq ($(OS_TEST),s390) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = s390 +-else +-ifeq ($(OS_TEST),s390x) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = s390x +-else +-ifeq ($(OS_TEST),mips) +- OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE +- CPU_ARCH = mips +-else +- OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE +- CPU_ARCH = x86 +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +-endif +- ++OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE ++CPU_ARCH = + + LIBC_TAG = _glibc + diff --git a/packages/mozilla/firefox-2.0.0.3/xptcinvoke-arm.patch b/packages/mozilla/firefox-2.0.0.3/xptcinvoke-arm.patch new file mode 100644 index 0000000000..bc0c6f4e5c --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.3/xptcinvoke-arm.patch @@ -0,0 +1,11 @@ +--- iceweasel-2.0.0.1+dfsg.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp ++++ iceweasel-2.0.0.1+dfsg/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp +@@ -212,7 +212,7 @@ + "add sp, sp, r4 \n\t" /* restore stack pointer */ + "mov %0, r0 \n\t" /* the result... */ + : "=r" (result) +- : "r" (&my_params) ++ : "r" (&my_params), "m" (my_params) + : "r0", "r1", "r2", "r3", "r4", "ip", "lr", "sp" + ); + diff --git a/packages/mozilla/firefox-2.0.0.3/xptcstubs.patch b/packages/mozilla/firefox-2.0.0.3/xptcstubs.patch new file mode 100644 index 0000000000..f2645690f4 --- /dev/null +++ b/packages/mozilla/firefox-2.0.0.3/xptcstubs.patch @@ -0,0 +1,13 @@ +--- iceweasel-2.0.0.1+dfsg.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp ++++ iceweasel-2.0.0.1+dfsg/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp +@@ -45,7 +45,8 @@ + #endif + + /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ +-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); ++static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch") ++__attribute__((used)); + + static nsresult + PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) + diff --git a/packages/mozilla/firefox_1.0.7.bb b/packages/mozilla/firefox_1.0.7.bb index 3a82dafd92..dd4d734f89 100644 --- a/packages/mozilla/firefox_1.0.7.bb +++ b/packages/mozilla/firefox_1.0.7.bb @@ -5,7 +5,9 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/ file://firefox-cc-fix.patch;patch=1 \ file://jsautocfg.h \ file://extensions-hack.patch;patch=1 \ - file://firefox-1.0-gcc4-compile.patch;patch=1;pnum=0" + file://firefox-1.0-gcc4-compile.patch;patch=1;pnum=0 \ + file://xptcinvoke-arm.patch;patch=1 \ + file://mozilla-eabi.patch;patch=1" S = "${WORKDIR}/mozilla" @@ -13,6 +15,8 @@ inherit mozilla require firefox.inc +EXTRA_OECONF += " --with-gssapi=${STAGINGLIBDIR}/../" + do_compile_prepend() { cp ${WORKDIR}/jsautocfg.h ${S}/js/src/ } diff --git a/packages/mozilla/firefox_2.0.0.3.bb b/packages/mozilla/firefox_2.0.0.3.bb new file mode 100644 index 0000000000..db3729c274 --- /dev/null +++ b/packages/mozilla/firefox_2.0.0.3.bb @@ -0,0 +1,37 @@ +PR = "r1" +SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${PV}/source/firefox-${PV}-source.tar.bz2 \ + file://xptcstubs.patch;patch=1 \ + file://no-xmb.patch;patch=1 \ + file://jsautocfg.h \ + file://extensions-hack.patch;patch=1 \ + file://security-cross.patch;patch=1 \ + file://jsautocfg-dontoverwrite.patch;patch=1 \ + file://xptcinvoke-arm.patch;patch=1 \ + file://mozilla-eabi.patch;patch=1;pnum=2 \ + " +S = "${WORKDIR}/mozilla" +DEFAULT_PREFERENCE = "-1" + +inherit mozilla + +require firefox.inc + +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}/${P} + cd dist/sdk/include + headers=`find . -name "*.h"` + for f in $headers + do + install -D -m 0644 $f ${STAGING_INCDIR}/${P}/$f + done + # removes 2 lines that call absent headers + sed -e '178,179d' ${STAGING_INCDIR}/${P}/nsIServiceManager.h +} + -- cgit v1.2.3