[oe-commits] : firefox: add 3.1 alpha 2

OE GIT Trial gittrial at amethyst.openembedded.net
Sat Sep 20 15:32:09 UTC 2008


Module: OE.dev
Branch: master
Commit: 4e1bf6008809e71a7d03c01d0d47ced0a7cf641f
URL:    http://gitweb.openembedded.net//OE.dev.git/?a=commit;h=4e1bf6008809e71a7d03c01d0d47ced0a7cf641f

Author:  <koen at openembedded.org>
Date:   Sat Sep 20 13:58:46 2008 +0000

firefox: add 3.1 alpha 2
* works on armv7a

---

 packages/mozilla/firefox-3.0.1+3.1a2/arm/mozconfig |   67 ++++++++++++++++++++
 .../jsautocfg-dontoverwrite.patch                  |   23 +++++++
 packages/mozilla/firefox-3.0.1+3.1a2/mozconfig     |   66 +++++++++++++++++++
 .../firefox-3.0.1+3.1a2/random_to_urandom.diff     |   26 ++++++++
 packages/mozilla/firefox.inc                       |   16 +++--
 packages/mozilla/firefox_3.1a2.bb                  |   47 ++++++++++++++
 6 files changed, 238 insertions(+), 7 deletions(-)

diff --git a/packages/mozilla/firefox-3.0.1+3.1a2/.mtn2git_empty b/packages/mozilla/firefox-3.0.1+3.1a2/.mtn2git_empty
new file mode 100644
index 0000000..e69de29
diff --git a/packages/mozilla/firefox-3.0.1+3.1a2/arm/.mtn2git_empty b/packages/mozilla/firefox-3.0.1+3.1a2/arm/.mtn2git_empty
new file mode 100644
index 0000000..e69de29
diff --git a/packages/mozilla/firefox-3.0.1+3.1a2/arm/mozconfig b/packages/mozilla/firefox-3.0.1+3.1a2/arm/mozconfig
new file mode 100644
index 0000000..094a0ff
--- /dev/null
+++ b/packages/mozilla/firefox-3.0.1+3.1a2/arm/mozconfig
@@ -0,0 +1,67 @@
+. $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 --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
+ac_add_options --with-arm-kuser
+
+# Use cairo from system
+ac_add_options --enable-system-cairo
+
+# Disable jemalloc
+ac_add_options --disable-jemalloc
+
+# enable libxul
+ac_add_options --enable-libxul
diff --git a/packages/mozilla/firefox-3.0.1+3.1a2/jsautocfg-dontoverwrite.patch b/packages/mozilla/firefox-3.0.1+3.1a2/jsautocfg-dontoverwrite.patch
new file mode 100644
index 0000000..39978cf
--- /dev/null
+++ b/packages/mozilla/firefox-3.0.1+3.1a2/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-3.0.1+3.1a2/mozconfig b/packages/mozilla/firefox-3.0.1+3.1a2/mozconfig
new file mode 100644
index 0000000..cd09716
--- /dev/null
+++ b/packages/mozilla/firefox-3.0.1+3.1a2/mozconfig
@@ -0,0 +1,66 @@
+. $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 --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
diff --git a/packages/mozilla/firefox-3.0.1+3.1a2/random_to_urandom.diff b/packages/mozilla/firefox-3.0.1+3.1a2/random_to_urandom.diff
new file mode 100644
index 0000000..f969752
--- /dev/null
+++ b/packages/mozilla/firefox-3.0.1+3.1a2/random_to_urandom.diff
@@ -0,0 +1,26 @@
+# Component manager should not use /dev/random for generation ranodm numbers
+# It cause hangs on embedding platforms,which does not have enough devices for generation required entropy
+# Bug somewhere exists but it is very old
+Index: nsprpub/pr/src/md/unix/uxrng.c
+===================================================================
+--- mozilla/nsprpub/pr/src/md/unix/uxrng.c.orig
++++ mozilla/nsprpub/pr/src/md/unix/uxrng.c
+@@ -144,17 +144,17 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ 
+ static int      fdDevRandom;
+ static PRCallOnceType coOpenDevRandom;
+ 
+ static PRStatus OpenDevRandom( void )
+ {
+-    fdDevRandom = open( "/dev/random", O_RDONLY );
++    fdDevRandom = open( "/dev/urandom", O_RDONLY );
+     return((-1 == fdDevRandom)? PR_FAILURE : PR_SUCCESS );
+ } /* end OpenDevRandom() */
+ 
+ static size_t GetDevRandom( void *buf, size_t size )
+ {
+     int bytesIn;
+     int rc;
+ 
diff --git a/packages/mozilla/firefox.inc b/packages/mozilla/firefox.inc
index 5b9acf9..b45ac68 100644
--- a/packages/mozilla/firefox.inc
+++ b/packages/mozilla/firefox.inc
@@ -1,22 +1,24 @@
 SRC_URI += "file://mozilla-${PN}.png file://mozilla-${PN}.desktop"
 
+MOZPV ?= "${PV}"
+
 PACKAGES =+ "${PN}-inspector"
 
 PACKAGES += "${PN}-sdk"
 
-FILES_${PN}-inspector = "	${libdir}/${PN}-${PV}/chrome/inspector* \
-				${libdir}/${PN}-${PV}/components/*nspector* \
-				${libdir}/${PN}-${PV}/extensions/inspector* \
-				${libdir}/${PN}-${PV}/defaults/preferences/inspector* \
+FILES_${PN}-inspector = "	${libdir}/${PN}-${MOZPV}/chrome/inspector* \
+				${libdir}/${PN}-${MOZPV}/components/*nspector* \
+				${libdir}/${PN}-${MOZPV}/extensions/inspector* \
+				${libdir}/${PN}-${MOZPV}/defaults/preferences/inspector* \
 				"
 FILES_${PN} = "${bindir}/${PN} \
                ${datadir}/applications/ \
 	       ${datadir}/pixmaps/ \
-	       ${libdir}/${PN}-${PV}/* \
-	       ${libdir}/${PN}-${PV}/.autoreg \
+	       ${libdir}/${PN}-${MOZPV}/* \
+	       ${libdir}/${PN}-${MOZPV}/.autoreg \
 	       ${bindir}/defaults"
 FILES_${PN}-dev += "${datadir}/idl ${bindir}/${PN}-config"
-FILES_${PN}-sdk += "${libdir}/${PN}-devel-${PV}"
+FILES_${PN}-sdk += "${libdir}/${PN}-devel-${MOZPV}"
 FILES_${PN}-dbg += "	${libdir}/${PN}-*/.debug \
 			${libdir}/${PN}-*/*/.debug \
 			${libdir}/${PN}-*/*/*/.debug \	
diff --git a/packages/mozilla/firefox_3.1a2.bb b/packages/mozilla/firefox_3.1a2.bb
new file mode 100644
index 0000000..5e7c996
--- /dev/null
+++ b/packages/mozilla/firefox_3.1a2.bb
@@ -0,0 +1,47 @@
+DEPENDS += "cairo"
+
+PV = "3.0.1+3.1a2"
+MOZPV = "3.1a2"
+
+
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/${MOZPV}-candidates/build1/firefox-${MOZPV}-source.tar.bz2 \
+	file://jsautocfg.h \
+	file://jsautocfg-dontoverwrite.patch;patch=1 \
+	file://random_to_urandom.diff;patch=1 \
+"
+
+S = "${WORKDIR}/"
+
+DEFAULT_PREFERENCE = "-1"
+
+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
+}
+





More information about the Openembedded-commits mailing list