diff options
Diffstat (limited to 'libre-testing/icecat/PKGBUILD')
-rw-r--r-- | libre-testing/icecat/PKGBUILD | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/libre-testing/icecat/PKGBUILD b/libre-testing/icecat/PKGBUILD new file mode 100644 index 000000000..d60144bde --- /dev/null +++ b/libre-testing/icecat/PKGBUILD @@ -0,0 +1,180 @@ +# Maintainer: Márcio Silva <coadde@lavabit.com> +# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net> +# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar> +# Contributor (Parabola): vando <facundo@esdebian.org> +# Contributor (Parabola): André Silva <emulatorman@lavabit.com> + +# Maintainer (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org> + +# Maintainer (Arch) : Ionut Biru <ibiru@archlinux.org> +# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com> + +# Contributor: Figue <ffigue at gmail> +# Thank you very much to the older contributors: +# Contributor: evr <evanroman at gmail> +# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> + +# Version Configuration ############################################## + +_pgo=false + +pkgname=icecat +pkgver=17.0.1 +pkgrel=2 + +###################################################################### + +if [[ -z $pkgbase ]]; then pkgbase=$pkgname; fi +if $_pgo; then pkgname+='-pgo'; fi +if [ "$pkgbase" != "$pkgname" ]; then + provides+=("$pkgbase=$pkgver") + conflicts+=("$pkgbase") +fi + +pkgdesc="The GNUzilla web browser, based on Mozilla Firefox." +arch=( + 'i686' + 'mips64el' + 'x86_64' +) +license=( + 'GPL2' + 'LGPL' + 'MPL' +) +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.3' + 'sqlite' + 'startup-notification' +) +makedepends=( + 'autoconf2.13' + 'diffutils' + 'imagemagick' + 'imake' + 'libidl2' + 'librsvg' + 'libxslt' + 'mesa' + 'python2' + 'unzip' + 'wireless_tools' + 'zip' +) +[[ $CARCH != mips64el ]] && makedepends+=('yasm') +if $_pgo; then + makedepends+=('xorg-server-xvfb') + options+=(!ccache) +fi +optdepends=('wireless_tools: Location detection via available WiFi networks') +url=http://www.gnu.org/software/gnuzilla/ +install=firefox.install +options=(!emptydirs) +source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver::4}/$pkgname-$pkgver.tar.gz + mozilla-bug-756390.patch::https://bugzilla.mozilla.org/attachment.cgi?id=629706 + bug-xulrunner-copy-stub.patch libre.patch mozconfig.pgo + mozconfig $pkgbase.desktop firefox-install-dir.patch vendor.js shared-libs.patch) +md5sums=('c88a29aa92fc41a07e777a0e63ac5f7e' + '78bbfc17be8ef2104699875300a22316' + '3009b176cc5f9b1e416b1bf7c45b064b' + '6e9f9c6e8c63333e708d7d9e4f4ca161' + 'e4cd438a0b2a42dfb14bc7716e901e5f' + 'd71509923cfede3e634756fee899e492' + 'daa249d183fcf09942ff30db1b279f1e' + '150ac0fb3ac7b2114c8e8851a9e0516c' + '09428128596f92b46caaba5852738f8e' + '52e52f840a49eb1d14be1c0065b03a93') + +build() { + mv $pkgname-$pkgver mozilla-release + cd mozilla-release + + cp ../mozconfig .mozconfig + if $_pgo; then cat ../mozconfig.pgo >> .mozconfig; fi + patch -Np1 -i ../firefox-install-dir.patch + patch -Np1 -i ../shared-libs.patch + patch -Np1 -i ../libre.patch + patch -Np1 -i ../bug-xulrunner-copy-stub.patch + patch -Np1 -i ../mozilla-bug-756390.patch + + # 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 + + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgbase" + export PYTHON="/usr/bin/python2" + export MOZ_MAKE_FLAGS="$MAKEFLAGS" + unset MAKEFLAGS + + if $_pgo; then + export MOZ_PGO=1 + export DISPLAY=:99 + Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY & + fi + + _fail=0 + make -f client.mk build || _fail=1 + + if $_pgo; then + kill $! || true + fi + return $_fail +} + +package() { + cd mozilla-release + make -j1 -f client.mk DESTDIR="$pkgdir" install + + install -Dm644 ../vendor.js "$pkgdir/usr/lib/$pkgbase/defaults/preferences/vendor.js" + + brandingdir=browser/branding/unofficial + for i in 16 32 48; do + install -Dm644 $brandingdir/default$i.png \ + "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgbase.png" + done + + install -Dm644 ../$pkgbase.desktop \ + "$pkgdir/usr/share/applications/$pkgbase.desktop" + + # Use system-provided dictionaries + rm -rf "$pkgdir"/usr/lib/$pkgbase/{dictionaries,hyphenation} + ln -s /usr/share/hunspell "$pkgdir/usr/lib/$pkgbase/dictionaries" + ln -s /usr/share/hyphen "$pkgdir/usr/lib/$pkgbase/hyphenation" + # use mozilla-searchplugins + rm -rf "$pkgdir"/usr/lib/$pkgbase/searchplugins + ln -s /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$pkgbase/searchplugins" + + # We don't want the development stuff + rm -r "$pkgdir"/usr/{include,lib/$pkgbase-devel,share/idl} + + #workaround for now + #https://bugzilla.mozilla.org/show_bug.cgi?id=658850 + ln -sf $pkgbase "$pkgdir/usr/lib/$pkgbase/$pkgbase-bin" +} |