Upgrade to firefox-22.0
[hvlinux.git] / stage5 / pkg / firefox
index 1035f82..ed6ab34 100644 (file)
@@ -24,29 +24,34 @@ hvbuild()
 # line below.
 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../_FIREFOX_BUILD_DIR_
 
-# Specify the installation prefix. If you would prefer Firefox
-# installed in a different prefix, modify the line below to fit
-# your needs. You'll also need to modify some of the instructions in
-# the BLFS book to point to your desired prefix.
 ac_add_options --prefix=/usr
 
-# Compile with a minimal level of optimization
-ac_add_options --enable-optimize
-
-# These options are used so that the Firefox or Xulrunner binaries are linked to
-# the system-installed copies of the specified libraries instead of
-# the source tree code which may not be the most recent versions.
-ac_add_options --with-system-zlib
-ac_add_options --with-system-jpeg
-ac_add_options --with-system-png
-
+# System libraries
 ac_add_options --enable-system-cairo
 ac_add_options --enable-system-lcms
 ac_add_options --enable-system-sqlite
+ac_add_options --with-system-libevent
 ac_add_options --with-system-libvpx
-ac_add_options --enable-startup-notification
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+# Temporary: system-jpeg uses turbo-jpeg, but there is a bug
+# as jpeg images are blank, so use internal jpeg lib.
+# ac_add_options --with-system-jpeg
+ac_add_options --with-system-png
+ac_add_options --enable-system-ffi
+ac_add_options --enable-system-pixman
 
+ac_add_options --enable-shared-js
+ac_add_options --enable-startup-notification
 ac_add_options --enable-svg
+ac_add_options --with-pthreads
+
+# Compile with a minimal level of optimization
+ac_add_options --enable-optimize
+
+# Remove the debugging symbols from the installed binaries.
+ac_add_options --enable-strip
+ac_add_options --enable-install-strip
 
 # These two options enable support for building Firefox with
 # system-installed versions of the Network Security Services (NSS)
@@ -57,7 +62,6 @@ ac_add_options --enable-svg
 #ac_add_options --with-system-nss
 
 ac_add_options --disable-gnomevfs
-
 ac_add_options --disable-crashreporter
 ac_add_options --disable-installer
 ac_add_options --disable-updater
@@ -68,9 +72,6 @@ ac_add_options --disable-mochitest
 # use the anti-phishing blacklist
 ac_add_options --enable-safe-browsing
 
-# Remove the debugging symbols from the installed binaries.
-ac_add_options --enable-strip
-
 # If you enable javaxpcom, you must have a java compiler installed.
 ac_add_options --disable-javaxpcom
 EOF
@@ -78,11 +79,16 @@ EOF
     if [ "x${HVLABEL}" = "x${FIREFOX}-browser" ]; then
         # Point to the xulrunner libraries.
         echo "ac_add_options --with-system-libxul" >> .mozconfig
-        echo "ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-${FIREFOX_VERSION}" >> .mozconfig
+        echo "ac_add_options --with-libxul-sdk=\$(pkg-config --variable=sdkdir libxul)" >> \
+            .mozconfig
 
         # This option causes the installed binaries to have the official
         # Firefox name embedded in them.
         echo "ac_add_options --enable-official-branding" >> .mozconfig
+        echo "ac_add_options --enable-url-classifier" >> .mozconfig
+
+        # Remove an unprintable control character from the title bar
+        sed -i 's@ ""@@' browser/base/Makefile.in
     fi
 
     sed -i -e "s!_FIREFOX_BUILD_DIR_!${FIREFOX_BUILD_DIR}!g" .mozconfig
@@ -90,26 +96,40 @@ EOF
         echo "ac_add_options --disable-necko-wifi" >> .mozconfig
     fi
 
-    make -f client.mk build
-    make -f client.mk install
+    make -f client.mk
+    make -C ${LFS_TMP}/${PACKAGE}-build install
 
     if [ "x${HVLABEL}" = "x${FIREFOX}-xulrunner" ]; then
         install -v -m755 -d /usr/lib/mozilla
 
+        mkdir -pv /usr/lib/xulrunner-${FIREFOX_VERSION}/plugins
+
         # Remove old links (if applicable) and create new ones
         rm -f /usr/lib/mozilla/plugins
         ln -sv /usr/lib/xulrunner-${FIREFOX_VERSION}/plugins /usr/lib/mozilla
-        chown -Rv root:root /usr/lib/xulrunner-* \
-            /usr/share/idl/xulrunner-* \
-            /usr/include/xulrunner-*
+
+        chmod -v 755 /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/sdk/bin/xpcshell
+
+        # The libraries shipped with this package are installed into
+        # /usr/lib/xulrunner-xxx, which means they will not be found at runtime.
+        # These commands make relative symbolic links to the shared libraries
+        # from /usr/lib. They will also replace duplicate libraries that are
+        # installed in /usr/lib/xulrunner-devel-xxx/sdk/lib with symlinks in
+        # order to save some space.
+        for library in libmozalloc.so libmozjs.so libxul.so; do
+            ln -sfv ../../../xulrunner-22.0/$library \
+                /usr/lib/xulrunner-devel-22.0/sdk/lib/$library
+            ln -sfv xulrunner-22.0/$library /usr/lib/$library
+        done
 
         # Fixes the error "run-mozilla.sh: no such file or directory"
-        ln -s /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/sdk/bin/run-mozilla.sh /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/bin
-        ln -s /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/sdk/bin/xpcshell       /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/bin
+        rm -f /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/bin/{run-mozilla.sh,xpcshell}
+        ln -sv /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/sdk/bin/run-mozilla.sh \
+            /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/bin
+        ln -sv /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/sdk/bin/xpcshell \
+            /usr/lib/xulrunner-devel-${FIREFOX_VERSION}/bin
     else
-        rm /usr/bin/firefox
-        echo "#!/bin/bash" > /usr/bin/firefox
-        echo "/usr/lib/xulrunner-${FIREFOX_VERSION}/xulrunner /usr/lib/firefox-${FIREFOX_VERSION}/application.ini \"\${@}\"" >> /usr/bin/firefox
-        chmod 755 /usr/bin/firefox
+        ln -sfv ../lib/firefox-${FIREFOX_VERSION}/firefox /usr/bin
+        ln -sfv ../xulrunner-${FIREFOX_VERSION} /usr/lib/firefox-${FIREFOX_VERSION}/xulrunner
     fi
 }