summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraeme Gregory <dp@xora.org.uk>2007-05-07 11:31:23 +0000
committerGraeme Gregory <dp@xora.org.uk>2007-05-07 11:31:23 +0000
commit9bde98efe0f773f113eefe26762c2fd1bcc64b16 (patch)
tree2c961f585a30348649da951d234e8c541584739e
parent15df48be127ab405f0696157b522a4d2a6048c22 (diff)
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.
-rw-r--r--packages/mozilla/firefox-1.0.7/mozilla-eabi.patch28
-rw-r--r--packages/mozilla/firefox-1.0.7/xptcinvoke-arm.patch11
-rw-r--r--packages/mozilla/firefox-2.0.0.3/.mtn2git_empty0
-rw-r--r--packages/mozilla/firefox-2.0.0.3/jsautocfg-dontoverwrite.patch23
-rw-r--r--packages/mozilla/firefox-2.0.0.3/jsdtoa-float-type.patch13
-rw-r--r--packages/mozilla/firefox-2.0.0.3/mozconfig57
-rw-r--r--packages/mozilla/firefox-2.0.0.3/mozilla-eabi.patch42
-rw-r--r--packages/mozilla/firefox-2.0.0.3/mult-crash-fix.patch14
-rw-r--r--packages/mozilla/firefox-2.0.0.3/security-cross.patch93
-rw-r--r--packages/mozilla/firefox-2.0.0.3/xptcinvoke-arm.patch11
-rw-r--r--packages/mozilla/firefox-2.0.0.3/xptcstubs.patch13
-rw-r--r--packages/mozilla/firefox_1.0.7.bb6
-rw-r--r--packages/mozilla/firefox_2.0.0.3.bb37
13 files changed, 347 insertions, 1 deletions
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
--- /dev/null
+++ b/packages/mozilla/firefox-2.0.0.3/.mtn2git_empty
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]
+ <at> <at> -358,6 +358,18 <at> <at>
+ #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
+}
+