diff options
Diffstat (limited to 'libre/icecat/PKGBUILD')
-rwxr-xr-x[-rw-r--r--] | libre/icecat/PKGBUILD | 213 |
1 files changed, 114 insertions, 99 deletions
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD index 79274ce21..fd050fb27 100644..100755 --- a/libre/icecat/PKGBUILD +++ b/libre/icecat/PKGBUILD @@ -3,7 +3,8 @@ # Contributor: Figue <ffigue at gmail> # Contributor (Parabola): fauno <fauno@kiwwwi.com.ar> # Contributor (Parabola): vando <facundo@esdebian.org> -# Contributor (Parabola): emulatorman <andre.paulista@adinet.com.uy> +# Contributor (Parabola): André Silva <emulatorman@lavabit.com> +# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com> # Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com> # Thank you very much to the older contributors: # Contributor: evr <evanroman at gmail> @@ -13,138 +14,152 @@ # the value for 'browser.dictionaries.download.url' in 'libre.patch' _pgo=false - -_pkgname=icecat -pkgver=10.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') +pkgname=icecat +pkgver=14.0 +pkgrel=2 +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' + 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' + sqlite3 + startup-notification ) makedepends=( - 'autoconf2.13' - 'diffutils' - 'libidl2' - 'mesa' - 'pkg-config' - 'python2' - 'unzip' - 'wireless_tools' - 'yasm' - 'zip' + autoconf2.13 + diffutils + imagemagick + libidl2 + librsvg + libxslt + mesa + pkg-config + python2 + unzip + wireless_tools + zip +) +optdepends=( + 'wireless_tools: Location detection via available WiFi networks' ) if $_pgo; then - makedepends+=('xorg-server-xvfb') + 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 - icecat.desktop - icecat-safe.desktop - libre.patch - firefox-install-dir.patch - vendor.js - libvpx.patch) - -if [ "$_pkgname" != "$pkgname" ]; then - provides+=("$_pkgname") - conflicts+=("$_pkgname") -fi +options=(!emptydirs) +url=http://www.gnu.org/software/gnuzilla/ +install=$pkgname.install +source=( + ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver::4}/$pkgname-$pkgver.tar.gz + mozconfig + mozconfig.pgo + xulrunner-copy-stub.patch + libre.patch + $pkgname.desktop + $pkgname-safe.desktop + $pkgname-install-dir.patch + vendor.js + cairo.patch +) +md5sums=( + 6bb02202cd568e8a4f43239b8f52a4a7 + 3117865902d1a20ab61d75707be9888e + ac29b01c189f20abae2f3eef1618ffc0 + 3009b176cc5f9b1e416b1bf7c45b064b + 72e6bb9ebebe555b4ab961add3df3b27 + e81ad01dbc16ba28bf92ba4b7c309ca7 + d93fe402b87cd000a869e1fd6badc6c9 + b320085e7effa2890a79f4f45760614b + 0d053487907de4376d67d8f499c5502b + c8552d030494443218d88792f4dbbd0f +) build() { - mv "$_pkgname-$pkgver" "$srcdir/mozilla-build" - cd "$srcdir/mozilla-build" - - cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch - patch -Np1 -i "$srcdir/firefox-install-dir.patch" # install to /usr/lib/$pkgname - patch -Np1 -i "$srcdir/libre.patch" # Remove Google+Mozilla stuff - patch -Np1 -i "$srcdir/libvpx.patch" # patch from Arch + mv $pkgname-$pkgver $srcdir/gnuzilla-build + cd $srcdir/gnuzilla-build + cp $srcdir/mozconfig .mozconfig # Load our build config, disable SafeSearch if $_pgo; then - cat "$srcdir/mozconfig.pgo" >> .mozconfig + cat $srcdir/mozconfig.pgo >> .mozconfig fi + patch -Np1 -i $srcdir/$pkgname-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/cairo.patch # fix cairo + + # Fix for use nspr, sqlite and nss external + sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' \ + browser/installer/Makefile.in # Fix PRE_RELEASE_SUFFIX sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ browser/base/Makefile.in - export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname" - export PYTHON="/usr/bin/python2" + # 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 + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgname" + export PYTHON=/usr/bin/python2 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" + 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" + 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 + cd $srcdir/gnuzilla-build + make -j1 -f client.mk DESTDIR=$pkgdir install - install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref" + install -Dm644 $srcdir/vendor.js $pkgdir/usr/lib/$pkgname/defaults/pref - brandingdir="browser/branding/unofficial" - icondir="$pkgdir/usr/share/icons/hicolor" + 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" + 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" + for d in $pkgname $pkgname-safe; do + install -Dm644 $srcdir/$d.desktop $pkgdir/usr/share/applications/$d.desktop + done - 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" + 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" + rm -rf $pkgdir/usr/{include,lib/$pkgname-devel,share/idl} # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" + ln -sf $pkgname $pkgdir/usr/lib/$pkgname/$pkgname-bin } - -md5sums=('5a30f5c5422fb7c9b1a2d253028df9d7' - '6f3a8fd65c416216a1b56b0c2d2d81aa' - 'ac29b01c189f20abae2f3eef1618ffc0' - 'e81ad01dbc16ba28bf92ba4b7c309ca7' - 'd93fe402b87cd000a869e1fd6badc6c9' - '145f453ef82f643711c10d97ec57a805' - '1e4bcac59e93d21fffa6a1d1ad235247' - 'c382e35315047e4ca368d09383b39b8d' - '5d418ecdbdb9f40597df6b978b0b5ee5') |