blob: 9d34dc07c8270e347ce2d4a19acf294966932480 (
plain) (
tree)
|
|
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=firefox-esr
pkgver=68.0.1
pkgrel=0
pkgdesc="Firefox Web browser (unstable)"
url="https://www.mozilla.org/firefox/"
arch="all"
options="!check" # Tests disabled
license="MPL-2.0"
depends=""
# moz build system stuff
# python deps
# system-libs
# actual deps
makedepends="
autoconf2.13 cargo cbindgen clang llvm8-dev node ncurses-dev
perl rust rust-stdlib cmd:which
ncurses-dev openssl-dev
alsa-lib-dev bzip2-dev icu-dev libevent-dev libffi-dev libpng-dev
libjpeg-turbo-dev nspr-dev nss-dev pulseaudio-dev zlib-dev
dbus-glib-dev fts-dev gconf-dev gtk+3.0-dev hunspell-dev
libnotify-dev libsm-dev libxcomposite-dev libxdamage-dev
libxrender-dev libxt-dev nasm nss-static sqlite-dev
startup-notification-dev unzip yasm zip gtk+2.0-dev
"
_py2ver="2.7.16"
source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
https://www.python.org/ftp/python/$_py2ver/Python-$_py2ver.tar.xz
mozconfig
bad-google-code.patch
disable-gecko-profiler.patch
fix-mutex-build.patch
fix-seccomp-bpf.patch
mozilla-build-arm.patch
rust-config.patch
shut-up-warning.patch
stackwalk-x86-ppc.patch
webrtc-broken.patch
yuv-be.patch
firefox.desktop
firefox-safe.desktop
"
_mozappdir=/usr/lib/firefox
ldpath="$_mozappdir"
unpack() {
default_unpack
[ -z $SKIP_PYTHON ] || return 0
msg "Killing all remaining hope for humanity and building Python 2..."
cd "$srcdir/Python-$_py2ver"
[ -d ../python ] && rm -r ../python
# 19:39 <+solar> just make the firefox build process build its own py2 copy
# 20:03 <calvin> TheWilfox: there's always violence
sed -e 's/é/e/g' /etc/os-release > "$srcdir"/os-release
export UNIXCONFDIR="$srcdir"
./configure --prefix="$srcdir/python" --with-ensurepip=install
make -j $JOBS
# 6 tests failed:
# test__locale test_os test_posix test_re test_strptime test_time
# make test
make -j $JOBS install
# firefox's bundled pipenv and pip aren't new enough to support
# configurable UNIXCONFDIR
export PATH="$srcdir/python/bin:$PATH"
pip2 install virtualenv pipenv
}
prepare() {
cd "$builddir"
default_prepare
cp "$srcdir"/mozconfig "$builddir"/mozconfig
echo "ac_add_options --enable-optimize=\"$CFLAGS\"" >> "$builddir"/mozconfig
echo "ac_add_options --host=\"$CHOST\"" >> "$builddir"/mozconfig
echo "ac_add_options --target=\"$CTARGET\"" >> "$builddir"/mozconfig
# too much memory
if [ -z "$JOBS" ] || [ $JOBS -ge 16 ]; then
JOBS=16
fi
echo "mk_add_options MOZ_MAKE_FLAGS=\"-j$JOBS\"" >> "$builddir"/mozconfig
case "$CARCH" in
pmmx|x86*)
echo "ac_add_options --disable-elf-hack" >> "$builddir"/mozconfig
;;
esac
rm "$builddir"/third_party/python/virtualenv/virtualenv_support/pip*.whl
rm "$builddir"/third_party/python/virtualenv/virtualenv_support/setuptools*.whl
cp "$srcdir/Python-$_py2ver"/Lib/ensurepip/_bundled/*.whl \
"$builddir/third_party/python/virtualenv/virtualenv_support"
}
build() {
cd "$builddir"
export SHELL=/bin/sh
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
export USE_SHORT_LIBNAME=1
# gcc 6
export CXXFLAGS="-fno-delete-null-pointer-checks -fno-schedule-insns2"
# set rpath so linker finds the libs
export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir}"
export UNIXCONFDIR="$srcdir"
local extra_flags=""
[ "$CARCH" = "s390x" ] && extra_flags="--disable-startupcache"
export PATH="$srcdir/python/bin:$PATH"
./mach build
}
run() {
cd "$builddir"/obj-$CHOST/dist/bin
export LD_LIBRARY_PATH=.
./firefox -no-remote -profile "$builddir"/obj-$CHOST/tmp/profile-default
}
package() {
cd "$builddir"
export PATH="$srcdir/python/bin:$PATH"
DESTDIR="$pkgdir" ./mach install
install -m755 -d ${pkgdir}/usr/share/applications
install -m755 -d ${pkgdir}/usr/share/pixmaps
local png
for png in browser/branding/official/default*.png; do
local i="${_png%.png}"
i=${i##*/default}
install -D -m644 "$png" \
"$pkgdir"/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png
done
install -m644 "$builddir"/browser/branding/official/default48.png \
${pkgdir}/usr/share/pixmaps/firefox.png
install -m644 ${startdir}/firefox.desktop \
${pkgdir}/usr/share/applications/firefox.desktop
install -m644 ${startdir}/firefox-safe.desktop \
${pkgdir}/usr/share/applications/firefox-safe.desktop
# install our vendor prefs
install -d "$pkgdir"/$_mozappdir/browser/defaults/preferences
cat >> "$pkgdir"/$_mozappdir/browser/defaults/preferences/firefox-branding.js <<- EOF
// Use LANG environment variable to choose locale
pref("intl.locale.matchOS", true);
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);
// Don't disable our bundled extensions in the application directory
pref("extensions.autoDisableScopes", 11);
pref("extensions.shownSelectionUI", true);
EOF
}
|