# $Id$ # Maintainer (Arch): Jan Alexander Steffens (heftig) # Contributor (Arch): Ionut Biru # Contributor (Arch): Jakub Schmidtke # Maintainer: Andreas Grapentin # Contributor: André Silva # Contributor: Márcio Silva # Contributor (ConnochaetOS): Henry Jensen # Contributor: Luke Shumaker # Contributor: fauno # Contributor: vando # Contributor: Figue # Contributor: evr # Contributor: Muhammad 'MJ' Jassim # parabola changes and rationale: # - based on the PKGBUILD of iceweasel, sans rebranding _pkgname=firefox pkgname=icecat _pkgver=52.6.0-gnu1 pkgver=${_pkgver//-/_} pkgrel=3 pkgdesc="GNU Icecat - a libre standalone web browser based on Mozilla Firefox." arch=(x86_64 i686 armv7h) license=(MPL GPL LGPL) url="http://www.gnu.org/software/gnuzilla/" depends=(gtk3 gtk2 mozilla-common libxt startup-notification mime-types dbus-glib ffmpeg nss hunspell sqlite ttf-font libpulse libvpx icu) depends+=('icu>=62' 'icu<63') makedepends=(unzip zip diffutils python2 yasm mesa imake gconf inetutils xorg-server-xvfb autoconf2.13 rust clang llvm jack mozilla-searchplugins) optdepends=('networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' 'upower: Battery API') options=(!emptydirs !makeflags !strip) replaces=("$_pkgname") conflicts=("$_pkgname") source=(http://ftp.gnu.org/gnu/gnuzilla/${_pkgver%-*}/$pkgname-$_pkgver.tar.bz2{,.sig} $pkgname.desktop $pkgname-install-dir.patch no-crmf.diff $pkgname-fixed-loading-icon.png disable-crypto-hardening-settings.patch disable-spoofSource-referer.patch gnu_headshadow.png libre.patch) sha256sums=('0a0cf3acb2067e0580204b44bb5a02fab2033c6bbf7c0b47522a3c4c1f29d625' 'SKIP' '52df9ffeb52166ed4abd9a132ee4a9017b9c4980f0725ba383610ccfb06d4745' 'a7755c929fed4bc2008319dacad92b543db71168294b124855c5d3a19e46ae8a' 'd5f0279bcefb5c846ac86c487d540dfc75a5ee45af08e40651e50e778c65f2c0' '68e3a5b47c6d175cc95b98b069a15205f027cab83af9e075818d38610feb6213' 'bb1fc90d117c4a7810e202d23ff44a2dac11b675336533054b5a70dd8606df38' 'c50043266e69f5844e6dce9ea7193af79587dcaa66806932d7867281a176f03e' '93e3001ce152e1d142619e215a9ef07dd429943b99d21726c25da9ceb31e31cd' 'd32f97e812c536efd9bdc7043efd6f9472a1edd9f814b453805c7c10ffea25a6') validpgpkeys=('A57369A8BABC2542B5A0368C3C76EED7D7E04784') # Ruben Rodriguez prepare() { mkdir path ln -s /usr/bin/python2 path/python cd "$srcdir/$pkgname-${pkgver%_*}" patch -Np1 -i ../$pkgname-install-dir.patch # https://bugzilla.mozilla.org/show_bug.cgi?id=1371991 patch -Np1 -i ../no-crmf.diff cat >.mozconfig <> .mozconfig << END ac_add_options --disable-webrtc ac_add_options --disable-elf-hack ac_add_options --enable-optimize="-g -O2 -fno-schedule-insns" END fi # Put gnu_headshadow.png in the source code install -m644 "$srcdir/gnu_headshadow.png" \ browser/base/content/abouthome # Patch and remove anything that's left patch -Np1 -i "$srcdir/libre.patch" rm -v browser/base/content/abouthome/snippet*.png || true sed -i '\|abouthome/snippet|d ' browser/base/jar.mn # Fix tab loading icon (doesn't work with libpng 1.6) # https://bugzilla.mozilla.org/show_bug.cgi?id=841734 cp "$srcdir/$pkgname-fixed-loading-icon.png" \ browser/themes/linux/tabbrowser/loading.png # Load our searchplugins rm -rv browser/locales/searchplugins cp -av /usr/lib/mozilla/searchplugins browser/locales # Disable crypto hardening settings for now # https://lists.parabola.nu/pipermail/assist/2015-October/000534.html # https://labs.parabola.nu/issues/842 patch -Np1 -i "$srcdir/disable-crypto-hardening-settings.patch" # Disable spoofSource referer since it breaks referer function used by some sites # https://labs.parabola.nu/issues/1073 patch -Np1 -i "$srcdir/disable-spoofSource-referer.patch" } build() { cd "$srcdir/$pkgname-${pkgver%_*}" # _FORTIFY_SOURCE causes configure failures CPPFLAGS+=" -O2" export PATH="$srcdir/path:$PATH" # Do PGO #xvfb-run -a -n 95 -s "-extension GLX -screen 0 1280x1024x24" \ # make -f client.mk build MOZ_PGO=1 make -f client.mk build } package() { cd "$srcdir/$pkgname-${pkgver%_*}" make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install _vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" install -Dm644 /dev/stdin "$_vendorjs" <