summaryrefslogtreecommitdiff
path: root/libre/iceweasel
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2020-02-02 12:42:37 -0500
committerbill-auger <mr.j.spam.me@gmail.com>2020-02-02 12:59:57 -0500
commit1cdfbf02ddd0cbffcdd831846734d155ba0e8f3f (patch)
tree131c4d8288869ba2b6dfbfcd5f46b8f8a02b1880 /libre/iceweasel
parentcc83f5e908f786b8809e09c06489234a053ee411 (diff)
[iceweasel]: wip - armv7h
Diffstat (limited to 'libre/iceweasel')
-rw-r--r--libre/iceweasel/PKGBUILD41
1 files changed, 36 insertions, 5 deletions
diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index c701dc37f..9235a0fa0 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -2,6 +2,7 @@
# Contributor (arch): Ionut Biru <ibiru@archlinux.org>
# Contributor (arch): Jakub Schmidtke <sjakub@gmail.com>
# Maintainer (connochaetos): Henry Jensen <hjensen@connochaetos.org>
+# Maintainer (alarm): Kevin Mihelich <kevin@archlinuxarm.org>
# Maintainer (arch32): Andreas Baumann <mail@andreasbaumann.cc>
# Contributor (arch32): Erich Eckner <git@eckner.net>
# Contributor: Andreas Grapentin <andreas@grapentin.org>
@@ -33,7 +34,7 @@
#
# technical:
# - build i686 with GCC instead of clang
-# - disable rust-SIMD, LTO, PGO, and skip profiling build for i686
+# - disable rust-SIMD, LTO, PGO, and skip profiling build for armv7h and i686
#
# privacy:
# - Remove Google API keys and usage
@@ -77,6 +78,8 @@ source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}-${_
libre.patch
libre-searchengines.patch
vendor.js.in)
+source_armv7h=(arm.patch
+ build-arm-libopus.patch)
source_i686=('rust-static-disable-network-test-on-static-libraries.patch'
'avoid-libxul-OOM-python-check.patch')
sha256sums=('1fa59aedc8469c3e6ffb12449ab7de2f93776f7679eedebfb74aa309b694956f'
@@ -88,6 +91,8 @@ sha256sums=('1fa59aedc8469c3e6ffb12449ab7de2f93776f7679eedebfb74aa309b694956f'
'1169ccda88642881e0ba024f0c82fce9ac3064d3587517f9960e88cae479ce3e'
'dfed11d97f1d4198a3dc608be159b6b53a11054f376cdb73bb0fe9a487ae9418'
'4979e733215492372c196cdb93ec61eac1fbbd44f44e637dbd420040c8d9affe')
+sha256sums_armv7h=('2bb1f6b9b66a00f4f98eb5cdb2f25972018efe042153503cbc8c494780d7225e'
+ '2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
sha256sums_i686=('4da71f6614dce71db8e9ec2d317514aae90838c2c65620d435f0df06b45b578b'
'5a3e038a57c4576dcb88766d41cbfda5ad109d5cfe41d2000f7ba25563bf00f2')
validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
@@ -143,7 +148,24 @@ END
## [ARCH-SPECIFIC CONFIG] ##
case ${CARCH} in
armv7h)
- error "armv7h support is not implemented" ; return 1 ; # FIXME:
+ cat >>../mozconfig <<END
+ac_add_options --disable-hardening
+ac_add_options --disable-optimize
+ac_add_options --enable-optimize="-g0 -O2"
+ac_add_options --disable-rust-simd
+ac_add_options --disable-lto
+export CC=clang
+export CXX=clang++
+ac_add_options --disable-elf-hack
+ac_add_options --disable-av1
+END
+# mk_add_options MOZ_MAKE_FLAGS=${MAKEFLAGS} # from archlinuxarm
+
+ # mozbuild.configure.options.InvalidOptionError: --disable-eme is not available in this configuration
+ sed -i 's|ac_add_options --disable-eme||' ../mozconfig
+
+ patch -p1 -i ../arm.patch
+ patch -p1 -i ../build-arm-libopus.patch
;;
i686)
# disable LTO and use gcc toolchain (clang has issues on IA32)
@@ -268,7 +290,15 @@ build() {
## [ARCH-SPECIFIC CONFIG] ##
case ${CARCH} in
armv7h)
- error "armv7h support is not implemented" ; return 1 ; # FIXME:
+ export MOZ_DEBUG_FLAGS=" "
+ export CFLAGS+=" -g0"
+ export CXXFLAGS+=" -g0"
+ export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+# export RUSTFLAGS="-Cdebuginfo=0" # from archlinuxarm
+ export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off" # archlinuxarm has --disable-lto but not -Clto=off
+
+ # skipping PGO "instrumented browser"; so we have the final .mozconfig now
+ cp ../mozconfig .mozconfig
;;
i686)
# do not do profiling on i686: ..or it will for sure run out of memory - it doesn't find libraries:
@@ -283,7 +313,7 @@ build() {
# avoid excessive debug symbols in rust leading to out-of-memory situations
sed -i "s/debug_info = '\''2'\''/debug_info = '\''0'\''/" build/moz.configure/toolchain.configure
- # gcc and cross PGO are not best friends, skip PGO "instrumented browser"
+ # skipping PGO "instrumented browser"; so we have the final .mozconfig now
cp ../mozconfig .mozconfig
;;
x86_64)
@@ -325,7 +355,8 @@ END
;;
esac
- # sanity check
+ # sanity checks
+ # each of the [ARCH-SPECIFIC CONFIG] branches above should have created .mozconfig
[[ ! -f .mozconfig ]] && error ".mozconfig file not found in source root" && return 1
msg2 "Building optimized browser..."