#!/bin/sh
#
# Copyright 2005 Paul Blazejowski <paulb@blazebox.homeip.net>
# Available under the terms of the GNU GPL.
#

NAME="mozilla-firefox"
VERSION="1.5"
REVISION="2"
PKG_SOURCEURL='http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/$VERSION/source/firefox-$VERSION-source.tar.bz2'
PKG_SOURCEMD5=''
PKG_TARBALL=firefox-$VERSION-source
PKG_PATCH[0]="firefox-dropline-homepage.patch"
PKG_PATCH[1]="firefox-dropline-pref.patch"
PKG_PATCH[2]="firefox-disable-popups.patch"
PKG_PATCH[3]="firefox-typeaheadfind-ephy.patch"
PKG_PATCH[4]="firefox-unversiondir.patch"
PKG_PATCH[5]="firefox-nopangoxft.patch"
PKG_PATCH[6]="firefox-cairo-canvas.patch"
PKG_PATCH[7]="firefox-1.5-gtk.patch"
PKG_PATCH[8]="bookmarks.html"
PKG_PATCH[9]="doinst.sh"
PKG_PATCH[10]="mozconfig-fx"
PKG_PATCH[11]="mozilla-firefox.desktop"

. $DLG_ROOT/config
. $DLG_ROOT/SCRIPTS/dropline-functions.sh

# This build script uses it's own CFLAGS;CXXFLAGS
#cflags ""
#cxxflags ""
prepare
applypatch 0 1
applypatch 1 1
applypatch 2 1
applypatch 3 1
applypatch 4 1
applypatch 5 1
applypatch 6 0
applypatch 7 1
analyzesource

# We use mozconfig, no need to pass
# any arguments to configure :-)
findpatch filename mozconfig-fx
spewdo "cp $filename $PKG_SRCROOT/.mozconfig"
export MOZ_PHOENIX=1 BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1
export LDFLAGS="-O3 -march=i686 -fPIC -pipe -Wl,--as-needed"

configure
make -j2
makeinstall
# makecheck function no worky here :-(
#makecheck
tidydocumentation
analyzebinaries

# We don't need CVS repo entries in the docs :D
removedir $PKG_STAGEROOT$PKG_PREFIX/doc/$NAME-$VERSION/README

# Move back the startup script to it's original location
# and create a symlink to firefox caller script.
spewdo "cd $PKG_STAGEROOT$PKG_PREFIX/bin"
spewdo "mv firefox $PKG_STAGEROOT$PKG_PREFIX/lib/firefox"
spewdo "ln -sf ../lib/firefox/firefox firefox"

# copy the NSS files to INCLUDE dir and make a symlink to firefox
createdir $PKG_STAGEROOT$PKG_PREFIX/include/firefox/nss
spewdo "find $PKG_SRCROOT/security/nss/lib/ -name '*.h' -type f -exec /bin/cp {} $PKG_STAGEROOT$PKG_PREFIX/include/firefox/nss/ \;"

# symlink NSPR/NSS libs to /usr/lib
spewdo "cd $PKG_STAGEROOT$PKG_PREFIX/lib"
for so in firefox/{libnspr4.so,libplc4.so,libplds4.so,libnss3.so,libsmime3.so,libssl3.so,libsoftokn3.so}; do
ln -sf $so .
done

# Before copying desktop files we create the dirs
createdir $PKG_STAGEROOT$PKG_PREFIX/share/applications
createdir $PKG_STAGEROOT$PKG_PREFIX/share/pixmaps

findpatch filename mozilla-firefox.desktop
spewdo "cp $filename $PKG_STAGEROOT$PKG_PREFIX/share/applications"

findpatch filename bookmarks.html
spewdo "cp $filename $PKG_STAGEROOT$PKG_PREFIX/lib/firefox/defaults/profile/bookmarks.html"

# Copy default icons for the browser :-)
createdir $PKG_STAGEROOT$PKG_PREFIX/lib/firefox/chrome/icons
createdir $PKG_STAGEROOT$PKG_PREFIX/lib/firefox/chrome/icons/default
spewdo "cp $PKG_STAGEROOT$PKG_PREFIX/lib/firefox/icons/default.xpm $PKG_STAGEROOT$PKG_PREFIX/lib/firefox/chrome/icons/default/default.xpm"
spewdo "cp $PKG_STAGEROOT$PKG_PREFIX/lib/firefox/icons/mozicon128.png $PKG_STAGEROOT$PKG_PREFIX/share/pixmaps/mozilla-firefox.png"

# Do some magic for default install
FIREFOXDIR=$PKG_STAGEROOT$PKG_PREFIX/lib/firefox
REGXPCOM=$FIREFOXDIR/regxpcom
FIREFOX=$FIREFOXDIR/firefox-bin

#removedir $FIREFOXDIR/chrome/overlayinfo
#spewdo "rm -f $FIREFOXDIR/chrome/*.rdf"
#createdir $FIREFOXDIR/chrome/overlayinfo
#spewdo "rm -f $FIREFOXDIR/component.reg"
#removedir $FIREFOXDIR/extensions

# Register default extensions
spewdo "cd $FIREFOXDIR"
loggedcommand register "./run-mozilla.sh $REGXPCOM && ./run-mozilla.sh $FIREFOX -register"

finalizepackage
packagize
cleanup

