#!/bin/sh
#
# Most of this script was taken from the slamd64 project.
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=1.5.0.12
ARCH=${ARCH:-sparc}
BUILD=${BUILD:-1}

if [ "$ARCH" = "i386" ]; then
  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
elif [ "$ARCH" = "sparc" ]; then
  SLKCFLAGS="-O2 -m32 -mcpu=v8 -mtune=v9"
else
  SLKCFLAGS="-O2"
fi

if [ ! -d $TMP ]; then
  mkdir -p $TMP
fi
rm -rf $PKG
#mkdir -p $PKG/usr/lib64
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 {} \;

# removed: (we don't have permission)
# --enable-official-branding \
export MOZILLA_OFFICIAL="1" &&
export BUILD_OFFICIAL="1" &&
export MOZ_PHOENIX="1" &&
./configure --prefix=/usr \
	--enable-optimize="$SLKCFLAGS" \
	--libdir=/usr/lib \
	--with-default-mozilla-five-home=/usr/lib/firefox-$VERSION \
	--with-user-appdir=.firefox \
	--with-system-zlib \
	--with-system-png \
	--enable-application=browser \
	--enable-default-toolkit=gtk2 \
	--enable-crypto \
	--enable-xft \
	--enable-xinerama \
	--enable-optimize \
	--enable-reorder \
	--enable-strip \
	--enable-cpp-rtti \
	--enable-single-profile \
	--disable-freetype2 \
	--disable-accessibility \
	--disable-debug \
	--disable-tests \
	--disable-logging \
	--disable-pedantic \
	--disable-installer \
	--disable-mailnews \
	--disable-ldap \
	--disable-composer \
	--disable-profilesharing

make
make install DESTDIR=$PKG

( 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
