# Contributor: William Pitcock # Maintainer: Natanael Copa pkgname=firefox pkgver=31.6.0 _pkgver=$pkgver _xulver=$pkgver pkgrel=0 pkgdesc="Firefox web browser" url="https://www.mozilla.org/en-US/firefox/organizations/faq/" arch="all" license="GPL LGPL MPL" depends="" depends_dev=" alsa-lib-dev bzip2-dev dbus-glib-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-dbg $pkgname-dev" source="ftp://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.bz2 mozconfig vendor.js 0002-Use-C99-math-isfinite.patch fix-arm-atomics-grsec.patch fix-ipc.patch fix-media-webrtc.patch fix-media.patch fix-netwerk.patch fix-toolkit.patch fix-tools.patch getchar.patch mozilla-build-arm.patch stat.patch stab.h rhbz-966424.patch fix-fortify-inline.patch firefox.desktop firefox-safe.desktop" _builddir="${srcdir}/mozilla-esr${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" || return 1 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 # 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 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="7763129c3bdc393c1f3b4a917ac48ee4 firefox-31.6.0esr.source.tar.bz2 1f4c60e662ed93784431bd06c5141719 mozconfig 1515663477ce427cbdc42f04d8d5ca4e vendor.js f43c1f0ae57aa8289b130c6de8caf3ce 0002-Use-C99-math-isfinite.patch b18bd948aae828e5c8f5f63e440c96d6 fix-arm-atomics-grsec.patch 38a9c0d5be155164d50a956ac131d991 fix-ipc.patch ce4839160acf3986a2118326ed2b8444 fix-media-webrtc.patch 960d56439a375998ce4e4597bf245375 fix-media.patch 170b8e7f8cab21f0965f226c291a57f9 fix-netwerk.patch 296954be4c6d6bfcc24d0a46a2bd7d74 fix-toolkit.patch 2279c55a85013fc1c0d01427768edd4d fix-tools.patch 507742325de8687529e4e81e31132ddf getchar.patch 308ba5b54116a035fe68d0d5c3974857 mozilla-build-arm.patch d9a2245b93a7f5855ee029b5fa44e4e9 stat.patch 4383d038b8d8411ea46f4a109197c19e stab.h 15ebeeeb6823c185f4fed98e9bf1b786 rhbz-966424.patch 4272fe0d076566e16daf67faee4090b0 fix-fortify-inline.patch ba96924ece1d77453e462429037a2ce5 firefox.desktop 6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop" sha256sums="88ad45202a7aee9c43378879863b023270aa29463d312f396a78a6e9cdcbf5c3 firefox-31.6.0esr.source.tar.bz2 23c2b4535ce83c92ba978e15ce328c9f140def155d12523c00df30baf41b98dc mozconfig d72ca759792cc8c88efc664d30087a139fed7fc3d7d058e4cd9ab287bb80ea46 vendor.js 2f319883300f2aef180bfb80221151fcbb29344a5a0a086d6ad1d80005daf039 0002-Use-C99-math-isfinite.patch ff7cb3c9c4712e0517a6f11e3bf08e9b0d13dbe6384930bdc7f55b1ceed039b5 fix-arm-atomics-grsec.patch 059a69ff0dbceeaa5bbb1446aa4233bc578a047fcad22c0efa27dc64bbd72980 fix-ipc.patch 3e53af8beff122bcf5790c148fb51f41f44b6fe5dd5799777b70c3542c32cb93 fix-media-webrtc.patch d582712c28a26679d728d21d2ef8964d119182edaf580a948f57a9e808ccc5cf fix-media.patch 4a2f8ff5e9b1359541eba8854098cee2caeb40ad9dbdc4b8fcf48b47ea8ca2d2 fix-netwerk.patch 666883189dba3f4c7ba6b5bc85026c85bcb84477c2d5ba00d6414ddd0f744368 fix-toolkit.patch 60ed0870119480994c6c455034c52dd21b8482b7617c3a0032e3b2abf4467e4d fix-tools.patch d14357bf44f702d94b8d3ed79bdf81f6271370745c1ac8fa83522bd98be4adc4 getchar.patch 6f5f5e4d2a17182b72b248e896450235ccdaf63252fdb89a8deb55da8adc9be3 mozilla-build-arm.patch a0f8a0fa9977ee43f3853b6c6bf5a506fdfabdfa32b4279e0ac3d7a3078f34cc stat.patch 960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h a50d15a640f230a2c66e1eb2afd2bed4117605d0f1591dcfec1ca30f0bc2352f rhbz-966424.patch bcd8759804a52ffd542292f28d0aafc6f4f1f9408fe0f36adb9ba11fe3b85afc fix-fortify-inline.patch b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda firefox.desktop 4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3 firefox-safe.desktop" sha512sums="6b81059b3a38f2a264cf5bea665ad107e5439a8614644fd3a910034381ab6c0635cea50aa30bd83fec8d8cfebea76c3480eee3a96dfdcbb606c1dd62ef3880a4 firefox-31.6.0esr.source.tar.bz2 e14b4a646230f7a752ef864b0e6a074fdac74d6c4abde2c31656eb10ac6f002a5c664d257bf3f4bd22544f10103e38d5fae49f84fcaae402b81940e72bcfe0e5 mozconfig 93570f821e59af4d233fc4b1df85e1d145a5e041ad402fd72921987a5a2f5218538d7a13d59bbf0bda5e7df1d5281407674a3765625936340106d1185b15b5d8 vendor.js 9a6666a3b637549411ea562c9d0d6d617ed48327d0f9e4e64d27f43774c218e6c5cf5fa99d4b339a5a0f89b854a18079392eba0dafc3419adbd4cdd5d71d3f26 0002-Use-C99-math-isfinite.patch 4311464ae52b6d2e2b02c789c6d5fca9b3c211888a983aa609a62c2f2554516fea735ea90673387c69b38a30aa8453ed79faa44b5163df4293880d40df676b2d fix-arm-atomics-grsec.patch 3f360d4231355c268fc52e0fedbce5c4f73ad8d60d9424af8641733c0ae181e6226056e605f0d6653b729a9c8e4abe97a9fb2face25938651a7498d5753cea8b fix-ipc.patch a5d00272fc9e2b3a786f5891bac11b04ffaf6dfcbd2b30cba42286b79d12fefb6cb9c81e6d75987ab3ee19d12af20a074c77edc655bd470be06f5025eb38e609 fix-media-webrtc.patch 58e0e7c1c368530b58aa143be0403d733c4b82cc1a9964c925278e5eff147b2ec2c8c34a6cb217387cb7e9f2ca13c2e299745015edaac510704963282dc68e79 fix-media.patch 8a896ee4d1465a844351cec84217de1a28b9f27bfc1e34cc71368664b5b8804bd66bdcadc78c78ee365abd1d0cafed1e6c568045c93cb78ac94e2818f503d58c fix-netwerk.patch 72459754016f254c58d56d9a8719897fa8da9cf969eaa498e1e755457942d3f0ac56e4abd3f6a66ef924c94aa034d0af18a1fb653926b2496f0c2615fdb24c5e fix-toolkit.patch 426b57ce698de3eecd1b52f2998974c4e0b5922584b09b554d436c61fee039d1f86345e746fee067801ebbf50815c4d19b96266a2ed72a35ae5c3edbdb57bba1 fix-tools.patch 18f0696bf4d032c83041110b83ae6531b48474a778fc1deade3b06ba2ae1bfcc9891059287bfb78317c2f5ddc88f5b7ce957312acdb63d4902a57e0b40eb6520 getchar.patch e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch 1a8754830dbbf5432a611504c957c4ff24fdc31dc1a5ee7cdd4240bc5c084baa26a24f18527ff398ec81e56a36aee31732138243cf22a6bab89703656ff463e7 stat.patch 0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h 06ededcd196af98b77991dcba3b710b0dfc061404adb4676fcc380be80410a2621f64d67257b0aefdf36f566e0ea1294b5405b7b4db43e83281a1c64d02da579 rhbz-966424.patch 0f7a6b71dd25048b353cafa8147b56a90e0c324e78a721ea4c0777bd6c193a985591b936209f026bc3aa6f64f8b749a27a212c51754af48f8f237bd7eb59faa2 fix-fortify-inline.patch f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop 5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop"