# Contributor: William Pitcock # Maintainer: Natanael Copa pkgname=firefox pkgver=28.0 _pkgver=$pkgver _xulver=$pkgver pkgrel=1 pkgdesc="firefox web browser" url="http://www.firefox.com" arch="all" license="GPL LGPL MPL" depends="xulrunner>=${_xulver}" makedepends="xulrunner-dev>=${_xulver} nspr-dev nss-dev gtk+-dev mesa-dev icu-dev dbus-glib-dev alsa-lib-dev libvorbis-dev libogg-dev libtheora-dev wireless-tools-dev libnotify-dev libevent-dev libvpx-dev libxt-dev libjpeg-turbo-dev bzip2-dev hunspell-dev startup-notification-dev sqlite-dev libidl-dev gstreamer-dev gst-plugins-base-dev autoconf2.13 python zip yasm autoconf automake libtool paxctl" install="" subpackages="$pkgname-pdfjs $pkgname-dbg" source="ftp://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.bz2 mozconfig duckduckgo.patch vendor.js firefox.desktop firefox-safe.desktop" _builddir="${srcdir}/mozilla-release" _mozappdir=/usr/lib/firefox-$pkgver prepare() { local i cd "$_builddir" for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done cp "${srcdir}/mozconfig" .mozconfig sed -e "s/#${CLIBC}#//g" -i .mozconfig echo "ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)" >> .mozconfig if [ -n "$DEBUG" ]; then echo "ac_add_options --enable-debug-symbols" >> .mozconfig echo "ac_add_options --disable-install-strip" >>.mozconfig fi } build() { cd "$_builddir" # mozilla's buildsystem is on drugs export CFLAGS="$(echo $CFLAGS | sed -e 's/-Wall//' -e 's/-fexceptions/-fno-exceptions/g')" export CXXFLAGS="$CFLAGS" # export LDFLAGS="-Wl,-rpath,${_mozappdir}" make -j1 -f client.mk build \ STRIP="/bin/true" \ MOZ_MAKE_FLAGS="$MAKEOPTS" || return 1 } package() { cd "$_builddir" make -j1 -f client.mk install \ DESTDIR="$pkgdir" \ MOZ_MAKE_FLAGS="$MAKEOPTS" \ || return 1 install -m755 -d ${pkgdir}/usr/share/applications install -m755 -d ${pkgdir}/usr/share/pixmaps install -m644 "$_builddir"/browser/branding/official/default48.png \ ${pkgdir}/usr/share/pixmaps/firefox.png || return 1 install -m644 ${srcdir}/firefox.desktop ${pkgdir}/usr/share/applications/firefox.desktop install -m644 ${srcdir}/firefox-safe.desktop ${pkgdir}/usr/share/applications/firefox-safe.desktop # firefox currently does not work with mprotect. disable it for now local paxflags="-m" [ "$CARCH" = "x86" ] && paxflags="-msp" paxctl -c $paxflags "$pkgdir"/$_mozappdir/firefox || return 1 # xulrunner stub launcher has changed to using a symlink overlay... # go figure ln -sf /usr/lib/xulrunner-${_xulver} ${pkgdir}/$_mozappdir/xulrunner # launcher as symlink is broken from firefox-7.0 rm "$pkgdir"/usr/bin/firefox || return 1 libgl=$(scanelf -qF '#F%S' /usr/lib/libGL.so) cat > "$pkgdir"/usr/bin/firefox << __EOF__ #!/bin/sh # as a workaround for libGL's initial-exec TLS we preload libgl # https://bugs.freedesktop.org/show_bug.cgi?id=35268 LD_PRELOAD=$libgl exec $_mozappdir/firefox "\$@" __EOF__ chmod 755 "$pkgdir"/usr/bin/firefox # install our vendor prefs cat "$srcdir"/vendor.js >> "$pkgdir"/$_mozappdir/browser/defaults/preferences/firefox-branding.js } pdfjs() { pkgdesc="Firefox PDF Reader in JavaScript" mkdir -p "$subpkgdir"/$_mozappdir/browser/chrome mv "$pkgdir"/$_mozappdir/browser/chrome/pdfjs \ "$subpkgdir"/$_mozappdir/browser/chrome/ } md5sums="db06b6da6b826cfc6a49c15bca115a6b firefox-28.0.source.tar.bz2 e7d9f4dd971c5fed3319258d9dd21fc8 mozconfig 6b8d481d8fba55fa0ad4f26c02164da8 duckduckgo.patch 1515663477ce427cbdc42f04d8d5ca4e vendor.js ba96924ece1d77453e462429037a2ce5 firefox.desktop 6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop" sha256sums="2ffd0484e7eab52166b851681878a86d54223a6764c756721430fae8e1599628 firefox-28.0.source.tar.bz2 b0c0929a63e8a35cca4cfeeffc748738418a8aa60ffd6117c1f44b402c7f251f mozconfig db057fd5448c3e4d40459fb8ee178296cc723e19efadb1e02a85a4e22a6e560a duckduckgo.patch d72ca759792cc8c88efc664d30087a139fed7fc3d7d058e4cd9ab287bb80ea46 vendor.js b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda firefox.desktop 4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3 firefox-safe.desktop" sha512sums="9334b45d8b56829e7061b87c377aae80e48060e127dfc3eb6a6996590dd92268bd0273203094cdf9aa22fda8128ab9ed1e5fd6fee3e93a430359c0a0631090f7 firefox-28.0.source.tar.bz2 85dade98a91a5394f6bf27627af6cd154b03045bb7bb4534b4f0f18e865fbeb3b0f70646fefedf159bac5328446e713f71c2ceda1f96ae41ae5670199ddd688c mozconfig a7d6a0420f70374a2fa6a74a18ab15c77451f45dc9226ec251f5635a970dbd45ed6cf571ae5ab81b8126951667fc61b1fc5dfb7b8a4d7cc6d465d39e842dc985 duckduckgo.patch 93570f821e59af4d233fc4b1df85e1d145a5e041ad402fd72921987a5a2f5218538d7a13d59bbf0bda5e7df1d5281407674a3765625936340106d1185b15b5d8 vendor.js f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop 5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop"