#!/bin/sh
CWD=`pwd`
TMP=${TMP:-/tmp}
PKG=$TMP/package-mozilla-firefox
# XXX XXX XXX XXX
# IMPORTANT!
# If you use this script yourself, you *MUST* remove --enable-official-branding,
# unless you have permission from the mozilla foundation.
# XXX XXX XXX XXX
VERSION=2.0.0.7
ARCH=${ARCH:-i686}
BUILD=${BUILD:-1}
# "-O" is the default, as few changes as possible to defaults for Firefox and Thunderbird
if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O"
elif [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O3 -march=i686 -mtune=i686"
#elif [ "$ARCH" = "s390" ]; then
# SLKCFLAGS="-O"
#elif [ "$ARCH" = "x86_64" ]; then
# SLKCFLAGS="-O -fPIC"
fi
if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
rm -rf $PKG
mkdir -p $PKG/usr/lib
cd $TMP
tar jxvf $CWD/firefox-$VERSION-source.tar.bz2
cd mozilla
chown -R root:root .
find . -perm 664 -exec chmod 644 {} \;
find . -perm 775 -exec chmod 755 {} \;
# Otherwise we get the error normally related to -fPIC on non-x86:
#zcat $CWD/visibility-mozconfig.gz > .mozconfig
export MOZILLA_OFFICIAL="1" &&
export BUILD_OFFICIAL="1" &&
export MOZ_PHOENIX="1" &&
export CFLAGS="$SLKCFLAGS" &&
export CXXFLAGS="$SLKCFLAGS" &&
./configure --prefix=/usr \
--libdir=/usr/lib \
--with-default-mozilla-five-home=/usr/lib/firefox-$VERSION \
--with-system-zlib \
--with-system-png \
--enable-application=browser \
--enable-default-toolkit=gtk2 \
--with-ft-prefix=/usr \
--with-ft-exec-prefix=/usr \
--with-gtk-prefix=/usr \
--with-gtk-exec-prefix=/usr \
--enable-crypto \
--disable-xft \
--with-x \
--enable-system-cairo \
--disable-xinerama \
--enable-optimize \
--enable-reorder \
--enable-strip \
--enable-cpp-rtti \
--enable-extensions \
--enable-single-profile \
--enable-freetype2 \
--disable-accessibility \
--disable-debug \
--enable-tests \
--disable-logging \
--disable-pedantic \
--disable-installer \
--disable-mailnews \
--disable-ldap \
--disable-composer \
--disable-profilesharing
make -j6
make install DESTDIR=$PKG || exit 1
( cd $PKG/usr/lib/firefox-$VERSION
zcat $CWD/mozilla-firefox-thunderbird.diff.gz | patch -p1 --verbose
if [ ! $? = 0 ]; then
exit 1
fi
cd $PKG/usr/bin
zcat $CWD/firefox.moz_plugin_path.diff.gz | patch -p1 --verbose
if [ ! $? = 0 ]; then
exit 1
fi
)
( cd $PKG/usr/bin
chown -R root:root .
)
mkdir -p $PKG/usr/lib/mozilla/plugins
mkdir -p $PKG/usr/share/applications
cat $CWD/mozilla-firefox.desktop > $PKG/usr/share/applications/mozilla-firefox.desktop
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/firefox.png > $PKG/usr/share/pixmaps/firefox.png
# These files/directories are usually created if Firefox is run as root, which on many
# systems might (and possibly should) be never. Therefore, if we don't see them we'll
# put stubs in place to prevent startup errors.
( cd $PKG/usr/lib/firefox-$VERSION
if [ -d extensions/talkback\@mozilla.org ]; then
if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then
echo > extensions/talkback\@mozilla.org/chrome.manifest
fi
fi
if [ ! -d updates ]; then
mkdir -p updates/0
fi
# Some icons aren't in the right place
mkdir -p chrome/icons/default
cp icons/{default,mozicon50}.xpm chrome/icons/default/
)
mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-${ARCH}-$BUILD.tgz