summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/icecat/PKGBUILD25
-rw-r--r--libre/icecat/no-neon.patch123
2 files changed, 145 insertions, 3 deletions
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
index 7e20a485b..9170a4cc3 100644
--- a/libre/icecat/PKGBUILD
+++ b/libre/icecat/PKGBUILD
@@ -18,7 +18,7 @@ pkgver=${_pkgver//-/_}
pkgrel=1
pkgdesc="GNU IceCat, 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 desktop-file-utils ffmpeg gtk2 gtk3 hicolor-icon-theme hunspell icu=58.1 libevent libvpx=1.6.0 libxt mime-types mozilla-common nss sqlite startup-notification ttf-font)
makedepends=(diffutils gconf imake inetutils libpulse mesa mozilla-searchplugins python2 unzip yasm zip)
@@ -47,7 +47,8 @@ source=(http://ftp.gnu.org/gnu/gnuzilla/${_pkgver%-*}/$pkgname-$_pkgver.tar.bz2{
no-libnotify.patch
$pkgname-gtk3-20.patch
disable-crypto-hardening-settings.patch
- disable-spoofSource-referer.patch)
+ disable-spoofSource-referer.patch
+ no-neon.patch )
sha256sums=('8163e5bc53f69d9f9b0fc5e9f95fae33da8139ae0f902756751cadbaa27e6ee9'
'SKIP'
'89f375161a085ec37e88d5ceb9562dc33ed8ef03e225fefa819dfe3c6eb7290f'
@@ -63,7 +64,8 @@ sha256sums=('8163e5bc53f69d9f9b0fc5e9f95fae33da8139ae0f902756751cadbaa27e6ee9'
'e4ebdd14096d177d264a7993dbd5df46463605ff45f783732c26d30b9caa53a7'
'2e355a477f1df792cd7f9d1e3a56030543e0cf2d09051dd293ba495a7edb54fd'
'0166aa368420f0bf0aab064b2188e3d852b241efeeb27dee66df2bc15e84b83a'
- 'c50043266e69f5844e6dce9ea7193af79587dcaa66806932d7867281a176f03e')
+ 'c50043266e69f5844e6dce9ea7193af79587dcaa66806932d7867281a176f03e'
+ '6d0c1c9ca28b20d206ce24ca84f4d4e3f5d062a2e9cb7445fcb6c2cfea959b4a')
validpgpkeys=(
'A57369A8BABC2542B5A0368C3C76EED7D7E04784' # Ruben Rodriguez
)
@@ -130,6 +132,23 @@ prepare() {
# 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"
+
+ # 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
+
+ echo "ac_add_options --disable-neon" >> .mozconfig
+ patch -Np0 -i ../no-neon.patch
+ fi
}
build() {
diff --git a/libre/icecat/no-neon.patch b/libre/icecat/no-neon.patch
new file mode 100644
index 000000000..12b0e64c1
--- /dev/null
+++ b/libre/icecat/no-neon.patch
@@ -0,0 +1,123 @@
+--- configure.orig 2015-08-07 06:32:41.988366320 -0600
++++ configure 2015-08-08 18:23:31.316475879 -0600
+@@ -7137,14 +7137,7 @@
+ rm -f conftest*
+ echo "$ac_t"""$result"" 1>&6
+ if test "$result" = "yes"; then
+- cat >> confdefs.pytmp <<\EOF
+- (''' HAVE_ARM_SIMD ''', ' 1 ')
+-EOF
+-cat >> confdefs.h <<\EOF
+-#define HAVE_ARM_SIMD 1
+-EOF
+-
+- HAVE_ARM_SIMD=1
++ HAVE_ARM_SIMD=
+ fi
+
+ echo $ac_n "checking ARM version support in compiler""... $ac_c" 1>&6
+@@ -7176,27 +7169,13 @@
+ rm -f conftest*
+ echo "$ac_t"""$result"" 1>&6
+ if test "$result" = "yes"; then
+- cat >> confdefs.pytmp <<\EOF
+- (''' HAVE_ARM_NEON ''', ' 1 ')
+-EOF
+-cat >> confdefs.h <<\EOF
+-#define HAVE_ARM_NEON 1
+-EOF
++ HAVE_ARM_NEON=
+
+- HAVE_ARM_NEON=1
+-
+- if test -n "$ARM_ARCH"; then
++ if test -n "$ARM_ARCH"; then
+ if test "$ARM_ARCH" -lt 7; then
+ BUILD_ARM_NEON=
+ else
+- cat >> confdefs.pytmp <<\EOF
+- (''' BUILD_ARM_NEON ''', ' 1 ')
+-EOF
+-cat >> confdefs.h <<\EOF
+-#define BUILD_ARM_NEON 1
+-EOF
+-
+- BUILD_ARM_NEON=1
++ BUILD_ARM_NEON=
+ fi
+ fi
+ fi
+--- js/src/configure.orig 2015-08-07 06:33:02.108365042 -0600
++++ js/src/configure 2015-08-08 18:24:00.676479200 -0600
+@@ -6267,14 +6267,7 @@
+ rm -f conftest*
+ echo "$ac_t"""$result"" 1>&6
+ if test "$result" = "yes"; then
+- cat >> confdefs.pytmp <<\EOF
+- (''' HAVE_ARM_SIMD ''', ' 1 ')
+-EOF
+-cat >> confdefs.h <<\EOF
+-#define HAVE_ARM_SIMD 1
+-EOF
+-
+- HAVE_ARM_SIMD=1
++ HAVE_ARM_SIMD=
+ fi
+
+ echo $ac_n "checking ARM version support in compiler""... $ac_c" 1>&6
+@@ -6306,27 +6299,13 @@
+ rm -f conftest*
+ echo "$ac_t"""$result"" 1>&6
+ if test "$result" = "yes"; then
+- cat >> confdefs.pytmp <<\EOF
+- (''' HAVE_ARM_NEON ''', ' 1 ')
+-EOF
+-cat >> confdefs.h <<\EOF
+-#define HAVE_ARM_NEON 1
+-EOF
+-
+- HAVE_ARM_NEON=1
++ HAVE_ARM_NEON=
+
+ if test -n "$ARM_ARCH"; then
+ if test "$ARM_ARCH" -lt 7; then
+ BUILD_ARM_NEON=
+ else
+- cat >> confdefs.pytmp <<\EOF
+- (''' BUILD_ARM_NEON ''', ' 1 ')
+-EOF
+-cat >> confdefs.h <<\EOF
+-#define BUILD_ARM_NEON 1
+-EOF
+-
+- BUILD_ARM_NEON=1
++ BUILD_ARM_NEON=
+ fi
+ fi
+ fi
+--- mozglue/build/arm.h.orig 2015-08-08 18:21:03.686458059 -0600
++++ mozglue/build/arm.h 2015-08-08 18:21:16.781459724 -0600
+@@ -69,12 +69,6 @@
+ # endif
+ # endif
+
+- // When using -mfpu=neon, gcc generates neon instructions.
+-
+-# if defined(__ARM_NEON__)
+-# define MOZILLA_PRESUME_NEON 1
+-# endif
+-
+ // Currently we only have CPU detection for Linux via /proc/cpuinfo
+ # if defined(__linux__) || defined(ANDROID)
+ # define MOZILLA_ARM_HAVE_CPUID_DETECTION 1
+--- build/gyp.mozbuild.orig 2015-08-08 20:00:38.026946903 -0600
++++ build/gyp.mozbuild 2015-08-08 20:00:45.321915167 -0600
+@@ -40,7 +40,7 @@
+
+ # turn off mandatory use of NEON and instead use NEON detection
+ 'arm_neon': 0,
+- 'arm_neon_optional': 1,
++ 'arm_neon_optional': 0,
+
+ 'moz_widget_toolkit_gonk': 0,
+ 'moz_webrtc_omx': 0,