From 9a3cf89dc421b65e3325fd3cf073605770f9cf7f Mon Sep 17 00:00:00 2001 From: bill-auger Date: Sat, 30 Apr 2022 18:55:13 -0400 Subject: [iceweasel]: tweak for i686 --- libre/iceweasel/PKGBUILD | 47 ++++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) (limited to 'libre/iceweasel/PKGBUILD') diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD index b508e1858..c4801250a 100644 --- a/libre/iceweasel/PKGBUILD +++ b/libre/iceweasel/PKGBUILD @@ -74,10 +74,7 @@ makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb python-setuptools python-psutil python-zstandard lld dump_syms wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi) makedepends+=(quilt libxslt imagemagick git jq python-jsonschema) -[[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/jack/jack2} ) -[[ "${CARCH}" == i686 ]] && makedepends=( ${makedepends[*]/llvm/llvm12} ) -makedepends_i686=(gcc10) # cannot build i686 today - rust is unusable -makedepends_i686+=(wasi-compiler-rt=12.0.1 wasi-libc++=12.0.1 wasi-libc++abi=12.0.1) # wasi-libc=???) +makedepends_i686=(gcc10) optdepends=('networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' 'pulseaudio: Audio support' @@ -99,7 +96,7 @@ source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}.bra source_armv7h=(build-arm-libopus.patch) source_i686=('avoid-libxul-OOM-python-check.patch' 'rust-static-disable-network-test-on-static-libraries.patch' - 'firefox-93.0_x86_math_private_20211110.patch') + 'firefox-99.0.1-fdlibm-double.patch') sha256sums=('76d22279ce99588a728bb2d034064be0d5918b5900631f2148d4565b8a72e00b' 'SKIP' '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58') @@ -114,12 +111,11 @@ sha256sums+=('d1b9d98cea5356df97fc5c221830de1ced8f826cb39fac9427c407e3eae54c02' sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9') sha256sums_i686=('2f0c81a38c4578f68f5456b618fe84a78974072821488173eb55e0e72287e353' '10c5276eab2e87f400a6ec15d7ffbef3b0407ee888dea36f1128927ca55b9041' - '84836b905d23a6cfdd955b9312bbb794e5329af36963c81572195039c68291fc') + '62695e56daf8c0b8bb921980d475b3fd169b9134188ad9ffaeb9cd660589c23d') validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases validpgpkeys+=('BFA8008A8265677063B11BF47171986E4B745536') # Andreas Grapentin validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) # anti-feature # Note: These are for Arch Linux use ONLY. For your own distribution, please # anti-feature # get your own set of keys. Feel free to contact foutrelis@archlinux.org for # anti-feature @@ -133,7 +129,7 @@ validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger # _mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a # anti-feature -# disable PGO (necessary for 32-bit) +# disable PGO for 32-bit arches _should_skip_pgo_armv7h=1 # disable for armv7h _should_skip_pgo_i686=1 # disable for i686 _should_skip_pgo_x86_64=0 # disable for x86_64 @@ -225,6 +221,7 @@ ac_add_options --with-app-name=${pkgname} ac_add_options --with-app-basename=${pkgname} ac_add_options --with-unsigned-addon-scopes=app,system ac_add_options --allow-addon-sideload +# export MOZILLA_OFFICIAL=1 # branding over-ride export MOZ_APP_REMOTINGNAME=${pkgname//-/} export MOZ_TELEMETRY_REPORTING= export MOZ_REQUIRE_SIGNING= @@ -278,9 +275,12 @@ END patch -p1 -i ../build-arm-libopus.patch ;; i686) - # disable LTO and use gcc toolchain (clang has issues on IA32) - # disable SIMD (SSE2 for i686) export MOZ_SOURCE_CHANGESET="DEVEDITION_${pkgver//./_}_RELEASE" + + # disable LTO as it has little benefit and uses too many resources + # don't compile with clang, use gcc toolchain (clang has issues on IA32) + # disable SIMD (SSE2 for i686) + # set correct compiler and toochain tools cat >>../mozconfig < LLVM ERROR: Function Import: link error - CFLAGS="${CFLAGS/-fno-plt/}" - CXXFLAGS="${CXXFLAGS/-fno-plt/}" - - # disable LTO (clang has issues on IA32) + # try hard to tell ld and rust not to use too much memory (no lto, no debug info, etc.) export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off" export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" @@ -558,6 +555,7 @@ END echo "Removing instrumented browser..." ./mach clobber + echo "Building optimized browser..." cat >.mozconfig ../mozconfig - < "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf + + # disable stripping in mozconfig. (insists to use llvm-strip which runs + # out of memory on libxul.so. Now 2.5 GB can be strupped to 166 MB, so we do + # that with the normal 'strip' from binutils after 'mach install' + strip "$pkgdir/usr/lib/$pkgname/libxul.so" ;; x86_64) ;; @@ -673,4 +675,11 @@ END if [[ -e $nssckbi ]]; then ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi" fi + + # export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE="$startdir/.crash-stats-api.token" # anti-feature + # if [[ -f $SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE ]]; then # anti-feature + # make -C obj uploadsymbols # anti-feature + # else # anti-feature + # cp -fvt "$startdir" obj/dist/*crashreporter-symbols-full.tar.zst # anti-feature + # fi } -- cgit v1.2.3