From 40d1fce9a768dbe5d2a6655c8b894e1896a55b93 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 22 Sep 2016 08:16:14 -0300 Subject: iceweasel: add armv7h support --- libre/iceweasel/PKGBUILD | 36 +++++++++++++++++++++++++++------ libre/iceweasel/mozilla-1253216.patch | 12 +++++++++++ libre/iceweasel/mozilla-build-arm.patch | 24 ++++++++++++++++++++++ 3 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 libre/iceweasel/mozilla-1253216.patch create mode 100644 libre/iceweasel/mozilla-build-arm.patch (limited to 'libre/iceweasel') diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD index 06c088d58..5b3d9de31 100644 --- a/libre/iceweasel/PKGBUILD +++ b/libre/iceweasel/PKGBUILD @@ -9,9 +9,10 @@ # Contributor: taro-k # Contributor: Michał Masłowski # Contributor: Luke R. +# Contributor: Isaac David # Thank you very much to the older contributors: # Contributor: evr -# Contributor: Muhammad 'MJ' Jassim +# Contributor: Muhammad 'MJ' Jassim _pgo=false @@ -32,10 +33,12 @@ pkgver=$_debver.$_debrel pkgrel=1 pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox." -arch=(i686 x86_64) +arch=(i686 x86_64 armv7h) license=(MPL GPL LGPL) depends=(alsa-lib dbus-glib ffmpeg gtk2 gtk3 hunspell icu=57.1 libevent libvpx=1.6.0 libxt mime-types mozilla-common nss sqlite startup-notification ttf-font) -makedepends=(autoconf2.13 diffutils gconf imagemagick imake inetutils libidl2 libpulse librsvg-stable libxslt mesa mozilla-searchplugins pkg-config python2 quilt rust unzip yasm zip) +makedepends=(autoconf2.13 diffutils gconf imagemagick imake inetutils libidl2 libpulse librsvg-stable libxslt mesa mozilla-searchplugins pkg-config python2 quilt unzip yasm zip) +makedepends_i686=(rust) +makedepends_x86_64=("${makedepends_i686[@]}") options=(!emptydirs !makeflags debug) if $_pgo; then makedepends+=(xorg-server-xvfb) @@ -59,7 +62,9 @@ source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.xz" $pkgname.desktop $pkgname-install-dir.patch vendor.js - enable-object-directory-paths.patch) + enable-object-directory-paths.patch + mozilla-1253216.patch + mozilla-build-arm.patch) sha256sums=('2f463afd3c74eb9477f58525214f06498357ff90f01b45fb2675fc77c57bcffe' 'ad6e1da709e0f7e86da83fee84067968acd1678576c4cf1757214b2954780ce5' 'c0fd88e37187298a7658919cf2e4b6d024425b781d6aff5bdba49dc991f379d3' @@ -72,7 +77,9 @@ sha256sums=('2f463afd3c74eb9477f58525214f06498357ff90f01b45fb2675fc77c57bcffe' '87034dbb640f70454b27d1695a6f03b6fd1ab81c82eb4d8c771db925ae03d408' '3aea6676f1e53a09673b6ae219d281fc28054beb6002b09973611c02f827651d' 'e1c82f5f683258e17f7b3dba62a938e4efe4d232f45a4b82e74cd2793fd5f7fe' - 'e260e555b261aabab1e48786dd514eeea056e4402af7cfd4dfd1d32858441484') + 'e260e555b261aabab1e48786dd514eeea056e4402af7cfd4dfd1d32858441484' + 'fbb6011501a74a8ea6d01c041870fcefb7ef2859c134aedc676e5f6452833f65' + '56eecee8162c138c442773d66483886f1242c8dd2b16eed5711ae5e63d9b0e3a') validpgpkeys=( 'C92BAA713B8D53D3CAE63FC9E6974752F9704456' # André Silva '684D54A189305A9CC95446D36B888913DDB59515' # Márcio Silva @@ -124,6 +131,23 @@ prepare() { # Load our searchplugins rm -rv browser/locales/en-US/searchplugins cp -av /usr/lib/mozilla/searchplugins browser/locales/en-US + + # ARM-specific changes: + if [[ "$CARCH" == arm* ]]; then + sed -i '/ac_add_options --enable-rust/d' .mozconfig + echo "ac_add_options --disable-ion" >> .mozconfig + echo "ac_add_options --disable-elf-hack" >> .mozconfig + echo "ac_add_options --disable-webrtc" >> .mozconfig + + # Disable gold linker, reduce memory consumption at link time + sed -i '/ac_add_options --enable-gold/d' .mozconfig + LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" + echo "ac_add_options --disable-tests" >> .mozconfig + echo "ac_add_options --disable-debug" >> .mozconfig + + patch -p1 -i ../mozilla-1253216.patch + patch -p1 -i ../mozilla-build-arm.patch + fi } build() { @@ -167,7 +191,7 @@ package() { install -Dm644 "$_brandingdir/${pkgname}_icon.svg" \ "$icondir/scalable/apps/$pkgname.svg" - + install -d "$pkgdir/usr/share/applications" install -m644 "$srcdir/$pkgname.desktop" \ "$pkgdir/usr/share/applications" diff --git a/libre/iceweasel/mozilla-1253216.patch b/libre/iceweasel/mozilla-1253216.patch new file mode 100644 index 000000000..c9252da5f --- /dev/null +++ b/libre/iceweasel/mozilla-1253216.patch @@ -0,0 +1,12 @@ +diff -up firefox-48.0/js/src/jit/AtomicOperations.h.old firefox-48.0/js/src/jit/AtomicOperations.h +--- firefox-48.0/js/src/jit/AtomicOperations.h.old 2016-07-27 09:42:43.148175449 +0200 ++++ firefox-48.0/js/src/jit/AtomicOperations.h 2016-07-27 09:41:13.000000000 +0200 +@@ -340,7 +340,7 @@ AtomicOperations::isLockfree(int32_t siz + # elif defined(__aarch64__) + # include "jit/arm64/AtomicOperations-arm64.h" + # else +-# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always ++# include "jit/none/AtomicOperations-ppc.h" + # endif + #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) + # include "jit/x86-shared/AtomicOperations-x86-shared.h" diff --git a/libre/iceweasel/mozilla-build-arm.patch b/libre/iceweasel/mozilla-build-arm.patch new file mode 100644 index 000000000..774147bbb --- /dev/null +++ b/libre/iceweasel/mozilla-build-arm.patch @@ -0,0 +1,24 @@ +diff -up firefox-46.0/media/webrtc/trunk/webrtc/build/common.gypi.arm firefox-46.0/media/webrtc/trunk/webrtc/build/common.gypi +--- firefox-46.0/media/webrtc/trunk/webrtc/build/common.gypi.arm 2016-04-25 12:03:12.486027089 +0200 ++++ firefox-46.0/media/webrtc/trunk/webrtc/build/common.gypi 2016-04-25 12:05:55.714644873 +0200 +@@ -312,20 +312,6 @@ + 'defines': [ + 'WEBRTC_ARCH_ARM', + ], +- 'conditions': [ +- ['arm_version>=7', { +- 'defines': ['WEBRTC_ARCH_ARM_V7', +- 'WEBRTC_BUILD_NEON_LIBS'], +- 'conditions': [ +- ['arm_neon==1', { +- 'defines': ['WEBRTC_ARCH_ARM_NEON',], +- }], +- ['arm_neon==0 and arm_neon_optional==1', { +- 'defines': ['WEBRTC_DETECT_ARM_NEON',], +- }], +- ], +- }], +- ], + }], + ['os_bsd==1', { + 'defines': [ -- cgit v1.2.3-54-g00ecf