# Contributor (ConnochaetOS): Henry Jensen # Contributor (Parabola): Luke Shumaker # Contributor: Figue # Contributor (Parabola): fauno # Contributor (Parabola): vando # Contributor (Parabola): emulatorman # Contributor (Parabola): Márcio Silva # Contributor (Arch): Jakub Schmidtke # Thank you very much to the older contributors: # Contributor: evr # Contributor: Muhammad 'MJ' Jassim # If you are updating this package, don't forget to update the version number in # the value for 'browser.dictionaries.download.url' in 'libre.patch' _pgo=false _pkgname=icecat pkgver=12.0 pkgrel=1 if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi if $_pgo; then pkgname+='-pgo' fi pkgdesc="The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!" arch=('i686' 'x86_64' 'mips64el') license=('GPL2' 'MPL' 'LGPL') depends=( 'alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss>=3.13.1' 'sqlite3' 'startup-notification' ) makedepends=( 'autoconf2.13' 'diffutils' 'imagemagick' 'libidl2' 'librsvg' 'libxslt' 'mesa' 'pkg-config' 'python2' 'unzip' 'wireless_tools' 'zip' ) if $_pgo; then makedepends+=('xorg-server-xvfb') options=(!ccache) fi url="http://www.gnu.org/software/gnuzilla/" install=icecat.install source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${pkgver}.tar.xz mozconfig mozconfig.pgo xulrunner-copy-stub.patch libre.patch icecat.desktop icecat-safe.desktop icecat-install-dir.patch vendor.js gcc47.patch cairo.patch) md5sums=('04a5504c5c473354bcd20f7116360fee' '3117865902d1a20ab61d75707be9888e' 'ac29b01c189f20abae2f3eef1618ffc0' '683c4540ab84c220937feb7d1a1450ee' 'd403b0ae09306fef3870132e7fd33ed2' 'e81ad01dbc16ba28bf92ba4b7c309ca7' 'd93fe402b87cd000a869e1fd6badc6c9' '268e65c8fcae6152e156c09760a18dfd' '0d053487907de4376d67d8f499c5502b' '79e471e0bd03b1d4e84fd3a6776bd619' '721c59ffc14f14cb0d3a90b7e84df70e') if [ "$_pkgname" != "$pkgname" ]; then provides+=("$_pkgname") conflicts+=("$_pkgname") fi build() { export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname" export PYTHON="/usr/bin/python2" mv "$_pkgname-$pkgver" "$srcdir/mozilla-build" cd "$srcdir/mozilla-build" patch -Np1 -i "$srcdir/icecat-install-dir.patch" # install to /usr/lib/$pkgname patch -Np1 -i "$srcdir/xulrunner-copy-stub.patch" # small fix patch -Np1 -i "$srcdir/libre.patch" # Remove Google+Mozilla stuff patch -Np1 -i "$srcdir/gcc47.patch" patch -Np1 -i "$srcdir/cairo.patch" cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch if $_pgo; then cat "$srcdir/mozconfig.pgo" >> .mozconfig fi # Fix PRE_RELEASE_SUFFIX sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ browser/base/Makefile.in # This is a bug, we should fix it. if [ "$CARCH" = "mips64el" ]; then # Fix MIPS N32 support. sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \ js/src/assembler/wtf/Platform.h # Disable JIT. sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \ js/src/assembler/wtf/Platform.h sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.in echo 'ac_add_options --disable-methodjit' >> .mozconfig echo 'ac_add_options --disable-tracejit' >> .mozconfig echo 'ac_add_options --disable-jemalloc' >> .mozconfig fi chmod +x build/unix/run-icecat.sh # fix bug for bad file permition if $_pgo; then LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 & LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS" kill $! || true else LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" fi } package() { cd "$srcdir/mozilla-build" make -j1 -f client.mk DESTDIR="$pkgdir" install install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref" brandingdir="browser/branding/unofficial" icondir="$pkgdir/usr/share/icons/hicolor" for i in 16x16 32x32 48x48; do install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png" done install -d "$pkgdir/usr/share/applications" install -m644 "$srcdir/icecat.desktop" "$pkgdir/usr/share/applications" install -m644 "$srcdir/icecat-safe.desktop" "$pkgdir/usr/share/applications" rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation,searchplugins,plugins} ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries" ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation" ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/plugins" ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/searchplugins" # We don't want the development stuff rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl} # Fix a bug with https-everywhere (duplicate rules) #rm -f "$pkgdir/usr/lib/$pkgname/extensions/https-everywhere@eff.org/chrome/content/rules/GoogleMaps.xml~HEAD" # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850 ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" }