#!/bin/sh
CWD=`pwd`
TMP=${TMP:-/tmp}
PKG=$TMP/package-mozilla-firefox

# This is not a source build script.  Rather, it builds a Slackware
# package from the official binary tarball available from mozilla.org.
# Using the official binaries seems like the most direct way to satify
# the Mozilla project's concerns about quality control (and thus to
# provide the most quality-certified package possible), and therefore
# be able to use the official trademarks and logos.
#
# Thanks to the folks at the Mozilla Foundation for permission to
# distribute this, and for all the great work!  :-)

VERSION=3.0.4
ARCH=${ARCH:-i686}
BUILD=1

if [ ! -d $TMP ]; then
  mkdir -p $TMP
fi
rm -rf $PKG
mkdir -p $PKG/usr/lib
( cd $PKG/usr/lib
  tar xf $CWD/firefox-$VERSION.tar.bz2 || exit 1
  mv firefox firefox-$VERSION
  ln -sf firefox-$VERSION firefox
  cd firefox-$VERSION
  zcat $CWD/mozilla-firefox-simple.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
  if [ ! $? = 0 ]; then
    exit 1
  fi
  zcat $CWD/mozilla-firefox-mimeTypes-fix.diff.gz | patch -p1 --verbose --suffix=.orig || exit 1
  if [ ! $? = 0 ]; then
    exit 1
  fi
  zcat $CWD/firefox.moz_plugin_path.diff.gz | patch -p1 --verbose --suffix=.orig || exit 1
  if [ ! $? = 0 ]; then
    exit 1
  fi
  rm -f defaults/pref/firefox.js.orig
)
if [ ! $? = 0 ]; then
  exit 1
fi
mkdir -p $PKG/usr/bin
( cd $PKG/usr/bin
  ln -sf /usr/lib/firefox-$VERSION/firefox .
)
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
)

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