X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage5%2Fpkg%2Ffirefox;h=89352ed8be0506d069caaa7f991d96887ee761a9;hb=89b725d539327897df19c5ea824b094b1316f067;hp=e42e0be91a5e06bc09d718b50f35d82270261144;hpb=3dae4c554ec18f465eb6ee5e6efdbdbe8557e13c;p=hvlinux.git diff --git a/stage5/pkg/firefox b/stage5/pkg/firefox index e42e0be..89352ed 100644 --- a/stage5/pkg/firefox +++ b/stage5/pkg/firefox @@ -1,148 +1,130 @@ -#!/bin/sh -set -o errexit +#!/bin/bash -# First argument of this script is the package name +hvbuild() +{ + FIREFOX_BUILD_DIR="${PACKAGE}-build" + FIREFOX_VERSION="$(get_pkg_ver ${PACKAGE})" + FIREFOX_PKG_VERSION="firefox-$(get_pkg_ver ${PACKAGE})" -# Reading system configuration informations, functions and package versions. -source ../sysinfos -source ../functions -source ../packages-list + cd ${LFS_TMP}/${PACKAGE} -PACKAGE=${1} + echo "# This file contains the options used in the Firefox or Xulrunner build." > .mozconfig -# Applying patches (if any) -apply_patches ${PACKAGE} - -FIREFOX_BUILD_DIR="${1}-build" -FIREFOX_PKG_VERSION="firefox-$(get_pkg_ver ${PACKAGE})" - -cd ${LFS_TMP}/${PACKAGE} -cat > .mozconfig << "EOF" -# This file contains the options used in the Firefox build. - -# Use the default settings specified in the source tree -. $topsrcdir/browser/config/mozconfig - -# build the browser -ac_add_options --enable-application=browser + # Use the default settings specified in the source tree. + if [ "x${HVLABEL}" = "x${FIREFOX}-xulrunner" ]; then + echo '. $topsrcdir/xulrunner/config/mozconfig' >> .mozconfig + else + echo '. $topsrcdir/browser/config/mozconfig' >> .mozconfig + fi + cat >> .mozconfig << "EOF" # Create an object directory and specify to build the package in that # directory. If desired, modify the location of the object directory # to a directory inside the source tree by removing '../' from the # 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 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 +# System libraries ac_add_options --enable-system-cairo ac_add_options --enable-system-lcms ac_add_options --enable-system-sqlite -# comment this if you have not installed png with the apng patch +ac_add_options --with-system-libevent +ac_add_options --with-system-libvpx +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 -# This option is used to enable support for rendering SVG files in the -# Firefox browser. Comment out the line to disable the option. +ac_add_options --enable-shared-js +ac_add_options --enable-startup-notification ac_add_options --enable-svg +ac_add_options --with-pthreads -# These two options enable support for building Firefox with -# system-installed versions of the Network Security Services (NSS) -# and Netscape Portable Runtime (NSPR) libraries. We build these -# as part of xulrunner, so we can use them here. For a standalone -# firefox you might want to comment these. -#ac_add_options --with-system-nspr -#ac_add_options --with-system-nss +# Compile with a minimal level of optimization +ac_add_options --enable-optimize -# uncomment this if you did not build curl -ac_add_options --disable-crashreporter +# Remove the debugging symbols from the installed binaries. +ac_add_options --enable-strip +ac_add_options --enable-install-strip -# This option is added so that the Mozilla Installer program is not -# built or installed. The program is not required for a BLFS -# installation of Firefox. -ac_add_options --disable-installer +ac_add_options --with-system-nspr +ac_add_options --with-system-nss -# The updater is not useful if you build from source. +ac_add_options --disable-gnomevfs +ac_add_options --disable-crashreporter +ac_add_options --disable-installer ac_add_options --disable-updater - -# This option is used to disable the a11y support in the Firefox -# binaries. Comment out this option if you require a11y support. ac_add_options --disable-accessibility - -# This option is added so that test libraries and programs are not -# built. These would only be required for debugging purposes. ac_add_options --disable-tests - -# The mochitest is a separate test feature and has caused problems -# in the past. ac_add_options --disable-mochitest -# This option is used to enable source tree included LDAP support in -# the Firefox binaries. -################################################################### -# -# NOTE: You must uncomment this option if there is any chance of -# compiling the OpenOffice package from source code using this copy -# of Firefox for your Mozilla support. -# -################################################################### -# Removed this option to fix bug with: -# make[3]: Entering directory `/tmp/firefox-3.0.1-build/directory/c-sdk' -# make[3]: *** No targets specified and no makefile found. Stop. -######ac_add_options --enable-ldap - -# This option causes the installed binaries to have the official -# Firefox name embedded in them. Due to license restrictions, you -# may not distribute binaries created using this option. -ac_add_options --enable-official-branding - # use the anti-phishing blacklist ac_add_options --enable-safe-browsing -# This option is used so that the debugging symbols are removed from -# the installed binaries during the installation process. Comment out -# this option if you may have a need to retain the debugging symbols -# in the installed binaries. Note that this can substantially -# increase the size of the installed binaries. -ac_add_options --enable-strip - -# Point to the xulrunner libraries - comment this for a standalone browser -#ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-1.9.0.7 - +# If you enable javaxpcom, you must have a java compiler installed. +ac_add_options --disable-javaxpcom EOF -sed -i -e "s!_FIREFOX_BUILD_DIR_!${FIREFOX_BUILD_DIR}!g" .mozconfig - -make -f client.mk build -make -f client.mk install - -# Many applications look for netscape when they need to open a browser... -ln -v -sf firefox /usr/bin/netscape - -# Remove old links -rm -f /usr/lib/mozilla -rm -f /usr/lib/firefox -rm -f /usr/lib/${FIREFOX_PKG_VERSION}/plugins/libjavaplugin_oji.so - -ln -v -sf ${FIREFOX_PKG_VERSION} /usr/lib/mozilla -ln -v -sf ${FIREFOX_PKG_VERSION} /usr/lib/firefox -# To use the installed Java plugin. -ln -v -s ${JAVA_HOME}/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/${FIREFOX_PKG_VERSION}/plugins - -# Addition to /etc/ld.so.conf -# This is necessary for shared library libmozjs.so (needed by gxine) -string_add "/usr/lib/${FIREFOX_PKG_VERSION}" /etc/ld.so.conf - -ldconfig - -exit $? + 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=\$(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 + if [ -z "${WIFI_SUPPORT}" ]; then + echo "ac_add_options --disable-necko-wifi" >> .mozconfig + fi + + 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 + + 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" + 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 + ln -sfv ../lib/firefox-${FIREFOX_VERSION}/firefox /usr/bin + ln -sfv ../xulrunner-${FIREFOX_VERSION} /usr/lib/firefox-${FIREFOX_VERSION}/xulrunner + fi +}