# $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.3.0-gnu1 pkgver=${_pkgver//-/_} pkgrel=8 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_x86_64=("icu>=60" "icu<61") depends_i686=("icu>=60" "icu<61") depends_armv7h=("icu>=60" "icu<61") 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 mozilla-8904705.patch mozilla-8909448.patch disable-crypto-hardening-settings.patch disable-spoofSource-referer.patch gnu_headshadow.png libre.patch) sha256sums=('699ab2b41d4428ef5e360f3f33d98bc52723315cedac20bb03619846ca895302' 'SKIP' '52df9ffeb52166ed4abd9a132ee4a9017b9c4980f0725ba383610ccfb06d4745' '5bdab2de5520fb4d3dbc453d9f73d20e0e077bf652bc780fc17184ba6c718a47' 'cf224d69e89f37f92202061669014b99fbf7b1fec38fd8ba9f957711fa095729' '68e3a5b47c6d175cc95b98b069a15205f027cab83af9e075818d38610feb6213' 'dc4feddbf22ea11ae2513c68b7f3fc9047850d055a7f30d31a7ee94d7d5de12a' '8ed42e75b577d57e4b07f1d70137cb8e82f757abb616f1cfea694a041ad5679e' 'bb1fc90d117c4a7810e202d23ff44a2dac11b675336533054b5a70dd8606df38' 'c50043266e69f5844e6dce9ea7193af79587dcaa66806932d7867281a176f03e' '93e3001ce152e1d142619e215a9ef07dd429943b99d21726c25da9ceb31e31cd' '76a657a90371e637e7c4b371b71a15c85acafcece6277455e9ede84ffe104d3e') 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 # fix broken glyphs patch -Np1 -i "$srcdir/mozilla-8904705.patch" patch -Np1 -i "$srcdir/mozilla-8909448.patch" # 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" <