# Contributor: William Pitcock # Maintainer: Natanael Copa pkgname=firefox pkgver=30.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 gstreamer1-dev gst-plugins-base1-dev autoconf2.13 sed 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="-mp" [ "$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="ac7e8c801ded4e6195182bf54c81acb6 firefox-30.0.source.tar.bz2 11e6b4bb7593d79fe8827952a3e73c74 mozconfig 6b8d481d8fba55fa0ad4f26c02164da8 duckduckgo.patch 1515663477ce427cbdc42f04d8d5ca4e vendor.js ba96924ece1d77453e462429037a2ce5 firefox.desktop 6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop" sha256sums="1e95740a8cf7095e210fb6a2313c4d0fba4fdf44ee7c327d01f202638403c22c firefox-30.0.source.tar.bz2 dca72a9f140bbc37ec7a9bd81ee886f6730b5866fce4e6ca1ebd48ee4df52c42 mozconfig db057fd5448c3e4d40459fb8ee178296cc723e19efadb1e02a85a4e22a6e560a duckduckgo.patch d72ca759792cc8c88efc664d30087a139fed7fc3d7d058e4cd9ab287bb80ea46 vendor.js b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda firefox.desktop 4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3 firefox-safe.desktop" sha512sums="20c4db40a0b539ecc971f892c4b1e95eebd8a34bed89c74cc0ed33be4a845ef2dac357945dce3721d09088962dc3ab2336fde2f9cb6ce0e6d8e42d36d4e3f7de firefox-30.0.source.tar.bz2 869b7eb925ccc055ecc3b6fddfa4419b5d2b650d627e551564f76788ed157e1c0a6a42e52e92f65d330957d4839954590ca6f6cf6f26a54a8490bdef18047180 mozconfig a7d6a0420f70374a2fa6a74a18ab15c77451f45dc9226ec251f5635a970dbd45ed6cf571ae5ab81b8126951667fc61b1fc5dfb7b8a4d7cc6d465d39e842dc985 duckduckgo.patch 93570f821e59af4d233fc4b1df85e1d145a5e041ad402fd72921987a5a2f5218538d7a13d59bbf0bda5e7df1d5281407674a3765625936340106d1185b15b5d8 vendor.js f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop 5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop"