237 lines
10 KiB
Plaintext

# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=firefox
pkgver=46.0.1
_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
disable-moz-stackwalk.patch
stab.h
rhbz-966424.patch
fix-fortify-inline.patch
fix-fortify-system-wrappers.patch
allow-utf8-fallback.patch
libavutil.patch
mallinfo.patch
firefox-gtk3-20.patch
fix-stack-overflow.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') -DBROTLI_BUILD_PORTABLE"
export CXXFLAGS="$CFLAGS"
export SHELL=/bin/sh
# 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="3e3b90268b8a634f7c60a25eb3a04c8c firefox-46.0.1.source.tar.xz
8f4dda0e7c0e27926b477ba69fdf347e 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
4c7a5a634e53c05d8cc67cbd40a3174e disable-moz-stackwalk.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
0db0cce8350d59a91ae2c4f0400f7146 mallinfo.patch
4398feb7543ef216a9f4a3690ea97180 firefox-gtk3-20.patch
0538d10d2a14576c5aad6048c942a42c fix-stack-overflow.patch
ba96924ece1d77453e462429037a2ce5 firefox.desktop
6f38a5899034b7786cb1f75ad42032b8 firefox-safe.desktop"
sha256sums="98b8292a31b7e3e426f3204de1fed2a6ab38dcf64dd27bdfae556b407a198bf9 firefox-46.0.1.source.tar.xz
99259ffe136dba371a2329749a9a6aadd29576ab48bbcd6c02b0e739f6eb4adb 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
d87bbd011ec499f93119223360cd79afc628e5f0d020c4e8f0039627c85017e7 disable-moz-stackwalk.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
2f564fa5f347f3c7f20d589ef273f000ca9c9aeca2c6ad0fb5b15bfc715d8b81 mallinfo.patch
440c3e22d98ecf8c44dcedbe90bbb302da3a059e3fc3fba205d89f0eca329cbf firefox-gtk3-20.patch
e568adf5d43220b831fd538b4387c14c046efc1bdab4257467fbfd86ee5830aa fix-stack-overflow.patch
b571c4a49884a3c98806246c9cc3e60c73d5a8f4aeb7f96217db0be1d6210eda firefox.desktop
4b6de45753856a890f4482055666e77f9b01bdfb7e0df08bafaa3a4d9937eed3 firefox-safe.desktop"
sha512sums="c58642774f93ceaef4f99bc3fe578db6e4f6de7f1d23080da97b61bc4fc6b516ce99fa04368893c0fa2cb9cd0b36e96955656daa97d0bd0d8f4da6a2d364cb98 firefox-46.0.1.source.tar.xz
344e46fbfc5b0bd9b1e3ad81eb4695b336482a1bddd1632b845e7a0bc87928a2936db97af1a41b48df83274aa4453dce215b45e383a756f2ccdb5d2e57f19b52 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
c69cdb2d6c66180d6a67c386b862a5ed953aab4db434b054c9e1e6702bcc56ba219a4cb22747d9c891040a286388168e0cf5ca28a503389cd9708012fddf6c2b disable-moz-stackwalk.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
bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29 mallinfo.patch
ee891acc644bea7eeccea8414292ada80d813864ce003d03189c9ef4f7e2c97e7209301725b1d55a02dd7af497eb9c7493fafc208b5a5fde574ddcf1bf7870c4 firefox-gtk3-20.patch
c815131b04e25162d8b32e75e58c3f670492996a41a0cc27a72432ed37fb3a5488a6eb474c2a1bf455d3546cde3b6871b46bcdbef8e2f37d1133c40819aa6f11 fix-stack-overflow.patch
f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop
5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop"