summaryrefslogtreecommitdiff
path: root/libre/iceweasel/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/iceweasel/PKGBUILD')
-rw-r--r--libre/iceweasel/PKGBUILD47
1 files changed, 28 insertions, 19 deletions
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 <release@mozilla.com>
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 <<END
ac_add_options --disable-linker=lld
ac_add_options --enable-linker=bfd
@@ -291,6 +291,7 @@ export CXX=g++-10
export AR=gcc-ar-10
export NM=gcc-nm-10
export RANLIB=gcc-ranlib-10
+export STRIP=strip
END
# readelf: Error: Unable to seek to 0x801db328 for section headers
@@ -307,8 +308,8 @@ END
# /build/iceweasel/src/firefox-96.0.1/modules/fdlibm/src/math_private.h:34:21:
# error: conflicting declaration ‘typedef __double_t double_t’
# /usr/include/math.h:156:21: note: previous declaration as ‘typedef long double double_t’
- echo "applying firefox-93.0_x86_math_private_20211110.patch"
- patch -p1 -i ../firefox-93.0_x86_math_private_20211110.patch
+ echo "applying firefox-99.0.1-fdlibm-double.patch"
+ patch -p1 -i "$srcdir/firefox-99.0.1-fdlibm-double.patch"
;;
x86_64)
;;
@@ -486,11 +487,7 @@ build() {
export RUSTFLAGS="-Cdebuginfo=0"
;;
i686)
- # -fno-plt with cross-LTO -> 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 - <<END
ac_add_options --enable-lto=cross
ac_add_options --enable-profile-use=cross
@@ -576,7 +574,6 @@ END
## main build ##
- echo "Building optimized browser..."
./mach build
# echo "Building symbol archive..." # anti-feature
@@ -655,8 +652,13 @@ END
;;
i686)
# libxul.so cannot find it's libraries
- install -dm 755 "${pkgdir}"/etc/ld.so.conf.d
+ install -dm 755 "${pkgdir}/etc/ld.so.conf.d"
echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf
+
+ # disable stripping in mozconfig.<arch> (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
}