Skip to content

Instantly share code, notes, and snippets.

@jonnybarnes
Last active August 29, 2015 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonnybarnes/3319903e66fbbe7e38dd to your computer and use it in GitHub Desktop.
Save jonnybarnes/3319903e66fbbe7e38dd to your computer and use it in GitHub Desktop.
firefox nightly compile error
make[6]: Leaving directory '/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev/obj-x86_64-unknown-linux-gnu/media/libvpx'
make[5]: Leaving directory '/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev/obj-x86_64-unknown-linux-gnu'
/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev/config/recurse.mk:42: recipe for target 'compile' failed
make[4]: *** [compile] Error 2
make[4]: Leaving directory '/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev/obj-x86_64-unknown-linux-gnu'
/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev/config/rules.mk:548: recipe for target 'default' failed
make[3]: *** [default] Error 2
make[3]: Leaving directory '/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev/obj-x86_64-unknown-linux-gnu'
/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev/client.mk:386: recipe for target 'realbuild' failed
make[2]: *** [realbuild] Error 2
make[2]: Leaving directory '/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev'
/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev/client.mk:221: recipe for target 'profiledbuild' failed
make[1]: *** [profiledbuild] Error 2
make[1]: Leaving directory '/mnt/storage/archive/firefox-nightly-arch/src/gecko-dev'
client.mk:168: recipe for target 'build' failed
make: *** [build] Error 2
==> ERROR: A failure occurred in build().
Aborting...
# $Id$
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Nightly: Jonny Barnes <jonny@jonnybarnes.uk>
pkgname=firefox-nightly
pkgver=1
pkgrel=1
pkgdesc="Nightly version of the popular Firefox web browser"
arch=('i686' 'x86_64')
license=('MPL' 'GPL' 'LGPL')
url="http://www.mozilla.com/en-US/firefox/channel/"
depends=('gtk3' 'gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types'
'dbus-glib' 'alsa-lib' 'desktop-file-utils' 'hicolor-icon-theme')
makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake'
'xorg-server-xvfb' 'libpulse' 'gst-plugins-base-libs'
'inetutils' 'autoconf2.13' 'git')
optdepends=('networkmanager: Location detection via available WiFi networks'
'gst-plugins-good: h.264 video'
'gst-libav: h.264 video')
install=firefox-nightly.install
options=('!emptydirs' '!makeflags' '!strip')
source=(git+https://github.com/mozilla/gecko-dev
mozconfig firefox-nightly.desktop vendor.js)
sha256sums=('SKIP'
'b06cb8601f9ce4c295fc805fb7a6b79d511f4494898ac413dfd481cf8b4e09f6'
'46c2de250e708295e43c87b5118cda1be2417f854c997ef54d4b92291b73416d'
'9907a80763e6a0f239bcc5634dbfbc2de8842ee76e84b5d2ad7a26f06e1242a6')
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Arch Linux use ONLY. For your own distribution, please
# get your own set of keys. Feel free to contact foutrelis@archlinux.org for
# more information.
_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
pkgver() {
cd gecko-dev
echo $(cat browser/config/version.txt)+$(date +%Y%m%d)+g$(git rev-parse --short HEAD)
}
prepare() {
cd gecko-dev
cp ../mozconfig .mozconfig
echo -n "$_google_api_key" >google-api-key
echo "ac_add_options --with-google-api-keyfile=\"$PWD/google-api-key\"" >>.mozconfig
if [[ -d "$srcdir/path" ]]; then
rm -rf "$srcdir/path"
fi
mkdir "$srcdir/path"
# WebRTC build tries to execute "python" and expects Python 2
ln -s /usr/bin/python2 "$srcdir/path/python"
# Use gold, as Mozilla can use some of its features, such as safe ICF
ln -s /usr/bin/ld.gold "$srcdir/path/ld"
if [[ $_multilib == 1 ]]; then
# Multilib i686
echo "ac_add_options --target=i686-pc-linux-gnu" >>.mozconfig
else
# Only works when not cross-compiling
echo "ac_add_options --enable-dmd" >>.mozconfig
fi
}
build() {
cd gecko-dev
# _FORTIFY_SOURCE causes configure failures
export CPPFLAGS="$CPPFLAGS -O2"
export PATH="$srcdir/path:$PATH"
export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/firefox-nightly"
export PYTHON="/usr/bin/python2"
# Do PGO
xvfb-run -a -s "-extension GLX -screen 0 1280x1024x24" \
make -f client.mk build MOZ_PGO=1
}
package() {
cd gecko-dev
make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install
install -Dm644 ../vendor.js "$pkgdir/usr/lib/firefox-nightly/browser/defaults/preferences/vendor.js"
for i in 16 32 48 256; do
install -Dm644 browser/branding/nightly/default$i.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/firefox-nightly.png"
done
install -Dm644 browser/branding/nightly/content/icon64.png \
"$pkgdir/usr/share/icons/hicolor/64x64/apps/firefox-nightly.png"
install -Dm644 browser/branding/nightly/mozicon128.png \
"$pkgdir/usr/share/icons/hicolor/128x128/apps/firefox-nightly.png"
install -Dm644 browser/branding/nightly/content/about-logo.png \
"$pkgdir/usr/share/icons/hicolor/192x192/apps/firefox-nightly.png"
install -Dm644 browser/branding/nightly/content/about-logo@2x.png \
"$pkgdir/usr/share/icons/hicolor/384x384/apps/firefox-nightly.png"
install -Dm644 ../firefox-nightly.desktop \
"$pkgdir/usr/share/applications/firefox-nightly.desktop"
# Use system-provided dictionaries
rm -rf "$pkgdir"/usr/lib/firefox-nightly/{dictionaries,hyphenation}
ln -s /usr/share/hunspell "$pkgdir/usr/lib/firefox-nightly/dictionaries"
ln -s /usr/share/hyphen "$pkgdir/usr/lib/firefox-nightly/hyphenation"
#workaround for now
#https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -sf firefox-nightly "$pkgdir/usr/lib/firefox-nightly/firefox-nightly-bin"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment