# Contributor: William Pitcock # Maintainer: Natanael Copa pkgname=firefox pkgver=42.0 _pkgver=$pkgver _xulver=$pkgver pkgrel=1 pkgdesc="Firefox web browser" url="http://www.firefox.com" arch="all" license="GPL LGPL MPL" depends="" depends_dev=" alsa-lib-dev bzip2-dev dbus-glib-dev gconf-dev gst-plugins-base1-dev gstreamer1-dev gtk+2.0-dev hunspell-dev icu-dev libevent-dev libidl-dev libjpeg-turbo-dev libnotify-dev libogg-dev libtheora-dev libvorbis-dev libvpx-dev libxt-dev libxcomposite-dev mesa-dev nspr-dev nss-dev sqlite-dev startup-notification-dev wireless-tools-dev " makedepends="$depends_dev autoconf automake bsd-compat-headers libtool paxmark python sed yasm zip " install="" subpackages="$pkgname-dev" source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz mozconfig vendor.js 0002-Use-C99-math-isfinite.patch fix-arm-atomics-grsec.patch fix-toolkit.patch fix-tools.patch fix-seccomp-bpf.patch mozilla-build-arm.patch stab.h rhbz-966424.patch fix-fortify-inline.patch fix-fortify-system-wrappers.patch allow-utf8-fallback.patch libavutil.patch firefox.desktop firefox-safe.desktop" _builddir="${srcdir}/firefox-$pkgver" _mozappdir=/usr/lib/firefox-$pkgver _mozappdirdev=/usr/lib/firefox-devel-$pkgver # help our shared-object scanner to find the libs ldpath="$_mozappdir" 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"/stab.h toolkit/crashreporter/google-breakpad/src/ cp "${srcdir}/mozconfig" .mozconfig } 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" # set rpath so linker finds the libs export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir}" make -f client.mk build \ STRIP="/bin/true" \ || return 1 } package() { cd "$_builddir" # only used for startupcache creation. local paxflags="-msp" paxmark "$paxflags" */dist/bin/xpcshell || return 1 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" paxmark "$paxflags" "$pkgdir"/$_mozappdir/firefox || return 1 paxmark "$paxflags" "$pkgdir"/$_mozappdir/plugin-container || 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 exec $_mozappdir/firefox "\$@" __EOF__ chmod 755 "$pkgdir"/usr/bin/firefox # install our vendor prefs install -d "$pkgdir"/$_mozappdir/browser/defaults/preferences cat "$srcdir"/vendor.js >> "$pkgdir"/$_mozappdir/browser/defaults/preferences/firefox-branding.js # remove copied, huge, libraries rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libmozjs.so rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libmozalloc.so rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libxul.so } dev() { mkdir -p "$subpkgdir"/${_mozappdirdev%/*} mv "$pkgdir"/${_mozappdirdev} "$subpkgdir"/${_mozappdirdev%/*} \ || return 1 default_dev } md5sums="d610bf10a75afb4734045e1a43d8eba4 firefox-42.0.source.tar.xz 1f4c60e662ed93784431bd06c5141719 mozconfig 99b27aeac58923f318d083e5e71879ba vendor.js 6ab77b80c8c7d6fd07ab53c54561f4df 0002-Use-C99-math-isfinite.patch b18bd948aae828e5c8f5f63e440c96d6 fix-arm-atomics-grsec.patch 94ae976a54d1f84bf13d059c1e44ddf5 fix-toolkit.patch fe88db05a9a1adfd79babd137b0e8de8 fix-tools.patch aed3b88014fbfbe73db79851e52ca7fa fix-seccomp-bpf.patch 308ba5b54116a035fe68d0d5c3974857 mozilla-build-arm.patch 4383d038b8d8411ea46f4a109197c19e stab.h 15ebeeeb6823c185f4fed98e9bf1b786 rhbz-966424.patch f29e0036edc7b3a4158a82fa97bde500 fix-fortify-inline.patch 9aba3811121f113fe547947591802d2b fix-fortify-system-wrappers.patch 1feef5ea2fd5acc2a71a29350754d006 allow-utf8-fallback.patch b8b2a3cdb38f402e4eb4885908233811 libavutil.patch ba96924ece1d77453e462429037a2ce5 firefox.desktop 6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop" sha256sums="994a346699298277b64ec0cab72660b8d3e5b879a2ac79207576f7e6c33da3ae firefox-42.0.source.tar.xz 23c2b4535ce83c92ba978e15ce328c9f140def155d12523c00df30baf41b98dc mozconfig afecb8c17a2bedafe600dd572d24eff24e540cda02f675705d11168040379ce6 vendor.js 080a55182b865471a86fa4b70a66ed9495f1e536f7fdc4060cb8c675b4749c6e 0002-Use-C99-math-isfinite.patch ff7cb3c9c4712e0517a6f11e3bf08e9b0d13dbe6384930bdc7f55b1ceed039b5 fix-arm-atomics-grsec.patch 195cc0b2008f6728e9d85ca787960bb47d7fba723e10d29e255baaa3bd5dd4dc fix-toolkit.patch b7d43391006443da851c03546f2772ded7770a0ea045e8130be7011cf6718708 fix-tools.patch 517d95225b3323c373c11da6ab867deb76ffdb0b50c1762bdd893abd9b39d4c9 fix-seccomp-bpf.patch 6f5f5e4d2a17182b72b248e896450235ccdaf63252fdb89a8deb55da8adc9be3 mozilla-build-arm.patch 960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h a50d15a640f230a2c66e1eb2afd2bed4117605d0f1591dcfec1ca30f0bc2352f rhbz-966424.patch ecf808ef1bc2920f6f7a4786fafb46c74e8a2c3bc628f28f10d6e8e1a265e609 fix-fortify-inline.patch cd19195cb4c316ad9f7d377cd8581218c888863b1bc4d112c97f48a4425fb946 fix-fortify-system-wrappers.patch a1ba79ec0c50c19edcfb24bb2686a718a77b02035e412989b9208b9b818abe14 allow-utf8-fallback.patch 83113f1fbc0389602b3623e8a5428d41837c4ec9557615c37ca05619526a7404 libavutil.patch b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda firefox.desktop 4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3 firefox-safe.desktop" sha512sums="d38f48047233bf68929bd05276165266d341c0186214687405010cac7ccbb266618eec43849b05fa12358eb43a106494d8dce9683bae62e133b7f990bb4c8aaf firefox-42.0.source.tar.xz e14b4a646230f7a752ef864b0e6a074fdac74d6c4abde2c31656eb10ac6f002a5c664d257bf3f4bd22544f10103e38d5fae49f84fcaae402b81940e72bcfe0e5 mozconfig cc10dba32d9c7faf1d99b8fdebc71bf0200ad10b976105edb45df696bf64a668b2b7aa8c3892a8056eb71fb071b0e0ae51c3ce2fb75acfb7e7035104c0e4fce3 vendor.js 7e123144bc2b1efed149dfb41b255c447d43ea93a63ebe114d01945e6a6d69edc2f2a3c36980a93279106c1842355851b8b6c1d96679ee6be7b9b30513e0b1a8 0002-Use-C99-math-isfinite.patch 4311464ae52b6d2e2b02c789c6d5fca9b3c211888a983aa609a62c2f2554516fea735ea90673387c69b38a30aa8453ed79faa44b5163df4293880d40df676b2d fix-arm-atomics-grsec.patch d3f2ec8684aa485e1d08df325281629adb120f2e79c0065b96e14b99ca2968a3c701d18dda1fd1cab482aec2bc4ee8f294b9fda970ae159f8dab655f2c91aca9 fix-toolkit.patch 6322912a8b496332c593ee5c2069d346552299781148d6c829321a10be7f6550a6f7aab3d0cfeb08e1c4ecca2a79272ea7a6f31f1d2eb430c1b0041e3699c06c fix-tools.patch 70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch 0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h 06ededcd196af98b77991dcba3b710b0dfc061404adb4676fcc380be80410a2621f64d67257b0aefdf36f566e0ea1294b5405b7b4db43e83281a1c64d02da579 rhbz-966424.patch 09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5 fix-fortify-inline.patch 2a967e4619fd89a046bd40be7fdcef646fcb1eba5e47afc96aa1d59c25bcc8747cb07baee6c11f3b803db0981aced181534b806778e4d21e74958f5f4d74c784 fix-fortify-system-wrappers.patch ebbc2b1336197c289e9b7c073d196fb5734e1dad0109fe70538f8089b1873e4b55305cd39cefcf95cd4eb36715be6dff298856c496616e935ff5579452e62b09 allow-utf8-fallback.patch 2213dbd7eb36f954add09977c0bb979aea79376164bc98d7e8957ecf584776bc11cc88b6d8235f9e04ac69d5975a47c2f52fd9aff9076326f15997657af8c9f3 libavutil.patch f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop 5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop"