From fca573fc9902626e9e06871e7de281fdea2caa3d Mon Sep 17 00:00:00 2001 From: Isaac David Date: Thu, 8 Dec 2016 15:41:57 -0600 Subject: icecat: armv7h changes and patches --- libre/icecat/PKGBUILD | 25 +++++++-- libre/icecat/no-neon.patch | 123 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+), 3 deletions(-) create mode 100644 libre/icecat/no-neon.patch 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, -- cgit v1.2.3