diff options
Diffstat (limited to 'libre/iceweasel/PKGBUILD')
-rw-r--r-- | libre/iceweasel/PKGBUILD | 41 |
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..." |