SliTaz Packages

Community Doc Forum Pro Shop Bugs Hg
.

Receipt for package "firefox"

# SliTaz package receipt.

PACKAGE="firefox"
VERSION="17.0.11esr"
CATEGORY="network"
SHORT_DESC="User friendly, secure and fast web browser."
MAINTAINER="pankso@slitaz.org"
LICENSE="MPL2"
TARBALL="$PACKAGE-$VERSION.source.tar.bz2"
WEB_SITE="https://www.mozilla.org/firefox"
WGET_URL="https://ftp.mozilla.org/pub/firefox/releases/$VERSION/source/$TARBALL"
TAGS="web-browser"

DEPENDS="gtk+ sqlite dbus dbus-glib glib jpeg xorg-libX11 xorg-libXdamage \
alsa-lib xorg-libXt libevent libvpx pango nss sqlite libfirefox"
BUILD_DEPENDS="zip libIDL coreutils findutils wireless_tools-dev \
perl python yasm alsa-lib-dev mesa-dev libevent-dev libvpx-dev dbus-dev \
dbus-glib-dev gtk+-dev glib-dev pango-dev nss-dev sqlite-dev tar gzip"

# Rules to configure and make the package.
#
# A long compile time... dont forget to build libidl before and check the
# .mozconfig file from the stuff and the stuff/README document.
#
# WARNING: 1GB RAM minimum. Additional RAM will significantly decrease
# build time.
# At least 2.5 GB free disk space

# What is the latest version available today?
current_version()
{
    wget -O - http://ftp.mozilla.org/pub/firefox/releases/ 2>/dev/null | \
    sed '/firefox\/releases\/[0-9]/!d;s|.*firefox/releases/\([^/]*\)/.*|\1|' | sort -Vr | sed q
}

compile_rules()
{
    # load mozconfig
    cp -a $stuff/mozconfig $src

    # build firefox and create a firefox tarball
    # reducing log size: hide c++, nsinstall, python msgs
    # Exception... Component returned failure code: known bug #696763
    make -f client.mk | egrep -v "c++|nsinstall|python" &&
    make -C obj-firefox/browser/installer

    # install
    # locate tarball
    local tarball tarpath fn1 fn2
    tarpath=$src/obj-firefox/dist
    fn1="$tarpath/firefox-${VERSION%esr}.en-US.linux-$ARCH.tar.bz2"
    fn2="$tarpath/firefox-${VERSION%esr}.en-US.linux-i686.tar.bz2"
    [ -e "$fn1" ] && tarball="$fn1" && echo "$ARCH tarball found"
    [ -e "$fn2" ] && tarball="$fn2" && echo "i686 tarball found"
    [ -z "$tarball" ] && echo "ERROR: tarball not found" && exit 1
    # extract tarball
    mkdir -p $install/usr/lib/firefox-$VERSION &&
    tar -xvf $tarball -C $install/usr/lib/firefox-$VERSION \
        --strip-components=1 &&
    chown -R -v root:root $install/usr/lib/firefox-$VERSION &&
    chmod -v 755 $install/usr/lib/firefox-$VERSION/libxpcom.so &&
    # install symlink in /usr/bin
    mkdir -p $install/usr/bin &&
    ln -sf ../lib/firefox-$VERSION/firefox $install/usr/bin &&
    # install symlink for plugins
    mkdir -p $install/usr/lib/mozilla/plugins &&
    ln -sf ../mozilla/plugins $install/usr/lib/firefox-$VERSION
}

# Rules to gen a SliTaz package suitable for Tazpkg.
genpkg_rules()
{
    # program
    printf "Installing program.."
    mkdir -p $fs/usr/lib &&
    cp -a $install/usr/lib/$PACKAGE-$VERSION $fs/usr/lib &&
    cp -a $install/usr/lib/mozilla $fs/usr/lib &&
    cp -a $install/usr/bin $fs/usr
    status

    # search Plugin (by: oddball)
    printf "Installing SliTaz search plugins.."
    cp -a $stuff/searchplugins $fs/usr/lib/$PACKAGE-$VERSION
    status

    # prefs
    printf "Installing SliTaz preferences.."
    mkdir -p $fs/usr/lib/$PACKAGE-$VERSION/distribution &&
    cp -a $stuff/distribution.ini $fs/usr/lib/$PACKAGE-$VERSION/distribution
    status

    # mozilla-common files
    # dictionaries
    printf "Installing common dictionnaries.."
    rm -rf $fs/usr/lib/$PACKAGE-$VERSION/dictionaries &&
    ln -sf ../mozilla-common-$VERSION/dictionaries \
        $fs/usr/lib/$PACKAGE-$VERSION/dictionaries
    status
    # plugin-container
    printf "Installing common plugin-container"
    rm -f $fs/usr/lib/$PACKAGE-$VERSION/plugin-container &&
    ln -sf ../mozilla-common-$VERSION/plugin-container \
        $fs/usr/lib/$PACKAGE-$VERSION/plugin-container
    status
    # mozilla-xremote-client
    printf "Installing common mozilla-xremote-client"
    rm -f $fs/usr/lib/$PACKAGE-$VERSION/mozilla-xremote-client &&
    ln -sf ../mozilla-common-$VERSION/mozilla-xremote-client \
        $fs/usr/lib/$PACKAGE-$VERSION/mozilla-xremote-client
    status
    # components/libdbusservice.so
    # components/libmozgnome.so
    for file in libdbusservice.so libmozgnome.so; do
        printf "Installing common components/$file"
        rm -f $fs/usr/lib/$PACKAGE-$VERSION/components/$file &&
        ln -sf ../../mozilla-common-$VERSION/components/$file \
            $fs/usr/lib/$PACKAGE-$VERSION/components/$file
        status
    done
    # chrome.manifest
    printf "Installing common chrome.manifest"
    rm -f $fs/usr/lib/$PACKAGE-$VERSION/chrome.manifest &&
    ln -sf ../mozilla-common-$VERSION/chrome.manifest \
        $fs/usr/lib/$PACKAGE-$VERSION/chrome.manifest
    status

    # run-mozilla.sh
    printf "Installing common run-mozilla.sh"
    rm -f $fs/usr/lib/$PACKAGE-$VERSION/run-mozilla.sh &&
    ln -sf ../mozilla-common-$VERSION/run-mozilla.sh \
        $fs/usr/lib/$PACKAGE-$VERSION/run-mozilla.sh
    status

    # libmozalloc.so
    printf "Installing common libmozalloc.so"
    rm -f $fs/usr/lib/$PACKAGE-$VERSION/libmozalloc.so &&
    ln -sf ../mozilla-common-$VERSION/libmozalloc.so \
        $fs/usr/lib/$PACKAGE-$VERSION/libmozalloc.so
    status

    chown -R root.root $fs
}
6047 packages and 209931 files in current database (Wed Jun 26 15:35:30 2024)